

# SEC09-BP02 在传输中执行加密
<a name="sec_protect_data_transit_encrypt"></a>

实施您根据贵组织的政策、监管义务和标准定义的加密要求，以帮助满足组织、法律和合规性要求。如要在虚拟私有云（VPC）外部传输敏感数据，务必仅使用具有加密功能的协议。即使在不可信的网络中传输数据，加密也有助于保持数据的机密性。

 **期望结果：**对资源与互联网之间的网络流量进行加密，以减少对数据的未经授权访问。根据您的安全需求，加密内部 AWS 环境中的网络流量。可以使用安全的 TLS 协议和密码套件对传输中数据进行加密。

 **常见反模式：**
+  使用已弃用的 SSL、TLS 和密码套件组件版本（例如，SSL v3.0、1024 位 RSA 密钥和 RC4 密码）。
+  允许未加密的（HTTP）流量进出面向公众的资源。
+  未在 X.509 证书到期前监控和替换证书。
+  对 TLS 使用自签名 X.509 证书。

 **在未建立这种最佳实践的情况下暴露的风险等级：**高 

## 实施指导
<a name="implementation-guidance"></a>

 AWS 服务提供使用 TLS 的 HTTPS 端点进行通信，从而可以在与 AWS API 通信时提供传输中加密。通过使用安全组，可以在虚拟私有云（VPC）中审计和阻止不安全的 HTTP 协议。也可以在 Amazon CloudFront 中或[应用程序负载均衡器](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#redirect-actions)上，将 HTTP 请求[自动重定向到 HTTPS](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html)。可以使用 [Amazon Simple Storage Service (Amazon S3) bucket policy](https://aws.amazon.com/blogs/storage/enforcing-encryption-in-transit-with-tls1-2-or-higher-with-amazon-s3/) 来限制通过 HTTP 上传对象的功能，从而有效地强制使用 HTTPS 将对象上传到存储桶。您可以完全控制计算资源，以便在整个服务中实施加密。您也可以利用 VPN 连接从外部网络或 [AWS Direct Connect](https://aws.amazon.com/directconnect/) 连接到您的 VPC 中，以便于对流量进行加密。验证客户端是否使用至少 TLS 1.2 来调用 AWS API，因为 [AWS has deprecated the use of earlier versions of TLS as of February 2024](https://aws.amazon.com/blogs/security/tls-1-2-required-for-aws-endpoints/)。我们建议您使用 TLS 1.3。如果您对传输中加密有特殊要求，可以在 AWS Marketplace 中找到可用的第三方解决方案。

### 实施步骤
<a name="implementation-steps"></a>
+  **实施传输中加密：**您定义的加密要求应基于最新的标准和最佳实践，且仅允许使用安全协议。例如，配置一个安全组，仅允许通过 HTTPS 协议访问应用程序负载均衡器或 Amazon EC2 实例。
+  **在边缘服务中配置安全协议：**[使用 Amazon CloudFront 配置 HTTPS](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https.html)，并使用[适合您的安全状况和使用案例的安全配置文件](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html#secure-connections-supported-ciphers)。
+  **将 [VPN 用于外部连接](https://docs.aws.amazon.com/vpc/latest/userguide/vpn-connections.html)：**考虑使用 IPsec VPN 来保护点对点或网络对网络连接，以帮助实现数据隐私和完整性。
+  **在负载均衡器中配置安全协议：**选择一个安全策略，该策略提供受客户端支持且将要连接到侦听器的强大密码套件。[为应用程序负载均衡器创建 HTTPS 侦听器](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html)。
+  **在 Amazon Redshift 中配置安全协议：**将集群配置为要求[安全套接字层（SSL）或传输层安全性协议（TLS）连接](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html)。
+  **配置安全协议：**查看 AWS 服务文档，以确定传输中加密功能。
+  **上传到 Amazon S3 存储桶时配置安全访问：**使用 Amazon S3 存储桶策略控制措施[执行对数据的安全访问](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-best-practices.html)。
+  **不妨考虑使用 [AWS Certificate Manager](https://aws.amazon.com/certificate-manager/)：**ACM 允许您预置、管理和部署用于 AWS 服务的公有 TLS 证书。
+  **不妨考虑使用 [AWS 私有证书颁发机构](https://aws.amazon.com/private-ca/) 满足私有 PKI 需求：**AWS 私有 CA 允许您创建私有证书颁发机构（CA）层次结构，以签发可用于创建加密 TLS 通道的终端实体 X.509 证书。

## 资源
<a name="resources"></a>

 **相关文档：**
+ [ 将 HTTPS 与 CloudFront 搭配使用 ](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https.html)
+ [ 使用 AWS Virtual Private Network 将 VPC 连接到远程网络](https://docs.aws.amazon.com/vpc/latest/userguide/vpn-connections.html)
+ [ 为应用程序负载均衡器创建 HTTPS 侦听器 ](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html)
+ [ 教程：在 Amazon Linux 2 上配置 SSL/TLS ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/SSL-on-amazon-linux-2.html)
+ [ 使用 SSL/TLS 加密与数据库实例的连接 ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html)
+ [ 配置连接的安全选项 ](https://docs.aws.amazon.com/redshift/latest/mgmt/connecting-ssl-support.html)