传输中数据(也称为动态数据)是指数据在网络上在发送方和接收方之间传输时的情况。在穿越网络时,它很容易受到黑客的拦截。为了减轻此风险,组织可以在传输之前以及数据到达目的地之前使用传输层安全性 (TLS) 来加密数据。保护传输中的数据是一项基本安全策略,它与静态数据(存储的数据)和使用中数据(处理的数据)相互补充。
主要结论
- 传输中的数据是主动跨网络传输的数据—即在浏览器和服务器、移动应用和后端服务、API 和微服务之间,或者在区域间数据库复制期间的数据。
- 当数据在传输中未加密时,恶意行为者可以通过数据包嗅探、中间人攻击 (MITM) 或会话劫持拦截数据。
- 传输层安全性 (TLS) 保护传输中的数据,方法是在数据离开源时对其进行加密,只有在到达目的地时才对其进行解密。
- 传输中加密只是完整数据保护策略的一部分,还必须包括保护静态数据和使用中的数据。
- MongoDB 等高级数据库平台可实现端到端的数据安全,采用 TLS 进行传输,对静态数据采用标准加密,并提供可查询加密等功能。
目录
了解传输中的数据
传输中的数据是指在不同位置之间移动的数据,无论是跨公共互联网、专用网络还是云环境中的服务。在现代分布式应用程序中,保护这些数据是一项基本的安全要求。
数据必须在三种状态下进行保护: 传输中、静态和使用中。
数据流向:
不同的数据状态会带来不同的安全考量。传输中的数据尤其容易面临风险,因为数据在网络中流动时,未经授权方可能会试图对其进行拦截、检查或修改。
为何传输中的数据容易受到攻击
传输中的数据很少通过单一的隔离路径移动。它经常跨越:
如果没有强大的安全管控,传输中的数据可能会暴露在以下风险中:
窃听和数据包嗅探:攻击者拦截未加密数据,以读取凭证或个人数据等敏感信息。
中间人 (MITM) 攻击:攻击者插入客户端和服务器之间,冒充一方或双方。
会话劫持和令牌窃取:窃取的会话 cookie 或访问令牌允许未经授权地访问应用程序。
篡改:请求或响应在传输过程中被修改,可能会改变事务或注入恶意负载。
如果不保护传输中的数据,可能会导致数据泄露、客户信任丧失、数据丢失、运营中断以及在 GDPR、HIPAA 和 PCI DSS 等框架下的监管处罚。
传输中数据加密的工作原理 (TLS/SSL)
加密可确保在数据离开系统之前将其转换为不可读的格式。这主要通过传输层安全性 (TLS)实现,它是旧 SSL 协议的后继者。
典型的 TLS 连接包括:
握手:客户端和服务器就加密技术和密码套件达成一致。
验证:系统会验证由受信任的证书颁发机构 (CA) 颁发的数字证书。
密钥交换:公钥和私钥为会话建立安全的对称加密。
建立后,数据将以加密形式传输。即使被截获,如果没有正确的解密密钥,也无法理解这些数据。
传输中数据的现代成功标准包括:
为所有 Web 应用程序使用 HTTPS。
支持 TLS 1.2 或 TLS 1.3。
采用强密码套件和非对称加密。
保持适当的证书轮换和撤销检查。
实施严格的数字证书验证。
在服务和环境中一致地应用加密至关重要。部分采用可能会在本来安全的架构中产生薄弱环节。
最佳实践:如何保护传输中的数据
为了保护传输中的数据,组织应应用分层方法。
默认使用 TLS—无处不在
加密客户端-服务器和服务器间流量。
禁用旧版协议,例如 TLS 1.0 和 1.1。
确保所有外部终结点都保持安全连接。
正确验证证书
切勿在生产环境中禁用证书验证。
针对专用网络部署,请使用受信任的 CA 或内部 PKI。
监控过期或配置错误的数字证书。
锁定访问路径
相比广泛的公共暴露,优先考虑专用网络。
使用 IP 允许列表、防火墙和安全组。
限制哪些服务可以相互通信。
保护传输中的凭证和令牌
切勿通过未加密的连接发送密码或加密密钥。
使用短期令牌和安全 cookie。
实施 HSTS 以防止降级攻击。
监控和测试
定期扫描 TLS 配置。
进行渗透测试。
当出现异常的身份验证和网络流量模式时,记录日志并发出警报。
强大的加密技术必须与运营规范相结合。
常见场景指南
Web 和移动应用程序
强制启用 HTTPS。
使用安全 cookie 和 HSTS。
在受信任的负载均衡器上终止 TLS。
API 和微服务
加密内部服务到服务的通信。
使用相互 TLS 进行身份验证。
考虑服务网格和零信任网络模式。
数据管道、备份和迁移
加密跨区域的复制流量。
确保文件传输和备份工具使用安全的通信协议。
避免通过公共 IP 地址暴露迁移终结点。
受监管的工作负载
传输中强加密支持受监管行业的合规性叙述。虽然仅靠加密不能保证合规,但它是大多数数据保护法规中的一项必要控制措施。
MongoDB 如何保护传输中的数据
一个安全的数据库平台应该使保护传输中的数据变得简单且可靠。
云中的默认 TLS
在 MongoDB Atlas 中,所有传输中的数据均默认使用 TLS 加密。这包括:
从应用程序到数据库服务器的连接。
集群中节点之间的流量。
复制和备份流量。
对于标准的 MongoDB Atlas 部署,客户不需要手动启用加密。
可配置的现代加密标准
MongoDB 支持现代 TLS 版本(如 TLS 1.2),TLS 1.3 在许多环境中也可用,并且在企业部署中配备可配置的密码套件。这使组织可以将加密与内部安全措施和合规性要求相结合。
跨部署模型的安全连接
MongoDB Atlas(托管云):默认强制实施 TLS。
Enterprise Advanced(自管理):支持通过企业控件配置 TLS。
Community Edition:支持 TLS,但必须明确启用。
无论采用何种部署类型,MongoDB 都能为动态数据安全提供保障。
超越传输中数据:全数据生命周期保护
保护传输中的数据是更广泛的数据保护战略的一个组成部分。
MongoDB 也支持:
Queryable Encryption 允许应用程序在不向数据库服务器暴露明文的情况下处理加密数据。这显著降低了未经授权访问的风险,并有助于保护处理高度敏感信息的数据工作负载。
您无需附加加密或成为密码学专家即可实现安全的数据传输。现代数据库平台应该在设计上提供这些功能。下图突出显示了各种加密方法。请参阅此处的可查询加密兼容性完整列表。
相关资源
- MongoDB TLS 配置——阅读有关为 MongoDB 安全连接配置 TLS/SSL 的分步文档。
- 传输中加密 — 了解 MongoDB 如何使用 TLS 加密跨网络传输的数据,以保护应用程序和数据库之间的敏感信息。
- 静态加密——了解 MongoDB 如何通过静态加密和密钥管理选项保护存储的数据。
- 在 MongoDB 中加密数据 — MongoDB 数据加密功能概述,用于在数据的整个生命周期内保护敏感数据。
- Queryable Encryption — 了解 MongoDB 如何在保持敏感字段加密的同时实现对加密数据的查询。