MongoDB在Ubuntu上如何安全配置

622
2025/4/5 21:32:57
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Ubuntu上安全配置MongoDB涉及多个步骤,包括启用认证、限制网络访问、加密数据传输、创建管理员账户等。以下是详细的配置指南:

1. 启用认证

在MongoDB配置文件 /etc/mongod.conf 中添加或修改以下内容以启用认证:

security:
  authorization: enabled

然后重启MongoDB服务:

sudo systemctl restart mongod

2. 限制网络访问

编辑MongoDB配置文件 /etc/mongod.conf,在 net 部分设置 bindIp 参数来限制允许连接的IP地址。例如,只允许本地连接:

net:
  bindIp: 127.0.0.1

或者允许特定的IP地址连接:

net:
  bindIp: 192.168.1.100

保存并关闭配置文件后,重启MongoDB服务以使更改生效:

sudo systemctl restart mongod

3. 使用SSL/TLS加密通信

生成或获取有效的SSL证书和私钥文件,然后在 mongod.conf 配置文件中添加以下参数:

net:
  ssl:
    mode: requireSSL
    PEMKeyFile: /path/to/your/ssl.pem
    CAFile: /path/to/your/ca.pem
    sslAllowInvalidCertificates: false

重新启动MongoDB服务使配置生效:

sudo systemctl restart mongod

4. 创建管理员用户

切换到MongoDB shell:

mongo

切换到 admin 数据库:

use admin

创建一个管理员用户并授予其root角色:

db.createUser({
  user: "yourAdminUsername",
  pwd: "yourAdminPassword",
  roles: [ { role: "root", db: "admin" } ]
})

退出MongoDB shell:

exit()

5. 启用防火墙

使用 iptablesufw 限制允许哪些实体连接MongoDB服务器。例如,只允许本地连接:

sudo iptables -A INPUT -p tcp --dport 27017 -s 127.0.0.1 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 27017 -j DROP

或者使用 ufw

sudo ufw allow 27017/tcp
sudo ufw disable

6. 定期备份数据

定期备份MongoDB的数据以确保备份数据的完整性和可恢复性。可以使用 mongodump 命令进行备份:

mongodump --out /path/to/backup

7. 监控和日志

启用审计日志记录所有用户的操作,定期审查和分析审计日志以检测异常行为。在 mongod.conf 中配置审计日志:

systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

8. 使用Kerberos(可选)

对于企业级应用,可以考虑使用Kerberos进行认证,以提供更高的安全性。

通过以上步骤,您可以显著提高MongoDB在Ubuntu上的安全性。请根据您的具体需求和环境调整配置。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: ubuntu如何查看usb信息