修复mongodb未授权访问漏洞(漏洞编号:009711D8)

漏洞描述: MongoDB是用C++编写的开源文档数据库。在刚安装完毕的时候MongoDB都默认有一个 admin数据库,此时admin数据库是空的,没有记录权限相关的信息!当admin.system.users一个 用户都没有时,即使mongodb启动时添加了–auth参数,如果没有在admin数据库中添加用户 ,此时不进行任何认证还是可以做任何操作(不管是否是以–auth 参数启动),直到在 admin.system.users中添加了一个用户。

解决方法:
一、查看admin.system.users是否有用户(以下操作需要关闭–auth参数启动)

//使用admin用户
>use admin
//查看users用户表
>db.system.users.find();
//如果users没数据则新增,有数据则不管跳过这一步
>db.createUser({ user: "用户名", pwd: "密码", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })

二、重新启动mongodb,在启动命令后加上--auth

 ./mongod --config /usr/local/mongodb/etc/mongodb.conf --auth

你可能感兴趣的:(mongodb,数据库)