Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs 菜单
Docs 主页
/ /

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

本页列出了保护MongoDB安装的安全措施。该列表并非详尽。

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

    MongoDB Community支持以下 身份验证机制:

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

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

提示

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

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

    注意

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

  • 配置MongoDB以对所有传入和传出连接使用 TLS/SSL,包括mongodmongos 组件之间以及所有应用程序与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。

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

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

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

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

后退

安全性

获得技能徽章

免费掌握“网络安全:自管理”!

了解详情