MongoDB未授权访问漏洞及加固 - Go语言中文社区

MongoDB未授权访问漏洞及加固


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)对数据进行本地异地备份;

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/wst0717/article/details/93479243
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢