48MongoDB安全检查表


本文介绍一些应实施的安全措施,以保护您的MongoDB安全。

1.启用访问控制和强制验证

启用访问控制并指定认证机制。可以使用默认的MongoDB身份验证机制或现有的外部框架。 认证要求所有客户端和服务器在连接到系统之前提供有效的凭据。 在群集部署中,为每个MongoDB服务器启用身份验证。

2.配置基于角色的访问控制

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

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

3.加密通信

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

4.加密和保护数据

从MongoDB Enterprise 3.2开始,WiredTiger存储引擎的本机加密在Rest中可以配置为加密存储层中的数据。

如果您没有使用WiredTiger的加密功能,则应使用文件系统,设备或物理加密在每台主机上对MongoDB数据进行加密。 使用文件系统权限保护MongoDB数据。MongoDB数据包括数据文件,配置文件,审核日志和密钥文件。

5.限制网络曝光

确保MongoDB在受信任的网络环境中运行,并限制MongoDB实例监听传入连接的接口。 只允许受信任的客户端访问MongoDB实例可用的网络接口和端口。

6.审计系统活动

跟踪数据库配置和数据的访问和更改。 MongoDB Enterprise包括一个系统审核工具,可以在MongoDB实例上记录系统事件(例如用户操作,连接事件)。 这些审核记录允许进行法证分析,并允许管理员验证正确的控制。

7.使用专用用户运行MongoDB

使用专用的操作系统用户帐户运行MongoDB进程。 确保帐户具有访问数据但没有不必要权限的权限而导致的安全问题。

8.使用安全配置选项运行MongoDB

MongoDB支持执行某些服务器端操作的JavaScript代码:mapReducegroup$where。 如果不使用这些操作,请使用命令行上的--noscripting选项禁用服务器端脚本。

在生产部署中仅使用MongoDB线路协议。 不启用以下功能,所有这些都启用了Web服务器接口:net.http.enablednet.http.JSONPEnablednet.http.RESTInterfaceEnabled。保持这些禁用,除非向后兼容性要求。

注:自 MongoDB3.2 版本以来已弃用:MongoDB的HTTP接口

保持输入验证有效。 MongoDB默认通过wireObjectCheck设置启用输入验证。 这确保了mongod实例存储的所有文档都是有效的BSON。

9.请求安全技术实施指南(如适用)

“安全技术实施指南”(STIG)载有美国国防部内部署的安全准则。 MongoDB Inc.根据要求提供其STIG,用于需要的情况。 请索取副本以获取更多信息。

 关注右侧公众号,随时随地查看教程 MongoDB教程目录 
转载自:https://www.yiibai.com/mongodb/security-checklist.html

You may also like...