文档菜单
文档首页
/
MongoDB 手册
/ /

自托管部署安全检查表

本文档提供了您应实施的各项安全措施列表,以保护您的 MongoDB 安装。此列表并非详尽无遗。

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

    MongoDB社区支持多种身份验证机制,客户端可以使用这些机制来验证其身份

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

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

提示

另请参阅

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

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

    注意

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

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

    MongoDB使用本机的TLS/SSL OS库

    平台
    TLS/SSL库
    Windows
    安全通道(Schannel)
    Linux/BSD
    OpenSSL
    macOS
    安全传输
  • 您可以使用WiredTiger存储引擎的本地静态加密在存储层加密数据。

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

  • 您可以使用可查询加密客户端字段级加密在将数据传输到服务器之前在应用程序端加密文档中的字段。

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

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

  • 禁用直接SSH root访问。

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

提示

另请参阅

  • 跟踪数据库配置和数据访问和变更。MongoDB Enterprise 包含一个系统审计功能,可以记录MongoDB实例上的系统事件(包括用户操作和连接事件)。这些审计记录允许进行取证分析,并允许管理员执行适当的控制。您可以设置过滤器以仅记录特定事件,例如认证事件。

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

提示

另请参阅

  • 安全技术实施指南(STIG)包含美国国防部部署中的安全指南。MongoDB Inc.在请求后提供其STIG。

  • 对于需要符合HIPAA或PCI-DSS标准的应用程序,请参阅MongoDB安全参考架构,了解如何使用MongoDB的关键安全功能构建符合标准的应用程序基础设施。

如果您使用防病毒(AV)扫描仪或终端检测与响应(EDR)扫描仪,请配置您的扫描仪以排除扫描数据库存储路径数据库日志路径

数据库存储路径中的数据文件是压缩的。此外,如果您使用加密存储引擎,数据文件也是加密的。扫描这些文件可能显著降低I/O和CPU成本,但不会提供任何安全优势,并可能降低性能。

如果您不排除数据库存储路径和数据库日志路径中的目录,扫描仪可能会隔离或删除重要文件。丢失或隔离的文件可能会损坏您的数据库并导致MongoDB实例崩溃。

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

  • 咨询MongoDB 生命周期结束日期并根据需要升级您的 MongoDB 安装。一般来说,尽量保持在最新版本。

  • 确保您的信息安全管理系统政策和程序扩展到您的 MongoDB 安装,包括以下内容

    • 定期为您的机器打补丁。

    • 审查政策/程序变更,特别是对网络规则的变更,以防止意外将 MongoDB 暴露给互联网。

    • 审查 MongoDB 数据库用户并定期更换。

如果您怀疑您已识别出任何 MongoDB 产品中的安全漏洞,请通过 MongoDB 漏洞提交表单 报告问题。

返回

安全