温馨提示×

Ubuntu上MongoDB安全吗

小樊
39
2025-12-16 17:34:26
栏目: 云计算

Ubuntu上MongoDB的安全性取决于配置与运维。自MongoDB 3.6起,官方DEB/RPM包默认仅绑定localhost,降低了误暴露风险;但默认并不等于“开箱即安全”,生产环境仍需显式开启认证基于角色的访问控制(RBAC)网络限制加密等措施。MongoDB官方提供了完整的安全功能与检查清单,涵盖SCRAM/x.509认证、TLS/SSL传输加密、企业版的Kerberos/LDAP静态加密审计等能力。

常见风险与误区

  • bindIp设为0.0.0.0并暴露在公网,且未启用认证,历史上曾导致大规模数据被删除并留下勒索信息的事件(2016–2017年)。
  • 使用过旧版本或未打补丁,存在已知漏洞被利用的风险。
  • 未限制来源IP,未启用防火墙,导致端口27017对全网开放。
  • 使用弱口令或共享账号,未实施最小权限RBAC
  • 未启用TLS/SSL,导致凭据与数据在网络中被窃听。
    以上风险均可通过正确的配置与运维实践有效降低。

在Ubuntu上的安全加固清单

  • 启用认证与RBAC
    • 在**/etc/mongod.conf**中开启:security.authorization: enabled;
    • 使用mongosh连接后,于admin库创建管理员与业务用户,遵循最小权限原则分配角色。
  • 限制网络访问
    • 仅绑定必要地址:net.bindIp 设置为127.0.0.1(本地)或指定的内网IP
    • 使用UFW/iptables限制27017端口仅对受信网段开放。
  • 加密通信
    • 配置TLS/SSL(mongod.conf 中 net.ssl.mode: requireSSL,配置PEMKeyFile/CAFile),避免明文传输。
  • 企业能力(可选)
    • 集成LDAP/Kerberos,启用审计静态加密(企业版)。
  • 备份与监控
    • 建立定期备份(如 mongodump 或云备份),并使用mongostat/mongotop或第三方监控进行健康检查与告警。
      以上做法与官方安全清单一致,可显著提升安全性。

快速自检命令

  • 查看是否仅本地监听:ss -ltnp | grep 27017(应仅见127.0.0.1:27017或内网IP)。
  • 检查防火墙状态:sudo ufw status(确认仅允许受控来源访问27017)。
  • 验证认证是否生效:
    • 无凭据连接应被拒绝:mongosh mongodb://:27017;
    • 使用管理员凭据连接:mongosh -u admin -p password --authenticationDatabase admin
    • 在 shell 中执行:db.runCommand({ connectionStatus: 1 }) 查看authenticatedUserRoles等字段。
  • 检查TLS是否启用:mongosh --tls --host --port 27017(能连上且证书校验通过说明TLS生效)。

0