我们都知道 MongoDB 是一个非常易用的 NoSQL 数据库,但是其安全性差,经常被黑客攻击是其薄弱的一个环境。

本文讲述了我在实际使用中的一些经验,供你参考。

1 自建 MongoDB 服务

不管你是在本地的电脑上运行,还是跑在云服务器上都属于这个范畴。

1.1 升级

老版本的 MongoDB 可能存在较多的漏洞,请升级到最新稳定版的数据库。这里给出社区版最新的下载链接

1.2 修改端口

修改默认端口27017为其他端口,比如 9876,这样可以减少被扫到的可能性。

mongod (省略其他) --port 8484

1.3 添加用户

根据不同的需求添加账户,这样即使被扫到也无法登录。

权限分配:

  • DBA all。
  • 开发人员 可读,可写,不可删。
  • 运维人员 可读。
mongod (省略其他) --auth

1.4 限制访问

限制外部IP访问,只绑定本地 127.0.0.1 和访问人员的 IP。

mongod (省略其他) --bind_ip 127.0.0.1

2 云数据库

厂商提供安全策略,通常比我们自己配置要安全。

它们会经常备份,即使被黑也能恢复最近版本,尽可能的减少损失。

比如这个阿里云的 MongoDB