用MongoDB实现零信任安全的工具

124 阅读5分钟

用MongoDB实现零信任安全的工具

保护IT环境免受未经授权的访问的做法曾经以周界安全为中心--保护周界安全但允许周界内不受限制的访问的策略。然而,随着用户变得越来越移动,IT资产变得越来越分散,网络周边的概念已经过时了。这一策略现在已被零信任的概念所取代。

在一个零信任的环境中,周界被认为已经被破坏。没有受信任的用户,也没有用户或设备仅仅因为其物理或网络位置而获得信任。每个用户、设备和连接都必须被不断地验证和审计。

MongoDB提供了一些工具和功能,将我们的产品整合到零信任环境中,包括:

  • 默认的安全性

  • 多种形式的验证

  • TLS和SSL加密

  • X.509安全证书

  • 基于角色的访问控制(RBAC)

  • 数据库认证日志

  • 对静止的、飞行中的和使用中的数据进行加密

默认情况下的安全性

MongoDB Atlas集群在首次启动时不允许与互联网有任何连接。每个专用的MongoDB Atlas集群都部署在一个独特的虚拟私有云(VPC)中,配置为禁止入站访问。(免费和共享集群不支持VPC。)访问这些集群的唯一方法是通过MongoDB Atlas界面。

用户可以配置IP访问列表,允许某些地址尝试验证数据库。如果不被列入这样的列表,应用服务器就无法访问数据库。甚至设置集群的人也需要把他们的IP地址添加到访问列表中。

认证

客户有几个选项可以让用户对数据库进行自我认证,包括用户名和密码、LDAP代理认证和Kerberos认证。

所有形式的MongoDB都支持传输层安全(TLS)和SCRAM认证。它们在默认情况下是打开的,不能被禁用。从客户到MongoDB Atlas的流量在传输过程中进行认证和加密,客户内部管理的MongoDB节点之间的流量也在传输过程中使用TLS进行认证和加密。

对于无密码认证,MongoDB提供了两种不同的选项来支持X.509证书的使用。第一个选项,称为 "简单",自动生成验证数据库用户所需的证书。高级 "选项适用于已经使用X.509证书并且已经拥有证书管理基础设施的组织。高级选项可以与LDAPS相结合进行授权。

访问基础设施只能通过堡垒主机和高级管理层批准的后端访问的用户到达。这些主机需要多因素认证,并被配置为需要SSH密钥 - 而不是密码。

日志和审计

MongoDB支持各种各样的审计策略,使其更容易监控你的零信任环境,以确保它仍然有效并包含你的数据库。管理员可以配置MongoDB来记录所有的操作,或者应用过滤器来只捕获特定的事件、用户或角色。

基于角色的审计可以让你按特定的角色,如userAdmin或dbAdmin,加上每个用户继承的任何角色来记录和报告活动,而不是为每个管理员提取活动。这种方法使企业更容易执行端到端的操作控制,并保持合规和报告所需的洞察力。

审计日志可以以各种格式写入多个目的地,如写入控制台和系统日志(JSON格式)以及文件(JSON或BSON)。然后,它可以被加载到MongoDB并进行分析以确定相关事件。

加密

MongoDB还可以让你对飞行中、静止中的数据进行加密,甚至可以通过字段级加密可查询加密对使用中的数据进行加密。对于运动中的数据,MongoDB的所有版本都支持TLS和SSL加密。对于静止的数据,MongoDB支持AES-256加密,它也可以被配置为符合FIPS标准。

为了在使用时对数据进行加密,MongoDB提供了客户端字段级加密,可以实施这种加密,以保护数据不被数据库管理员和供应商接触到,否则他们就会访问数据。

用客户端字段级加密来保护数据,可以让你更有信心地转移到云中的管理服务。数据库只与加密字段一起工作,组织控制自己的加密密钥,而不是让数据库供应商管理它们。这个额外的安全层在使用数据库的人和管理数据库的人之间实施了更精细的职责分离。

MongoDB Atlas专门提供了可查询的加密,这使得客户可以在完全随机的加密数据上高效地运行丰富的表达式查询,改善开发过程和用户体验。企业能够通过自信地存储敏感数据和满足合规性要求来保护其业务。

零信任和MongoDB

MongoDB最适合在零信任环境下使用。MongoDB默认是安全的,并在访问、授权和加密等关键领域开发了业界领先的功能。这些功能一起使用,有助于保护数据库不受外部攻击者和内部用户的影响,否则他们可能获得未经授权的访问。