提高 MongoDB 安全性并让黑客远离这 10 个强大的技巧
已发表: 2020-06-08
全球多家企业使用 MongoDB Security 进行数据存储项目。 尽管此数据库默认具有一些安全配置,但错误配置数据库的可能性很高,从而导致严重缺陷。 该数据库允许用户在没有身份验证的情况下在其中实施更改。 作为用户,您通常启用系统中提供的所有安全功能。 但是,如果您不小心,一个错误的举动可能会导致数据库安全灾难。
另请阅读 – 如何在 2020 年为您的企业创建网站
为了提高安全性并避免缺陷,IT 经理和经验丰富的数据库管理员建议以下 10 个强大的技巧来保护您的 MongoDB 数据库以确保其安全。
1. 防止公共访问 – MongoDB 安全
启用身份验证功能以保护您的 MongoDB 免受公共访问。 您需要编辑数据库上的配置文件以启用此功能。 启用后,您需要添加用户名和密码。 注意,启用身份验证; 数据库可以验证用户的身份。 黑客通常针对没有身份验证的 MongoDB 系统。 启用密码的系统将使他们远离。
2. 密码必须强且不易破解
在 MongoDB 数据库上启用身份验证功能后,不能保证 100% 免受网络攻击。 请注意,黑客已经进化并变得更聪明。 您需要更进一步,为他们难以破解的数据库身份验证过程创建一个强密码。 不幸的是,MongoDB 缺少一个自动锁定工具来阻止多次失败或无效的身份验证尝试,因此使用一个好的密码生成器来获取一个健壮、强密码,以防止黑客访问数据库。
3.限制外部访问
限制对 MongoDB 数据库的外部访问是谨慎的做法。 尝试在 VPC 环境中托管任何应用程序。 如果您不熟悉 VPC 环境,请咨询 RemoteDBA 等知名公司的可靠数据库管理专家,以准确了解 AWS VPC 的设置。 他们将为您提供适当的指导并在此过程中为您提供帮助。 另一方面,如果您不想限制外部访问,请使用 IP 地址保护数据库。 要进行设置,您需要访问 MongoDB 配置文件并输入您的 IP 地址。 如果您想使用多个 IP 地址,请用逗号分隔它们。
4.部署安全组和防火墙
使用防火墙阻止不需要的条目。 它们限制对 MongoDB 数据库的访问。 列出 IP 地址以保护服务器免受黑客攻击。 如果您使用 AWS,请使用安全组限制数据库上的端口。 它充当保护 MongoDB 数据库的防火墙。 黑客将无法访问服务器。
5. 使用不同的端口运行 MongoDB
大多数黑客会搜索标准的 MongoDB 端口。 这意味着您应该更改默认端口以晒太阳数据库。 但是,IT 和数据库管理专家表示,它可能无法 100% 保护免受黑客攻击。 但是,您可以降低它的风险。 例如,27017 端口用于 MongoDB 服务器,因此请更改配置以使用不同的端口。

6.基于角色的访问控制
MongoDB 允许基于角色的访问控制。 这意味着具有单个或多个角色的用户有权访问数据库的操作和资源。 MongoDB 默认不给你访问控制; 您需要启用此功能。 可以通过向一个用户提供管理角色来允许数据库进行身份验证来完成。 如果您让他们访问许多用户,黑客侵入您的系统的风险就会增加。 因此,选择基于角色的数据库访问权限可确保数据库始终免受黑客攻击。
7.为副本集添加关键文件
当您指定密钥文件时,当涉及到副本集时,您可以在 MongoDB 上启用通信。 当您允许副本集使用此密钥文件时,您可以在数据库中隐式启用身份验证。 您还应该托管可以加入此副本集的文件。 一旦启用了这个关键文件,它就会加密这个副本集的身份验证过程。 这可以保护数据库免受黑客攻击。
8.禁用MongoDB上的状态页面
您会看到在 28017 端口上运行的数据库的 HTTP 状态页面。有经验的 DBA 不建议将此接口用于任何生产,因此您应该在数据库的配置设置中使用“nohttpinterface”禁用它。
9.启用MongoDB加密
在这里,您需要注意:
- 在传输过程中加密数据
- 休息时加密数据
在第一种情况下,SSL 和 TLS 可用于在应用程序和数据库之间传输数据。 它们是最流行的数据保护协议。 MongoDB 支持 TLS 和 SSL 来加密完整的网络流量。 这确保了网络流量只能由目标用户读取。 如果您不启用 MongoDB 的服务器和客户端之间的加密,它将容易受到黑客的网络威胁。
在第二种情况下,MongoDB Security 3.2 Enterprise 为文件级别的存储提供加密。 数据库的所有这些文件都在存储级别使用 TDE 或透明数据加密进行加密。 为了访问此数据,第三方用户应提供解密密钥以解码数据。 这可以更好地提高数据库的安全性,使其免受网络黑客的攻击。
10. 定期审计和备份
确保定期为 MongoDB 安全性安排备份。 如果黑客从数据库集合中删除了所有信息,拥有备份数据将消除紧张局势。 确保您已准备好使用最新的备份。 同样,对您的数据库进行定期审计。 有了它们,您可以识别安全漏洞并更快地采取预防措施。
因此,在为您的组织使用 MongoDB 安全性时,请确保牢记上述 10 条安全提示,以 24/7 全天候保护您的数据库,并阻止黑客或其他网络攻击者。