近期我校发现多个MongoDB或Redis数据库未授权访问漏洞的实例,涉及多台主机和服务器,已经根据学校网络信息安全漏洞处置流
程进行整改。据安全机构对外发布的安全事件案例分析和安全报告统计,目前多数勒索病毒均利用未授权访问等通用漏洞进行植入
、勒索,包括Redis、MongoDB等数据库的未授权访问漏洞,而也未授权访问漏洞本身也存在明显的数据泄漏风险。因此,这里对“
MongoDB数据库和Redis服务器未授权访问漏洞”进行如下安全提示,请各位师生在日常使用MongoDB或Redis数据库时注意进行相应
的安全设置,减少网络安全隐患。以下安全加固建议,请结合自身部署情况自行选择有效的方式。
1、Redis数据库未授权访问漏洞
1)漏洞描述
Redis因配置不当可以未授权访问。攻击者无需认证访问到内部数据,可导致敏感信息泄露,也可以恶意执行flushall来清空所有
数据。如果Redis以root身份运行,可以给root账户写入SSH公钥文件,直接通过SSH登录受害服务器。
2)漏洞加固
可以配置redis.conf文件(在安装目录下):
默认只对本地开放:bind 127.0.0.1
添加登陆密码:requirepass www.secpulse.com
在需要对外开放的时候修改默认端口:port 2333
最后还可以配合iptables或主机防火墙限制开放。
2、MongoDB数据库未授权访问漏洞
1)漏洞描述
开启MongoDB服务时不添加任何参数时,默认是没有权限验证的,而且可以远程访问数据库,登录的用户可以通过默认端口无需密码对数据库进行增、删、改、查等任意高危操作。
2)漏洞加固
为MongoDB添加认证:
(1)MongoDB启动时添加–auth参数
(2)给MongoDB添加用户:
use admin #使用admin库
db.addUser(“root”, “123456”) #添加用户名root密码123456的用户
db.auth(“root”,”123456″) #验证下是否添加成功,返回1说明成功
禁用HTTP和REST端口:
MongoDB自身带有一个HTTP服务和并支持REST接口。在2.6以后这些接口默认是关闭的。mongoDB默认会使用默认端口监听web服务,一般不需要通过web方式进行远程管理,建议禁用。修改配置文件或在启动的时候选择–nohttpinterface 参数nohttpinterface=false
:限制绑定IP:
启动时加入参数
–bind_ip 127.0.0.1
或在/etc/mongodb.conf文件中添加以下内容:
bind_ip = 127.0.0.1