在Ubuntu上为MongoDB设置安全性的方法如下:
启用鉴权和访问控制
-
修改配置文件:编辑
/etc/mongod.conf
文件,添加或修改以下配置:security: authorization: enabled
这将启用基于角色的访问控制(RBAC)。
-
创建管理员账户:
- 连接到MongoDB Shell:
mongo
- 切换到
admin
数据库:use admin
- 创建管理员账户并授予权限:
db.createUser({ user: "yourAdminUsername", pwd: "yourAdminPassword", roles: [ { role: "root", db: "admin" } ] })
- 退出MongoDB Shell:
exit()
- 连接到MongoDB Shell:
-
重启MongoDB服务:
sudo systemctl restart mongod
使配置生效。
配置TLS/SSL加密
-
生成或获取有效的SSL证书和私钥文件。
-
在
/etc/mongod.conf
配置文件中添加以下参数:net: ssl: mode: requireSSL PEMKeyFile: /path/to/your/ssl.pem CAFile: /path/to/your/ca.pem
-
重新启动MongoDB服务使配置生效:
sudo systemctl restart mongod
限制远程访问
-
在
/etc/mongod.conf
配置文件中添加bindIp
参数,限制允许连接的IP地址:net: bindIp: 127.0.0.1, your_server_ip
这将限制MongoDB只接受来自特定IP地址的连接。
启用审计日志
-
在
/etc/mongod.conf
配置文件中添加以下参数,启用审计日志记录:systemLog: destination: file path: /var/log/mongodb/mongod.log logAppend: true
审计日志可以帮助追踪数据库操作。
定期备份数据
- 使用
mongodump
命令进行数据备份,确保备份数据的完整性和可恢复性。
安全更新和补丁管理
- 定期检查MongoDB的安全更新和补丁,及时应用最新的安全补丁以修复已知漏洞。
通过以上步骤,可以显著提高MongoDB在Ubuntu上的安全性,保护数据库中的数据不被未经授权的用户访问或修改。