温馨提示×

Ubuntu MongoDB网络配置注意事项

小樊
54
2025-06-19 15:27:00
栏目: 云计算

在Ubuntu上配置MongoDB时,有几个关键的网络配置注意事项需要考虑,以确保系统的安全性和稳定性。以下是详细的注意事项和建议:

基本网络配置

  1. IP地址和绑定
  • 编辑MongoDB配置文件 /etc/mongod.conf,设置 bindIp0.0.0.0 或特定的服务器IP地址,以允许网络访问。
  1. 防火墙设置
  • 如果使用 ufw 防火墙,允许通过27017端口的流量:
    sudo ufw allow 27017
    
  • 在云服务器环境中,配置云服务提供商的安全组规则,允许指定IP访问27017端口。
  1. DNS配置
  • 避免使用 /etc/resolv.conf 中的默认设置(127.0.0.53),可以将其修改为公共DNS服务器,如223.5.5.5。

安全性和认证

  1. 启用认证
  • mongod.conf 中设置 security.authorizationenabled,然后重启MongoDB服务:
    security:
      authorization: enabled
    
  • 使用 mongo shell创建管理员用户,并启用认证:
    mongo -u admin -p yourpassword --authenticationDatabase admin
    use admin
    db.createUser({
      user: 'admin',
      pwd: 'yourpassword',
      roles: [ { role: 'userAdminAnyDatabase', db: 'admin' } ]
    })
    
  1. 限制IP访问
  • mongod.conf 中设置 bindIp 为特定的IP地址,以限制访问范围。

高级安全措施

  1. 使用SSL/TLS加密通信
  • 生成或获取SSL证书和私钥文件,并在 mongod.conf 中配置:
    net:
      ssl:
        mode: requireSSL
        sslPEMKeyFile: /etc/ssl/mongodb.pem
        sslCAFile: /etc/ssl/ca.pem
    
  • 重启MongoDB服务以应用更改。
  1. 启用审计日志
  • mongod.conf 中添加以下内容以启用审计日志:
    systemLog:
      destination: file
      format: JSON
      path: /var/log/mongodb/audit.json
    
  • 重启MongoDB服务以应用更改。
  1. 使用iptables深度防护
  • 允许特定IP访问27017端口,并持久化iptables规则:
    sudo iptables -A INPUT -p tcp --dport 27017 -s 192.168.1.0/24 -j ACCEPT
    sudo iptables-persistent save
    

网络接口绑定

  • mongod.conf 中配置网络接口绑定,可以指定多个IP地址:
    net:
      port: 27017
      bindIp: 192.168.1.100,127.0.0.1
    
  • 重启MongoDB服务以应用更改。

通过以上配置,您可以在Ubuntu上为MongoDB设置一个坚固的安全防线,确保只有授权的用户和设备能够访问数据库。请根据实际需求调整配置,并定期审查和更新安全设置。

0