MongoDB
- MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
- MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
漏洞成因
- 未授权访问漏洞成因:Mongodb 在启动的时候提供了很多参数,如日志记录到哪个文件夹,是否开启认证等。造成未授权访问的根本原因就在于启动 Mongodb 的时候未设置 --auth 也很少会有人会给数据库添加上账号密码(默认空口令),使用默认空口令这将导致恶意攻击者无需进行账号认证就可以登陆到数据服务器。
漏洞验证
下载
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-debian92-4.0.3.tgz
解压
tar -zxvf mongodb-linux-x86_64-debian92-4.0.3.tgz
移动到
mv mongodb-linux-x86_64-debian92-4.0.3/usr/local/mongodb
创建配置文件mongo.conf
-
配置 vim mongo.conf
dbpath=/mongodb/data logpath=/mongodb/logs/mongo.log logappend=true journal=true quiet=true port=27017 fork=true #后台运行 bind_ip=0.0.0.0 #允许任何IP进行连接 auth=false #是否授权连接
添加路径
- mongodb的可执行文件在/bin目录下,所以可以将其添加到path路径中
启动服务
- 执行./mongod
验证
- mongo ip:port
安全建议
(1)在安全模式下启动MongoDB, 并且同时为需要访问数据库的用户建立相应的权限,合理的配置操作者的使用权限;
(2)使用 iptables 控制端口 27017 (默认端口) 的访问,不允许直接从互联网访问MongoDB的端口;
(3)对登录模块增加用户认证功能;
(4)对数据进行本地异地备份;