警惕 MongoDB 的未授权访问漏洞
前言
Mongodb 一直让人诟病的
未授权访问
问题, 这在了发个帖作为警醒, 大家在部署的时候要小心点.
原因
未授权访问漏洞成因:Mongodb 在启动的时候提供了很多参数,如日志记录到哪个文件夹,是否开启认证等。造成未授权访问的根本原因就在于启动Mongodb的时候未设置 --auth
也很少会有人会给数据库添加上账号密码(默认空口令,它像一张白纸,需要管理员自己去涂写账号),使用默认空口令这将导致任何人无需进行账号认证就可以登陆到数据服务器。
解决方法
- 使用
iptables
控制端口27017
(默认端口) 的访问; auth
模式下运行 mongodb;
开启 MongoDB授权
1. 添加一个管理员用户,
下面代码在 Mongo Shell 运行:
> use admin
> db.createUser(
{
user: "root",
pwd: "YOUR PASSWORD",
roles:
[
{
role: "userAdminAnyDatabase",
db: "admin"
}
]
}
)
更多选项见这: MongoDB – Add Users and Authenticate .
2. 授权模式下运行 mongod
1). 先停止服务
$ sudo service mongod stop
2). 编辑 /etc/mongo.conf
文件, 找到 #auth=true
, 去掉注释.
3). 重新运行服务
$ sudo service mongod start
扩展阅读:
- Mongodb未授权访问漏洞全网探测报告
- 官方安全文档
- 乌云上一堆类似的 壹心理MongoDB数据库未授权访问(涉及380W用户信息)
- 另附上最近关于安全方面的新闻 索尼被袭击后的 24 天——记一场惊心动魄的黑客大战
本作品采用《CC 协议》,转载必须注明作者和本文链接
@史沟飞 谢谢啦, 已修改.
收藏