Docs 菜单
Docs 主页
/
MongoDB Manual
/ /

自管理部署的安全检查清单

本文档提供了应实施用以保护 MongoDB 安装的安全措施列表。此列表并非详尽。

  • 启用访问控制并指定身份验证机制。

    MongoDB Community 支持多种身份验证机制,客户端可利用这些机制来验证其身份:

    除上述机制外,MongoDB Atlas 和 MongoDB Enterprise 还支持以下机制:

    这些机制允许 MongoDB 集成到您的当前身份验证系统中。

提示

另请参阅:

  • 首先创建用户管理员,然后再创建其他用户。为访问系统的每个人/应用程序创建唯一的 MongoDB 用户。

  • 遵循最小权限原则。创建角色,用于定义一组用户所需的确切访问权限。然后创建用户,并仅向其分配执行操作所需的角色。用户可以是个人或客户端应用程序。

    注意

    用户可以拥有跨不同数据库的权限。如果用户需要多个数据库的权限,请创建一个具有授予适用数据库权限的角色的用户,而不是在不同数据库中多次创建用户。

  • 配置 MongoDB,对所有传入和传出连接使用 TLS/SSL。使用 TLS/SSL 对 MongoDB 部署的 mongod mongos 组件之间的通信以及所有应用程序与 MongoDB 之间的通信进行加密。

    MongoDB 使用原生 TLS / SSL OS 库:

    平台
    TLS/SSL 库
    Windows
    安全通道 (Schannel)
    Linux/BSD
    OpenSSL
    macOS
    安全传输
  • 您可以通过 WiredTiger 存储引擎的原生静态加密来加密存储层中的数据。

  • 如不使用 WiredTiger 的静态加密,则应使用文件系统、设备或物理加密(例如 dm-crypt)在每个主机上对 MongoDB 数据进行加密。还应使用文件系统权限保护 MongoDB 数据。MongoDB 数据包括数据文件、配置文件、审核日志和关键文件。

  • 在通过线路将数据传输到服务器之前,您可以使用 Queryable Encryptio(可查询加密)或 Client-Side Field Level Encryption(客户端字段级加密)对文档应用程序端内的字段进行加密。

  • 将日志收集到中央日志存储中。这些日志包含数据库身份验证尝试,包括源 IP 地址。

  • 确保 MongoDB 在受信任的网络环境中运行,并配置防火墙或安全群组来控制 MongoDB 实例的入站和出站流量。

  • 禁用直接 SSH 根访问权限。

  • 仅允许可信客户端访问 MongoDB 实例可用的网络接口和端口。

提示

另请参阅:

  • 跟踪数据库配置和数据的访问与更改。MongoDB Enterprise 包含一个系统审核工具,它可记录有关 MongoDB 实例的系统事件(包括用户操作和连接事件)。这些审核记录支持取证分析,并允许管理员进行适当控制。您可将过滤器设为仅记录特定事件,例如身份验证事件。

  • 使用专用的操作系统用户帐户运行 MongoDB 进程。确保该帐户具有访问数据的权限,但没有不必要的权限。

提示

另请参阅:

  • 《安全技术实现指南》(STIG) 提供针对美国国防部内部部署的安全准则。MongoDB Inc. 可应要求提供其 STIG。

  • 对于需要 HIPAA 或 PCI-DSS 合规性的应用程序,请参阅 MongoDB 安全参考架构,详细了解如何使用 MongoDB 的关键安全功能来构建合规的应用程序基础架构。

如果使用防病毒 (AV) 扫描程序或端点检测与响应 (EDR) 扫描程序,请将扫描程序配置为从扫描中排除 database storage pathdatabase log path

database storage path 中的数据文件已压缩。此外,如果使用加密存储引擎,这些数据文件也会被加密。扫描这些文件的 I/O 和 CPU 成本可能会严重降低性能,同时不提供任何安全优势。

如不排除 database storage pathdatabase log path 中的目录,扫描程序可能会隔离或删除重要文件。丢失或隔离的文件可能会损坏数据库并使 MongoDB 实例崩溃。

  • 定期检查 MongoDB 产品 CVE并升级您的产品。

  • 请参考 MongoDB 生命周期结束日期,并根据需要升级 MongoDB 安装。一般来说,尽量使用最新版本。

  • 确保信息安全管理系统策略和程序扩展到 MongoDB 安装,包括执行以下操作:

    • 定期在计算机上应用补丁。

    • 审核策略/程序更改,尤其网络规则的更改,防止 MongoDB 无意中暴露于互联网。

    • 检查 MongoDB 数据库用户并定期轮换。

如果怀疑自己在任何 MongoDB 产品中发现了安全漏洞,请通过 MongoDB 错误提交表报告问题。

后退

安全性