温馨提示×

MongoDB在CentOS上的安全配置有哪些

小樊
46
2025-04-30 19:34:23
栏目: 云计算

在CentOS上配置MongoDB的安全措施主要包括以下几个方面:

  1. 启用账户认证

    • 编辑MongoDB配置文件 /etc/mongod.conf,设置 security.authorizationenabled
    • 示例配置:
      security: authorization: enabled 
    • 重启MongoDB服务以应用配置变更:
      sudo systemctl restart mongod 
  2. 创建和管理用户

    • 使用MongoDB shell创建用户并分配角色。例如,创建一个名为 readonlyUser 的用户,该用户具有只读权限:
      use yourDatabase; db.createUser({ user: "readonlyUser", pwd: "readonlyPass", roles: [ { role: "read", db: "yourDatabase" } ] }); 
  3. 修改默认端口

    • 编辑 /etc/mongod.conf 文件,修改 net.port 为所需的端口号(例如27017)。
    • 示例配置:
      net: port: 27017 
  4. 配置网络访问控制

    • 通过 bindIp 选项限制MongoDB服务器只监听特定IP地址。例如,只允许本机访问:
      net: bindIp: 127.0.0.1 
  5. 启用TLS/SSL

    • 配置MongoDB使用TLS/SSL加密通信,以保障数据传输的安全性。
    • 生成SSL证书和密钥文件,并在 mongod.conf 中添加以下配置:
      net: ssl: mode: requireSSL PEMKeyFile: /path/to/mongodb-cert.pem 
  6. 定期更新和补丁管理

    • 定期更新MongoDB和操作系统,以修复已知漏洞。
  7. 使用防火墙限制访问

    • 配置防火墙规则,仅允许特定IP地址访问MongoDB服务。例如,使用 iptables
      sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT sudo service iptables save 
  8. 启用审计日志(可选):

    • 记录所有用户的操作,以便在出现安全事件时进行追踪和分析。
    • mongod.conf 中启用审计日志:
      security: auditLog: destination: file format: JSON path: /var/log/mongodb/audit.json 
  9. 限制远程访问

    • 仅允许特定IP地址或主机名连接到数据库,通过配置 bindIp 和防火墙实现。

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

0