[mongo] [security] 9.1 安全基本及安全措施
参考文档:
MongoDB provides various features, such as authentication, access control, encryption, to secure your MongoDB deployments. Some key Security features include:
Authentication
SCRAM
x.509
Role-Based Access Control
Enable Access Control
Manage Users and Roles
TLS/SSL (Transport Encryption)
Configure mongod and mongos for TLS/SSL
TLS/SSL Configuration for Clients
Kerberos Authentication
LDAP Proxy Authentication
Encryption at Rest
Auditing
Security Checklist
MongoDB also provides the Security Checklist for a list of recommended actions to protect a MongoDB deployment.
安全措施
本文档提供了应实施的安全措施列表,以保护MongoDB安装。该列表并非详尽无遗。
实施前检查清单/注意事项
➤启用访问控制并强制执行身份验证
启用访问控制并指定身份验证机制。您可以使用MongoDB的SCRAM或x.509身份验证机制,也可以与现有的Kerberos / LDAP设施集成。身份验证要求所有客户端和服务器在连接到系统之前都必须提供有效的凭据。
请参阅身份验证和 启用访问控制。
➤配置基于角色的访问控制
首先创建一个用户管理员,然后创建更多的用户。为访问系统的每个使用者/应用程序创建一个唯一的MongoDB用户。
遵循最小权限原则。创建角色,以定义一组用户所需的准确访问权限。创建用户,并仅为其分配执行操作所需的角色。用户可以是个人或客户应用程序。
建议:
用户可以在跨数据库之间拥有权限。如果用户需要在多个数据库上的权限,请使用授予相应数据库权限的角色创建一个用户,而不是在不同的数据库中多次创建该用户。
请参阅基于角色的访问控制(Role-Based Access Control)和 管理用户和角色。
➤加密通信(TLS / SSL)
将MongoDB配置为对所有传入和传出连接使用TLS/SSL。使用TLS/SSL加密MongoDB部署的mongod和mongos组件之间以及所有应用程序和MongoDB之间的通信。
从版本4.0开始,MongoDB使用本机TLS/SSL OS库:
注意
从版本4.0开始,MongoDB在可用TLS 1.1+的系统上禁用对TLS 1.0加密的支持。有关更多详细信息,请参阅禁用TLS 1.0。
请参阅为TLS / SSL配置mongod和mongos。
➤加密和保护数据
将日志收集到日志存储区。这些日志包含DB身份验证尝试,包括源IP地址。
➤限制网络泄露
确保MongoDB在受信任的网络环境中运行,并配置防火墙或安全组来控制MongoDB实例的入站和出站流量。
只允许受信任的客户端访问MongoDB实例所在的网络接口和端口。例如,使用IP白名单允许从受信任的IP地址进行访问(请参阅)
注意
从MongoDB 3.6开始,MongoDB二进制文件、mongod和mongos默认绑定到localhost。从MongoDB版本2.6到3.4,默认情况下,只有来自官方MongoDB RPM(Red Hat、CentOS、Fedora Linux和衍生工具)和DEB(Debian、Ubuntu和衍生工具)包的二进制文件才会绑定到localhost。要了解有关此更改的更多信息,请参阅 Localhost Binding Compatibility Changes。
扩展:
Network and Configuration Hardening
net.bindIp configuration setting
security.clusterIpSourceWhitelist configuration setting
authenticationRestrictions to specify per-user IP whitelist.
➤审核系统活动
跟踪对数据库配置和数据的访问和更改。 MongoDB Enterprise 包含系统审核工具,该工具可以记录MongoDB实例上的系统事件(例如,用户操作,连接事件)。这些审核记录可以进行检测分析,并允许管理员验证适当的控制措施。可设置过滤器以记录特定事件,例如身份验证。
请参阅 Auditing 和 Configure Auditing。
➤用专用用户运行mongodb
使用专用的操作系统用户帐户运行MongoDB进程。确保该帐户具有访问数据的权限,但没有不必要的权限。
有关运行MongoDB的更多信息,请参阅Install MongoDB 。
➤使用安全配置选项运行
扩展
Network and Configuration Hardening
➤《安全实施指南》(如果适用)
➤考虑安全标准合规性
定期/正在进行的生产检查
确保您的信息安全管理系统策略和过程扩展到MongoDB安装,包括执行以下操作:
定期将修补程序应用于计算机并查看准则。
查看策略/过程更改,尤其是对网络规则的更改,以防止MongoDB意外暴露于Internet。
查看MongoDB数据库用户并定期轮换他们。
MongoDB 云数据库 GaussDB(for Mongo) 数据库
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。