

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 适用于 Elastic Load Balancing 的 Security Hub CSPM 控制
<a name="elb-controls"></a>

这些 AWS Security Hub CSPM 控件会评估 Elastic Load Balancing 服务和资源。这些控件可能并非全部可用 AWS 区域。有关更多信息，请参阅 [按地区划分的控件可用性](securityhub-regions.md#securityhub-regions-control-support)。

## [ELB.1] 应用程序负载均衡器应配置为将所有 HTTP 请求重定向到 HTTPS
<a name="elb-1"></a>

**相关要求：**PCI DSS v3.2.1/2.3、PCI DSS v3.2.1/4.1、 NIST.800-53.r5 AC-1 7 (2)、、(1)、2 (3)、3、3 NIST.800-53.r5 AC-4、 NIST.800-53.r5 IA-5 (3)、(3)、(4)、 NIST.800-53.r5 SC-1 (1)、 NIST.800-53.r5 SC-2 ( NIST.800-53.r5 SC-12)、 NIST.800-53.r5 SC-2 nist.800-53.r5 SI-7 NIST.800-53.r5 SC-8 (6) NIST.800-53.r5 SC-7 NIST.800-53.r5 SC-8 NIST.800-53.r5 SC-8

**类别：**检测 > 检测服务

**严重性：**中

**资源类型：**`AWS::ElasticLoadBalancingV2::LoadBalancer`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/alb-http-to-https-redirection-check.html](https://docs.aws.amazon.com/config/latest/developerguide/alb-http-to-https-redirection-check.html)

**计划类型：**定期

**参数：**无

此控件检查是否在应用程序负载均衡器的所有 HTTP 侦听器上配置了 HTTP 到 HTTPS 重定向。如果应用程序负载均衡器的任何 HTTP 侦听器未配置 HTTP 到 HTTPS 重定向，则控制失败。

在开始使用应用程序负载均衡器之前，必须添加一个或多个侦听器。侦听器是使用配置的协议和端口检查连接请求的进程。侦听器支持 HTTP 和 HTTPS 协议。您可以使用 HTTPS 侦听器将加密和解密工作卸载到负载均衡器。要强制传输过程中的加密，您应该使用应用程序负载均衡器的重定向操作，将客户端 HTTP 请求重定向到端口 443 上的 HTTPS 请求。

要了解更多信息，请参阅*应用程序负载均衡器用户指南*中的[应用程序负载均衡器的侦听器](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html)。

### 修复
<a name="elb-1-remediation"></a>

要将 HTTP 请求重定向到 HTTPS，您必须添加应用程序负载均衡器侦听器规则或编辑现有规则。

有关添加新规则的说明，请参阅 *应用程序负载均衡器用户指南*中的[添加规则](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/listener-update-rules.html#add-rule)。对于**协议：端口**，选择 **HTTP**，然后输入 **80**。对于**添加操作，选择重定向到**，选择 **HTTPS**，然后输入 **443**。

有关编辑现有规则的说明，请参阅*应用程序负载均衡器用户指南*中的[编辑规则](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/listener-update-rules.html#edit-rule)。对于**协议：端口**，选择 **HTTP**，然后输入 **80**。对于**添加操作，选择重定向到**，选择 **HTTPS**，然后输入 **443**。

## [ELB.2] 带 SSL/HTTPS 侦听器的经典负载均衡器应使用由提供的证书 AWS Certificate Manager
<a name="elb-2"></a>

**相关要求：** NIST.800-53.r5 AC-17 (2)、、(1) NIST.800-53.r5 AC-4、2 NIST.800-53.r5 IA-5 (3)、3、3 (5)、 NIST.800-53.r5 SC-1 (4)、 NIST.800-53.r5 SC-2 (1)、 NIST.800-53.r5 SC-2 ( NIST.800-53.r5 SC-12)、 NIST.800-53.r5 SC-7 nist.800-53.r5 SI-7 NIST.800-53.r5 SC-8 (6)、nist.800-171.r2 3.13.8 NIST.800-53.r5 SC-8 NIST.800-53.r5 SC-8

**类别：**保护 > 数据保护 > 加密 data-in-transit

**严重性：**中

**资源类型：**`AWS::ElasticLoadBalancing::LoadBalancer`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/elb-acm-certificate-required.html](https://docs.aws.amazon.com/config/latest/developerguide/elb-acm-certificate-required.html)

**计划类型：**已触发变更

**参数：**无

此控件检查 Classic Load Balancer 是否使用 AWS Certificate Manager (ACM) 提供的 HTTPS/SSL 证书。如果配置了 HTTPS/SSL 侦听器的 Classic Load Balancer 不使用 ACM 提供的证书，则控制失败。

要创建证书，您可以使用 ACM 或支持 SSL 和 TLS 协议的工具（例如 OpenSSL）。Security Hub CSPM 建议您使用 ACM 为负载均衡器创建或导入证书。

ACM 与经典负载均衡器集成，以便您可以在负载均衡器上部署证书。您还应该自动续订这些证书。

### 修复
<a name="elb-2-remediation"></a>

有关如何将 ACM SSL/TLS 证书与 Classic Load Balancer 关联的信息，请参阅 AWS 知识中心文章[如何将 ACM SSL/TLS 证书与经典负载均衡器、应用程序负载均衡器或网络负载均衡器相关联](https://aws.amazon.com/premiumsupport/knowledge-center/associate-acm-certificate-alb-nlb/)？

## [ELB.3] 应将经典负载均衡器侦听器配置为 HTTPS 或 TLS 终止
<a name="elb-3"></a>

**相关要求：** NIST.800-53.r5 AC-17 (2)、、(1)、2 (3) NIST.800-53.r5 AC-4、3、3 NIST.800-53.r5 IA-5 (3)、(3)、(4)、 NIST.800-53.r5 SC-1 (1)、 NIST.800-53.r5 SC-2 ( NIST.800-53.r5 SC-12)、 NIST.800-53.r5 SC-2 nist.800-53.r5 SI-7 NIST.800-53.r5 SC-7 (6) NIST.800-53.r5 SC-8、 NIST.800-53.r5 SC-8 nist.800-171.r2 3.13.8、nist.800-171.r2 3.13.15、PCI DSS v4.0.1/4.2.1 NIST.800-53.r5 SC-8

**类别：**保护 > 数据保护 > 加密 data-in-transit

**严重性：**中

**资源类型：**`AWS::ElasticLoadBalancing::LoadBalancer`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/elb-tls-https-listeners-only.html](https://docs.aws.amazon.com/config/latest/developerguide/elb-tls-https-listeners-only.html)

**计划类型：**已触发变更

**参数：**无

此控件检查经典负载均衡器侦听器是使用 HTTPS 还是 TLS 协议配置以进行前端（客户端到负载均衡器）连接。如果经典负载均衡器有侦听器，则该控件适用。如果经典负载均衡器没有配置侦听器，则该控件不会报告任何调查发现。

如果经典负载均衡器侦听器为前端连接配置了 TLS 或 HTTPS，则控制通过。

如果侦听器没有为前端连接配置 TLS 或 HTTPS，则控制失败。

在开始使用负载均衡器之前，必须添加一个或多个侦听器。侦听器是使用配置的协议和端口检查连接请求的进程。监听器可以同时支持 HTTP 和 HTTPS/TLS 协议。您应始终使用 HTTPS 或 TLS 侦听器，以便负载均衡器在传输过程中完成加密和解密工作。

### 修复
<a name="elb-3-remediation"></a>

要修复此问题，请更新侦听器以使用 TLS 或 HTTPS 协议。

**将所有不合规的监听器更改为听众 TLS/HTTPS**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中的 **Load Balancing (负载平衡)** 下，选择 **Load Balancers (负载均衡器)**。

1. 选择您的经典负载均衡器。

1. 在 **Listeners** 选项卡上，选择 **Edit**。

1. 对于所有未将**负载均衡器协议**设置为 HTTPS 或 SSL 的侦听器，将设置变更为 HTTPS 或 SSL。

1. 对于所有修改过的侦听器，在**证书**选项卡上，选择**变更默认值**。

1. 对于 **ACM 和 IAM 证书**，选择一个证书。

1. 选择**另存为默认值**。

1. 更新所有侦听器后，选择**保存**。

## [ELB.4] 应将应用程序负载均衡器配置为丢弃无效的 http 标头
<a name="elb-4"></a>

**相关要求：** NIST.800-53.r5 SC-7(4)、 NIST.800-53.r5 SC-8 (2)、PCI DSS v4.0.1/6.2.4

**类别：**保护 > 网络安全

**严重性：**中

**资源类型：**`AWS::ElasticLoadBalancingV2::LoadBalancer`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/alb-http-drop-invalid-header-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/alb-http-drop-invalid-header-enabled.html)

**计划类型：**已触发变更

**参数：**无

此控件可评估应用程序负载均衡器是否配置为丢弃无效的 HTTP 标头。如果 `false` 的值设置为 `routing.http.drop_invalid_header_fields.enabled`，则控制失败。

默认情况下，应用程序负载均衡器未配置为删除无效的 HTTP 标头值。删除这些标头值可以防止 HTTP 不同步攻击。

**注意**  
如果您的账户启用了 ELB.12，我们建议禁用此控件。有关更多信息，请参阅 [[ELB.12] 应用程序负载均衡器应配置为防御性或最严格的异步缓解模式](#elb-12)。

### 修复
<a name="elb-4-remediation"></a>

要修复此问题，将负载均衡器配置为删除无效标头字段。

**配置负载均衡器以删除无效标头字段**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**负载均衡器**。

1. 选择应用程序负载均衡器。

1. 在**操作**中，选择**编辑属性**。

1. 在**删除无效标题字段**下，选择**启用**。

1. 选择**保存**。

## [ELB.5] 应启用应用程序和经典负载均衡器日志记录
<a name="elb-5"></a>

**相关要求：** NIST.800-53.r5 AC-4(26)、、 NIST.800-53.r5 SC-7 (9) NIST.800-53.r5 AU-10, NIST.800-53.r5 AU-12, NIST.800-53.r5 AU-2, NIST.800-53.r5 AU-3, NIST.800-53.r5 AU-6(3), NIST.800-53.r5 AU-6(4), NIST.800-53.r5 CA-7、nist.800-53.r5 SI-7 (8)

**类别：**识别 > 日志记录

**严重性：**中

**资源类型：**`AWS::ElasticLoadBalancing::LoadBalancer`、`AWS::ElasticLoadBalancingV2::LoadBalancer`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/elb-logging-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/elb-logging-enabled.html)

**计划类型：**已触发变更

**参数：**无

此控件检查应用程序负载均衡器和传统负载均衡器是否启用了日志记录。如果 `access_logs.s3.enabled` 是 `false`，则控制失败。

Elastic Load Balancing 提供了访问日志，该访问日志可捕获有关发送到负载均衡器的请求的详细信息。每个日志都包含信息（例如，收到请求的时间、客户端的 IP 地址、延迟、请求路径和服务器响应）。您可以使用这些访问日志分析流量模式并解决问题。

要了解更多信息，请参阅 *经典负载均衡器用户指南*中的[经典负载均衡器的访问日志](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/access-log-collection.html)。

### 修复
<a name="elb-5-remediation"></a>

要启用访问日志，请参阅 *应用程序负载均衡器用户指南*中的[步骤 3：配置访问日志](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/enable-access-logging.html#enable-access-logs)。

## [ELB.6] 应用程序、网关和网络负载均衡器应启用删除保护
<a name="elb-6"></a>

**相关要求：** NIST.800-53.r5 CA-9(1)、 NIST.800-53.r5 CM-2, NIST.800-53.r5 CM-2(2), NIST.800-53.r5 CM-3, NIST.800-53.r5 SC-5 (2)

**类别：**恢复 > 弹性 > 高可用性

**严重性：**中

**资源类型：**`AWS::ElasticLoadBalancingV2::LoadBalancer`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/elb-deletion-protection-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/elb-deletion-protection-enabled.html)

**计划类型：**已触发变更

**参数：**无

此控件可检查应用程序、网关或网络负载均衡器是否已启用删除保护。如果未配置删除保护，则此控件将失败。

启用删除保护以保护应用程序、网关或网络负载均衡器免遭删除。

### 修复
<a name="elb-6-remediation"></a>

为了防止您的负载均衡器被意外删除，您可以启用删除保护。默认情况下，已为负载均衡器禁用删除保护。

如果您为负载均衡器启用删除保护，则必须先禁用删除保护，然后才能删除负载均衡器。

要启用应用程序负载均衡器的删除保护，请参阅《应用程序负载均衡器用户指南》**中的[删除保护](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#deletion-protection)。要启用网关负载均衡器的删除保护，请参阅《User Guide for Gateway Load Balancers》**中的 [Deletion protection](https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/gateway-load-balancers.html#deletion-protection)。要启用网络负载均衡器的删除保护，请参阅《网络负载均衡器用户指南》**中的[删除保护](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#deletion-protection)。

## [ELB.7] 经典负载均衡器应启用连接耗尽功能
<a name="elb-7"></a>

**相关要求：** NIST.800-53.r5 CA-9(1)、nist.800-53.r5 CM-2

**类别：**恢复 > 弹性

**严重性：**低

**资源类型：**`AWS::ElasticLoadBalancing::LoadBalancer`

**AWS Config 规则:**`elb-connection-draining-enabled`（自定义 Security Hub CSPM 规则）

**计划类型：**已触发变更

**参数：**无

此控件检查经典负载均衡器是否已启用连接耗尽功能。

在经典负载均衡器上启用连接耗尽可确保负载均衡器停止向正在取消注册或运行状况不佳的实例发送请求。它使现有连接保持打开状态。这对于自动扩缩组中的实例特别有用，可确保连接不会突然断开。

### 修复
<a name="elb-7-remediation"></a>

要在经典负载均衡器上启用连接耗尽，请参阅经典负载均衡器*用户指南*中的[为经典负载均衡器配置连接耗尽](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-conn-drain.html)。

## [ELB.8] 带有 SSL 侦听器的经典负载均衡器应使用持续时间较长的预定义安全策略 AWS Config
<a name="elb-8"></a>

**相关要求：** NIST.800-53.r5 AC-17 (2)、、(1)、2 (3) NIST.800-53.r5 AC-4、3、3 NIST.800-53.r5 IA-5 (3)、(3)、(4)、 NIST.800-53.r5 SC-1 (1)、 NIST.800-53.r5 SC-2 ( NIST.800-53.r5 SC-12)、 NIST.800-53.r5 SC-2 nist.800-53.r5 SI-7 NIST.800-53.r5 SC-7 (6) NIST.800-53.r5 SC-8、 NIST.800-53.r5 SC-8 nist.800-171.r2 3.13.8、nist.800-171.r2 3.13.15、PCI DSS v4.0.1/4.2.1 NIST.800-53.r5 SC-8

**类别：**保护 > 数据保护 > 加密 data-in-transit

**严重性：**中

**资源类型：**`AWS::ElasticLoadBalancing::LoadBalancer`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/elb-predefined-security-policy-ssl-check.html](https://docs.aws.amazon.com/config/latest/developerguide/elb-predefined-security-policy-ssl-check.html)

**计划类型：**已触发变更

**参数：**
+ `predefinedPolicyName`：`ELBSecurityPolicy-TLS-1-2-2017-01`（不可自定义）

此控件可检查您的 Classic Load Balancer HTTPS/SSL 侦听器是否使用预定义的策略`ELBSecurityPolicy-TLS-1-2-2017-01`。如果 Classic Load Balancer HTTPS/SSL 侦听器不使用`ELBSecurityPolicy-TLS-1-2-2017-01`，则控制失败。

安全策略是 SSL 协议、密码和服务器顺序首选项选项的组合。预定义策略控制客户端和负载均衡器之间的 SSL 协商期间支持的密码、协议和优先顺序。

使用 `ELBSecurityPolicy-TLS-1-2-2017-01` 可以帮助您满足要求您禁用特定版本的 SSL 和 TLS 的合规性和安全标准。有关更多信息，请参阅*经典负载均衡器用户指南*中的[经典负载均衡器的预定义 SSL 安全策略](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-security-policy-table.html)。

### 修复
<a name="elb-8-remediation"></a>

有关如何在经典负载均衡器上使用预定义安全策略 `ELBSecurityPolicy-TLS-1-2-2017-01` 的信息，请参阅 *经典负载均衡器用户指南*中的[配置安全设置](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-create-https-ssl-load-balancer.html#config-backend-auth)。

## [ELB.9] 经典负载均衡器应启用跨区域负载均衡器
<a name="elb-9"></a>

**相关要求：** NIST.800-53.r5 CP-10, NIST.800-53.r5 CP-6(2), NIST.800-53.r5 SC-36、 NIST.800-53.r5 SC-5 (2)、nist.800-53.r5 SI-13 (5)

**类别：**恢复 > 弹性 > 高可用性

**严重性：**中

**资源类型：**`AWS::ElasticLoadBalancing::LoadBalancer`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/elb-cross-zone-load-balancing-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/elb-cross-zone-load-balancing-enabled.html)

**计划类型：**已触发变更

**参数：**无

此控件检查是否为经典负载均衡器 () CLBs 启用了跨区域负载平衡。如果负载均衡未启用跨区负载均衡，则控制失败。

负载均衡器节点仅在其可用区中的注册目标之间分配流量。禁用了跨区域负载均衡后，每个负载均衡器节点会仅在其可用区中的已注册目标之间分配流量。如果可用区中注册的目标数量不同，流量将不会均匀分布，并且与另一区域中的实例相比，一个区域中的实例可能最终会被过度利用。启用跨区域负载均衡后，经典负载均衡器的每个负载均衡器节点都会在所有已启用的可用区中的注册实例之间均匀分配请求。有关详细信息，请参阅弹性负载均衡用户指南中的[跨可用区负载均衡](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#cross-zone-load-balancing)。

### 修复
<a name="elb-9-remediation"></a>

要在经典负载均衡器中启用跨区域负载均衡，请参阅*经典负载均衡器用户指南*中的[启用跨区域负载均衡](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-crosszone-lb.html#enable-cross-zone)。

## [ELB.10] 经典负载均衡器应跨越多个可用区
<a name="elb-10"></a>

**相关要求：** NIST.800-53.r5 CP-10, NIST.800-53.r5 CP-6(2), NIST.800-53.r5 SC-36、 NIST.800-53.r5 SC-5 (2)、nist.800-53.r5 SI-13 (5)

**类别：**恢复 > 弹性 > 高可用性

**严重性：**中

**资源类型：**`AWS::ElasticLoadBalancing::LoadBalancer`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/clb-multiple-az.html](https://docs.aws.amazon.com/config/latest/developerguide/clb-multiple-az.html)

**计划类型：**已触发变更

**参数：**


| 参数 | 说明 | Type | 允许的自定义值 | Security Hub CSPM 默认值 | 
| --- | --- | --- | --- | --- | 
|  `minAvailabilityZones`  |  可用区的最小数量  |  枚举  |  `2, 3, 4, 5, 6`  |  `2`  | 

此控件检查 Classic Load Balancer 是否已配置为至少跨越指定数量的可用区 (AZs)。如果 Classic Load Balancer 的跨度不超过指定数量，则控制失败 AZs。除非您为最小数量提供自定义参数值 AZs，否则 Security Hub CSPM 将使用默认值为 2。 AZs

 可以将经典负载均衡器设置为跨单个可用区或多个可用区中的 Amazon EC2 实例分发传入请求。如果唯一配置的可用区不可用，则不跨多个可用区的经典负载均衡器无法将流量重定向到另一个可用区中的目标。

### 修复
<a name="elb-10-remediation"></a>

 要向经典负载均衡器添加可用区，请参阅《经典负载均衡器用户指南》[*中的*为您的经典负载均衡器添加或删除子网](https://docs.aws.amazon.com//elasticloadbalancing/latest/classic/elb-manage-subnets.html)。

## [ELB.12] 应用程序负载均衡器应配置为防御性或最严格的异步缓解模式
<a name="elb-12"></a>

**相关要求：** NIST.800-53.r5 AC-4(21)、 NIST.800-53.r5 CA-9 (1)、nist.800-53.r5 CM-2、PCI DSS v4.0.1/6.2.4

**类别：**保护 >数据保护 > 数据完整性

**严重性：**中

**资源类型：**`AWS::ElasticLoadBalancingV2::LoadBalancer`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/alb-desync-mode-check.html](https://docs.aws.amazon.com/config/latest/developerguide/alb-desync-mode-check.html)

**计划类型：**已触发变更

**参数：**
+ `desyncMode`：`defensive, strictest`（不可自定义）

此控件检查应用程序负载均衡器配置了防御模式还是最严格的异步缓解模式。如果应用程序负载均衡器未配置防御或最严格的异步缓解模式，则控制失败。

HTTP Desync 问题可能导致请求走私，并使应用程序容易受到请求队列或缓存中毒的影响。反过来，这些漏洞可能导致凭证填充或执行未经授权的命令。配置了防御性或最严格的异步缓解模式的应用程序负载均衡器可保护应用程序免受 HTTP Desync 可能导致的安全问题的影响。

### 修复
<a name="elb-12-remediation"></a>

要更新应用程序负载均衡器的异步缓解模式，请参阅*应用程序负载均衡器用户指南*中的[异步缓解模式](https://docs.aws.amazon.com//elasticloadbalancing/latest/application/application-load-balancers.html#desync-mitigation-mode)。

## [ELB.13] 应用程序、网络和网关负载均衡器应跨越多个可用区
<a name="elb-13"></a>

**相关要求：** NIST.800-53.r5 CP-10, NIST.800-53.r5 CP-6(2), NIST.800-53.r5 SC-36、 NIST.800-53.r5 SC-5 (2)、nist.800-53.r5 SI-13 (5)

**类别：**恢复 > 弹性 > 高可用性 

**严重性：**中

**资源类型：**`AWS::ElasticLoadBalancingV2::LoadBalancer`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/elbv2-multiple-az.html](https://docs.aws.amazon.com/config/latest/developerguide/elbv2-multiple-az.html)

**计划类型：**已触发变更

**参数：**


| 参数 | 说明 | Type | 允许的自定义值 | Security Hub CSPM 默认值 | 
| --- | --- | --- | --- | --- | 
|  `minAvailabilityZones`  |  可用区的最小数量  |  枚举  |  `2, 3, 4, 5, 6`  |  `2`  | 

此控件检查 Elastic Load Balancer V2（应用程序、网络或网关负载均衡器）是否注册了至少来自指定数量的可用区（AZs）的实例。如果 Elastic Load Balancer V2 中注册的实例数量不超过指定数量，则控制失败。 AZs除非您为最小数量提供自定义参数值 AZs，否则 Security Hub CSPM 将使用默认值为 2。 AZs

弹性负载均衡 在一个或多个可用区中的多个目标（如 EC2 实例、容器和 IP 地址）之间自动分配传入的流量。弹性负载均衡 根据传入流量随时间的变化对负载均衡器进行扩展。建议至少配置两个可用区，以保证服务的可用性，因为当一个可用区不可用时，弹性负载均衡器可以将流量引导到另一个可用区。配置多个可用区将有助于消除应用程序的单点故障。

### 修复
<a name="elb-13-remediation"></a>

要向应用程序负载均衡器添加可用区，请参阅*应用程序负载均衡器用户指南*中的[应用程序负载均衡器的可用区](https://docs.aws.amazon.com//elasticloadbalancing/latest/application/load-balancer-subnets.html)。要向网络负载均衡器添加可用区，请参阅*网络负载均衡器用户指南*中的[网络负载均衡器](https://docs.aws.amazon.com//elasticloadbalancing/latest/network/network-load-balancers.html#availability-zones)。要向网关负载均衡器添加可用区，请参阅*网关负载均衡器用户指南*中的[创建网关负载均衡器](https://docs.aws.amazon.com//elasticloadbalancing/latest/gateway/create-load-balancer.html)。

## [ELB.14] 经典负载均衡器应配置为防御性或最严格的异步缓解模式
<a name="elb-14"></a>

**相关要求：** NIST.800-53.r5 AC-4(21)、 NIST.800-53.r5 CA-9 (1)、nist.800-53.r5 CM-2、PCI DSS v4.0.1/6.2.4

**类别：**保护 >数据保护 > 数据完整性

**严重性：**中

**资源类型：**`AWS::ElasticLoadBalancing::LoadBalancer`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/clb-desync-mode-check.html](https://docs.aws.amazon.com/config/latest/developerguide/clb-desync-mode-check.html)

**计划类型：**已触发变更

**参数：**
+ `desyncMode`：`defensive, strictest`（不可自定义）

此控件检查经典负载均衡器是配置了防御模式还是最严格的异步缓解模式。如果经典负载均衡器未配置防御或最严格的异步缓解模式，则控制失败。

HTTP Desync 问题可能导致请求走私，并使应用程序容易受到请求队列或缓存中毒的影响。反过来，这些漏洞可能导致凭证劫持或执行未经授权的命令。配置了防御性或最严格的异步缓解模式的经典负载均衡器可保护应用程序免受 HTTP Desync 可能导致的安全问题的影响。

### 修复
<a name="elb-14-remediation"></a>

要更新经典负载均衡器上的异步缓解模式，请参阅*经典负载均衡器用户指南*中的[修改异步缓解模式](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-desync-mitigation-mode.html#update-desync-mitigation-mode)。

## [ELB.16] 应用程序负载均衡器应与 Web ACL 关联 AWS WAF
<a name="elb-16"></a>

**相关要求：** NIST.800-53.r5 AC-4(21)

**类别：**保护 > 防护服务

**严重性：**中

**资源类型：**`AWS::ElasticLoadBalancingV2::LoadBalancer`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/alb-waf-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/alb-waf-enabled.html)

**计划类型：**已触发变更

**参数：**无

此控件检查 Application Load Balancer 是与 AWS WAF 经典访问控制列表 ( AWS WAF Web ACL) 关联还是与 Web 访问控制列表 (Web ACL) 关联。如果 AWS WAF 配置`Enabled`字段设置为，则控件将失败`false`。

AWS WAF 是一种 Web 应用程序防火墙，可帮助保护 Web 应用程序和 APIs 免受攻击。使用 AWS WAF，您可以配置 Web ACL，这是一组基于您定义的可自定义 Web 安全规则和条件允许、阻止或计数 Web 请求的规则。我们建议将 Application Load Balancer 与 AWS WAF Web ACL 关联，以帮助保护其免受恶意攻击。

### 修复
<a name="elb-16-remediation"></a>

*要将 Application Load Balancer 与 Web ACL [关联，请参阅开发者指南中的将网页 ACL 与 AWS 资源关联或取消关联](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-associating-aws-resource.html)。AWS WAF *

## [ELB.17] 带有侦听器的应用程序和网络负载均衡器应使用推荐的安全策略
<a name="elb-17"></a>

**相关要求：** NIST.800-53.r5 AC-17 (2)、、 NIST.800-53.r5 IA-5 (1) NIST.800-53.r5 AC-4、 NIST.800-53.r5 SC-1 2 (3)、3、3 ( NIST.800-53.r5 SC-13)、( NIST.800-53.r5 SC-23)、 NIST.800-53.r5 SC-2 (4)、(1)、 NIST.800-53.r5 SC-7 (2) NIST.800-53.r5 SC-8、 NIST.800-53.r5 SC-8 nist.800-53.r5 SI-7 NIST.800-53.r5 SC-8 (6)

**类别：**保护 > 数据保护 > 加密 data-in-transit

**严重性：**中

**资源类型：**`AWS::ElasticLoadBalancingV2::Listener`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/elbv2-predefined-security-policy-ssl-check.html](https://docs.aws.amazon.com/config/latest/developerguide/elbv2-predefined-security-policy-ssl-check.html)

**计划类型：**已触发变更

**参数：**`sslPolicies`：`ELBSecurityPolicy-TLS13-1-2-2021-06, ELBSecurityPolicy-TLS13-1-2-FIPS-2023-04, ELBSecurityPolicy-TLS13-1-3-2021-06, ELBSecurityPolicy-TLS13-1-3-FIPS-2023-04, ELBSecurityPolicy-TLS13-1-2-Res-2021-06, ELBSecurityPolicy-TLS13-1-2-Res-FIPS-2023-04`（不可自定义）

此控件检查应用程序负载均衡器的 HTTPS 侦听器或网络负载均衡器的 TLS 侦听器是否配置为使用推荐的安全策略对传输中数据进行加密。如果负载均衡器的 HTTPS 或 TLS 侦听器未配置为使用推荐的安全策略，则该控件会失败。

Elastic Load Balancing 使用 SSL 协商配置（称为*安全策略*）来协商客户端和负载均衡器之间的连接。安全策略指定协议和密码的组合。协议会在客户端和服务器之间建立安全连接。密码是使用加密密钥创建编码消息的加密算法。在 连接协商过程中，客户端和负载均衡器会按首选项顺序提供各自支持的密码和协议的列表。使用推荐的负载均衡器安全策略可以帮助您满足合规性和安全标准。

### 修复
<a name="elb-17-remediation"></a>

有关推荐的安全策略以及如何更新侦听器的信息，请参阅《Elastic Load Balancing 用户指南》**的以下部分：[Security policies for Application Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/describe-ssl-policies.html)、[Security policies for Network Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/describe-ssl-policies.html)、[为您的应用程序负载均衡器更新 HTTPS 侦听器](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/listener-update-certificates.html)和[更新网络负载均衡器的侦听器](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/listener-update-rules.html)。

## [ELB.18] 应用程序和网络负载均衡器侦听器应使用安全协议对传输中数据进行加密
<a name="elb-18"></a>

**类别：**保护 > 数据保护 > 加密 data-in-transit

**严重性：**中

**资源类型：**`AWS::ElasticLoadBalancingV2::Listener`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/elbv2-listener-encryption-in-transit.html](https://docs.aws.amazon.com/config/latest/developerguide/elbv2-listener-encryption-in-transit.html)

**计划类型：**已触发变更

**参数：**无

此控件检查应用程序负载均衡器或网络负载均衡器的侦听器是否配置为使用安全协议对传输中数据进行加密。如果应用程序负载均衡器侦听器未配置为使用 HTTPS 协议，或者网络负载均衡器侦听器未配置为使用 TLS 协议，则该控件会失败。

要加密客户端和负载均衡器之间传输的数据，应将 Elastic Load Balancer 侦听器配置为使用行业标准的安全协议：应用程序负载均衡器的 HTTPS 或网络负载均衡器的 TLS。否则，客户端和负载均衡器之间传输的数据容易遭遇拦截、篡改和未经授权访问。侦听器使用 HTTPS 或 TLS 符合安全最佳实践，有助于确保数据在传输过程中的机密性和完整性。对于处理敏感信息或必须遵循安全标准（要求对传输中数据进行加密）的应用程序，这尤为重要。

### 修复
<a name="elb-18-remediation"></a>

有关配置侦听器安全协议的信息，请参阅《Elastic Load Balancing 用户指南》**的以下部分：[为应用程序负载均衡器创建 HTTPS 侦听器](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html)和[为网络负载均衡器创建侦听器](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-listener.html)。

## [ELB.21] 应用程序和 Network Load Balancer 目标组应使用加密的运行状况检查协议
<a name="elb-21"></a>

**类别：**保护 > 数据保护 > 加密 data-in-transit

**严重性：**中

**资源类型：**`AWS::ElasticLoadBalancingV2::TargetGroup`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/elbv2-targetgroup-healthcheck-protocol-encrypted.html](https://docs.aws.amazon.com/config/latest/developerguide/elbv2-targetgroup-healthcheck-protocol-encrypted.html)

**计划类型：**已触发变更

**参数：**无

此控件检查应用程序和网络负载均衡器运行状况检查的目标组是否使用加密的传输协议。如果运行状况检查协议不使用 HTTPS，则控制失败。此控件不适用于 Lambda 目标类型。

 负载均衡器向注册目标发送运行状况检查请求，以确定其状态并相应地路由流量。目标组配置中指定的运行状况检查协议决定了这些检查的执行方式。当运行状况检查协议使用未加密的通信（例如 HTTP）时，请求和响应可能会在传输过程中被拦截或操纵。这使攻击者能够深入了解基础设施配置、篡改运行状况检查结果或进行影响路由决策的 man-in-the-middle攻击。使用 HTTPS 进行运行状况检查可在负载均衡器与其目标之间提供加密通信，从而保护健康状态信息的完整性和机密性。

### 修复
<a name="elb-21-remediation"></a>

要为应用程序负载均衡器目标组配置加密运行状况检查，请参阅[《Ela *stic Load Balancing 用户指南》中的 “更新应用程序负载*均衡器目标组的运行状况检查设置”](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/modify-health-check-settings.html)。要为您的网络负载均衡器目标组配置加密运行状况检查，请参阅[《Ela *stic Load Balancing 用户指南》中的 “更新网络负载*均衡器目标组的运行状况检查设置”](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/modify-health-check-settings.html)。

## [ELB.22] ELB 目标组应使用加密的传输协议
<a name="elb-22"></a>

**类别：**保护 > 数据保护 > 加密 data-in-transit

**严重性：**中

**资源类型：**`AWS::ElasticLoadBalancingV2::TargetGroup`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/elbv2-targetgroup-protocol-encrypted.html](https://docs.aws.amazon.com/config/latest/developerguide/elbv2-targetgroup-protocol-encrypted.html)

**计划类型：**已触发变更

**参数：**无

此控件检查 Elastic Load Balancing 目标组是否使用加密的传输协议。此控制不适用于目标类型为 Lambda 或 ALB 的目标群体，也不适用于使用 GENEVE 协议的目标群体。如果目标组不使用 HTTPS、TLS 或 QUIC 协议，则控制失败。

 对传输中的数据进行加密可保护其免遭未经授权的用户拦截。使用未加密协议（HTTP、TCP、UDP）的目标组在传输数据时不加密，因此容易被窃听。使用加密协议（HTTPS、TLS、QUIC）可确保负载均衡器和目标之间传输的数据受到保护。

### 修复
<a name="elb-22-remediation"></a>

要使用加密协议，必须使用 HTTPS、TLS 或 QUIC 协议创建新的目标组。目标组协议创建后无法修改。要创建应用程序负载均衡器目标组，请参阅《El [a *stic Load Balancing 用户指南》中的为应用程序负载*均衡器创建目标组](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-target-group.html)。要创建网络负载均衡器目标组，请参阅《El [a *stic Load Balancing 用户指南》中的为网络负载*均衡器创建目标组](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-target-group.html)。