MongoDB的安全概要

维护一个安全的MongoDB部署需要管理员实施控制,以确保用户和应用程序只能访问他们所需要的数据。MongoDB中提供的功能,允许管理员实现为MongoDB部署提供这些控制和限制。

如果你已经熟悉了MongoDB的安全性和安全实践,考虑安全检查清单中的推荐措施,以保护MongoDB的部署。

一、认证
接触到系统之前,所有的客户端应该认证自己的MongoDB。这将确保没有客户端可以访问存储在MongoDB中的没有被明确允许的数据。

MongoDB中包括两种机制:基于口令的验证和响应协议以及X.509证书。此外MongoDB中包含多个外部认证机制与现有的身份验证基础架构集成的支持。

当启用身份验证的MongoDB,MongoDB的所有连接将需要进行身份验证, 包括在部署的所有客户端和所有其他的MongoDB实例。请参阅身份验证的更多信息。

二、基于角色的访问控制
客户应该只能够执行履行其批准功能所需的操作。这是“最少重要特权,” 并限制一个应用程序破坏的潜在风险。

MongoDB的基于角色的访问控制系统,允许管理员控制所有接入,并确保所有授权访问狭义适用的可能。

MongoDB的权限包括一个动作,或用户可以执行的一组操作,和一个资源,或上下文中,用户可以执行该操作。用多个权限的组合来创建一个角色。并且用户可以有描述他们的访问一个或多个角色。MongoDB中提供了几个内置的角色和用户可以构建针对客户的实际需求的特定角色。

三、审核
审计为管理员提供了验证实施的安全策略控制活动系统的能力。保留审计信息确保管理员有足够的信息来进行审查认证,并遵守相关规则,并要求审计数据的策略。

四、加密

传输加密
您可以使用SSL来加密所有的MongoDB的网络传输。SSL确保MongoDB的网络流量只可读由预定的客户端。

静态加密
MongoDB有一个用Gazzang建立的合作关系,加密和保护范围内MongoDB的敏感数据。该解决方案对数据进行实时加密,Gazzang提供高级密钥管理确保只有授权的进程可以访问这些数据。该Gazzang软件可确保加密密钥保持安全,并确保符合标准,包括HIPAA,PCI-DSS,和FERPA。

五、强化部署与环境
除了在MongoDB中实施控制,你也应该围绕MongoDB控制,以降低整个MongoDB系统的风险。这是深层防御策略。

强MongoDB的扩展最小特权的思想,审计,和MongoDB的外部加密。降低风险包括:配置网络规则,以确保只有受信任的主机才能访问MongoDB,而MongoDB的进程只能访问操作所需的文件系统的部分。

京ICP备14008139号-1