1. 云栖社区>
  2. >
  3. 正文

linux中Mongodb未授权访问漏洞修改方法

作者:用户 来源:互联网 时间:2016-01-27 15:58:52

数据库权限mongodb参数端口用户

linux中Mongodb未授权访问漏洞修改方法 - 摘要: 本文讲的是linux中Mongodb未授权访问漏洞修改方法, 近日安全团队经检测发现部分阿里云用户存在MongoDB数据库未授权访问漏洞,漏洞危害严重,易导致数据库泄密。为保证您的业务和应用的安全,请广大用户尽快修复漏洞。 具体事宜如下所示: 1、漏洞危害 开启MongoDB服务时不添加任何

近日安全团队经检测发现部分阿里云用户存在MongoDB数据库未授权访问漏洞,漏洞危害严重,易导致数据库泄密。为保证您的业务和应用的安全,请广大用户尽快修复漏洞。
具体事宜如下所示:

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

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数据库 , 权限 , mongodb , 参数 , 端口 用户 mongodb未授权漏洞、mongodb 未授权访问、redis未授权访问漏洞、rsync未授权访问漏洞、未授权访问漏洞,以便于您获取更多的相关知识。