您的位置:首页 > 数据库 > Mongodb

MongoDB数据库未授权访问漏洞

2015-07-05 12:52 661 查看
1、漏洞危害

开启MongoDB服务时不添加任何参数时,默认是没有权限验证的,登录的用户可以通过默认端口无需密码对数据库任意操作而且可以远程访问数据库!

2、漏洞成因

   在刚安装完毕的时候MongoDB都默认有一个admin数据库,此时admin数据库是空的,没有记录权限相关的信息!当admin.system.users一个用户都没有时,即使mongod启动时添加了--auth参数,如果没有在admin数据库中添加用户,此时不进行任何认证还是可以做任何操作(不管是否是以--auth 参数启动),直到在admin.system.users中添加了一个用户。加固的核心是只有在admin.system.users中添加用户之后,mongodb的认证,授权服务才能生效! 

3、漏洞加固方案(仅供参考)

方法一:

可以修改端口和指定访问ip

 

具体根据实际情况来设定,也可以直接在服务器防火墙上做。

方法二:

在admin.system.users中添加用户,启动认证。

 

#在admin 数据库中创建用户,如 supper 密码为 sup(此处均为举例说明,请勿使用此账号密码)

[mongodb@rac3 bin]$ ./mongo 127.0.0.1:27017

MongoDB shell version: 2.0.1

connecting to: 127.0.0.1:27017/test

> use admin

switched to db admin

>

> db.addUser("supper", "sup")  

{ "n" : 0, "connectionId" : 4, "err" : null, "ok" : 1 }

{

        "user" : "supper",

        "readOnly" : false,

        "pwd" : "51a481f72b8b8218df9fee50b3737c44",

        "_id" : ObjectId("4f2bc0d357a309043c6947a4")

}

> db.auth("supper","sup")

1

> exit

bye
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: