弹性负载均衡控件 - Amazon Security Hub
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

弹性负载均衡控件

这些控件与弹性负载均衡资源有关。

这些控件可能并非全部可用 Amazon Web Services 区域。有关更多信息,请参阅 按地区划分的控件可用性

[ELB.1] 应用程序负载均衡器应配置为将所有 HTTP 请求重定向到 HTTPS

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

严重性:

资源类型:AWS::ElasticLoadBalancingV2::LoadBalancer

Amazon Config 规则:alb-http-to-https-redirection-check

计划类型:定期

参数:

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

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

要了解更多信息,请参阅应用程序负载均衡器用户指南中的应用程序负载均衡器的侦听器

修复

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

有关添加新规则的说明,请参阅 应用程序负载均衡器用户指南中的添加规则。对于协议:端口,选择 HTTP,然后输入 80。对于添加操作,选择重定向到,选择 HTTPS,然后输入 443

有关编辑现有规则的说明,请参阅应用程序负载均衡器用户指南中的编辑规则。对于协议:端口,选择 HTTP,然后输入 80。对于添加操作,选择重定向到,选择 HTTPS,然后输入 443

[ELB.2] 带有 SSL/HTTPS 侦听器的经典负载均衡器应使用由提供的证书 Amazon Certificate Manager

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

类别:保护 > 传输中数据加密

严重性:

资源类型:AWS::ElasticLoadBalancing::LoadBalancer

Amazon Config 规则:elb-acm-certificate-required

计划类型:已触发变更

参数:

此控件检查经典负载均衡器是否使用 Amazon Certificate Manager (ACM) 提供的 HTTPS/SSL 证书。如果配置了 HTTPS/SSL 侦听器的经典负载均衡器不使用 ACM 提供的证书,则控制失败。

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

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

修复

有关如何将 ACM SSL/TLS 证书与经典负载均衡器关联的信息,请参阅 Amazon 知识中心文章如何将 ACM SSL/TLS 证书与经典负载均衡器、应用程序或网络负载均衡器相关联?

[ELB.3] 应将经典负载均衡器侦听器配置为 HTTPS 或 TLS 终止

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

类别:保护 > 数据保护 > 传输中数据加密

严重性:

资源类型:AWS::ElasticLoadBalancing::LoadBalancer

Amazon Config 规则:elb-tls-https-listeners-only

计划类型:已触发变更

参数:

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

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

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

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

修复

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

将所有不合规的侦听器变更为 TLS/HTTPS 侦听器
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中的负载平衡下,选择负载均衡器

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

  4. Listeners 选项卡上,选择 Edit

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

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

  7. 对于 ACM 和 IAM 证书,选择一个证书。

  8. 选择另存为默认值

  9. 更新所有侦听器后,选择保存

[ELB.4] 应将应用程序负载均衡器配置为删除 http 标头

相关要求:NIST.800-53.r5 SC-7(4)、NIST.800-53.r5 SC-8(2))。

类别:保护 > 网络安全

严重性:

资源类型:AWS::ElasticLoadBalancingV2::LoadBalancer

Amazon Config 规则:alb-http-drop-invalid-header-enabled

计划类型:已触发变更

参数:

此控件评估 Amazon 应用程序负载均衡器,以确保它们配置为丢弃无效的 HTTP 标头。如果 false 的值设置为 routing.http.drop_invalid_header_fields.enabled,则控制失败。

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

请注意,如果启用 ELB.12,则可以禁用此控件。

修复

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

配置负载均衡器以删除无效标头字段
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Load Balancers (负载均衡器)

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

  4. 操作中,选择编辑属性

  5. 删除无效标题字段下,选择启用

  6. 选择保存

[ELB.5] 应启用应用程序和经典负载均衡器日志记录

相关要求:NIST.800-53.r5 AC-4(26)、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 SC-7(9)、NIST.800-53.r5 SI-7(8)。

类别:记录

严重性:

资源类型:AWS::ElasticLoadBalancing::LoadBalancerAWS::ElasticLoadBalancingV2::LoadBalancer

Amazon Config 规则:elb-logging-enabled

计划类型:已触发变更

参数:

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

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

要了解更多信息,请参阅 经典负载均衡器用户指南中的经典负载均衡器的访问日志

修复

要启用访问日志,请参阅 应用程序负载均衡器用户指南中的步骤 3:配置访问日志

[ELB.6] 应启用应用程序负载均衡器删除保护

相关要求: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

Amazon Config 规则:elb-deletion-protection-enabled

计划类型:已触发变更

参数:

此控件检查应用程序负载均衡器是否已启用删除保护。如果未配置删除保护,则控制失败。

启用删除保护以保护应用程序负载均衡器,防止其删除。

修复

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

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

要启用删除保护,请参阅应用程序负载均衡器用户指南中的删除保护

[ELB.7] 经典负载均衡器应启用连接耗尽功能

相关要求:NIST.800-53.r5 CA-9(1),NIST.800-53.r5 CM-2

类别:恢复 > 弹性

严重性:

资源类型:AWS::ElasticLoadBalancing::LoadBalancer

Amazon Config规则:elb-connection-draining-enabled(自定义 Security Hub 规则)

计划类型:已触发变更

参数:

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

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

修复

要在经典负载均衡器上启用连接耗尽,请参阅经典负载均衡器用户指南中的为经典负载均衡器配置连接耗尽

[ELB.8] 带有 SSL 侦听器的经典负载均衡器应使用持续时间较长的预定义安全策略 Amazon Config

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

类别:保护 > 传输中数据加密

严重性:

资源类型:AWS::ElasticLoadBalancing::LoadBalancer

Amazon Config 规则:elb-predefined-security-policy-ssl-check

计划类型:已触发变更

参数:

  • predefinedPolicyNameELBSecurityPolicy-TLS-1-2-2017-01(不可自定义)

此控件会检查经典负载均衡器 HTTPS/SSL 侦听器是否使用预定义的策略 ELBSecurityPolicy-TLS-1-2-2017-01。如果经典负载均衡器HTTPS/SSL 侦听器不使用 ELBSecurityPolicy-TLS-1-2-2017-01,则控制失败。

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

使用 ELBSecurityPolicy-TLS-1-2-2017-01 可以帮助您满足要求您禁用特定版本的 SSL 和 TLS 的合规性和安全标准。有关更多信息,请参阅经典负载均衡器用户指南中的经典负载均衡器的预定义 SSL 安全策略

修复

有关如何在经典负载均衡器上使用预定义安全策略 ELBSecurityPolicy-TLS-1-2-2017-01 的信息,请参阅 经典负载均衡器用户指南中的配置安全设置

[ELB.9] 经典负载均衡器应启用跨区域负载均衡器

相关要求: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

Amazon Config 规则:elb-cross-zone-load-balancing-enabled

计划类型:已触发变更

参数:

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

负载均衡器节点仅在其可用区中的注册目标之间分配流量。禁用了跨区域负载均衡后,每个负载均衡器节点会仅在其可用区中的已注册目标之间分配流量。如果可用区中注册的目标数量不同,流量将不会均匀分布,并且与另一区域中的实例相比,一个区域中的实例可能最终会被过度利用。启用跨区域负载均衡后,经典负载均衡器的每个负载均衡器节点都会在所有已启用的可用区中的注册实例之间均匀分配请求。有关详细信息,请参阅弹性负载均衡用户指南中的跨可用区负载均衡

修复

要在经典负载均衡器中启用跨区域负载均衡,请参阅经典负载均衡器用户指南中的启用跨区域负载均衡

[ELB.10] 经典负载均衡器应跨越多个可用区

相关要求: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

Amazon Config 规则:clb-multiple-az

计划类型:已触发变更

参数:

参数 描述 类型 允许的自定义值 Security Hub 默认值

minAvailabilityZones

可用区的最小数量

枚举

2, 3, 4, 5, 6

2

此控件检查经典负载均衡器是否已配置为跨越至少指定数量的可用区(AZ)。如果经典负载均衡器未跨越至少指定数量的可用区,则控制失败。除非您为可用区的最小数量提供自定义参数值,否则 Security Hub 将使用默认值即两个可用区。

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

修复

要向经典负载均衡器添加可用区,请参阅《经典负载均衡器用户指南》中的为您的经典负载均衡器添加或删除子网

[ELB.12] 应用程序负载均衡器应配置为防御性或最严格的异步缓解模式

相关要求:NIST.800-53.r5 AC-4(21)、NIST.800-53.r5 CA-9(1)、NIST.800-53.r5 CM-2。

类别:数据保护 > 数据完整性

严重性:

资源类型:AWS::ElasticLoadBalancingV2::LoadBalancer

Amazon Config 规则:alb-desync-mode-check

计划类型:已触发变更

参数:

  • desyncModedefensive, strictest(不可自定义)

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

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

修复

要更新应用程序负载均衡器的异步缓解模式,请参阅应用程序负载均衡器用户指南中的异步缓解模式

[ELB.13] 应用程序、网络和网关负载均衡器应跨越多个可用区

相关要求: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

Amazon Config 规则:elbv2-multiple-az

计划类型:已触发变更

参数:

参数 描述 类型 允许的自定义值 Security Hub 默认值

minAvailabilityZones

可用区的最小数量

枚举

2, 3, 4, 5, 6

2

此控件检查 Elastic Load Balancer V2(应用程序、网络或网关负载均衡器)是否注册了来自指定数量的可用区(AZ)的实例。如果 Elastic Load Balancer V2 没有注册来自指定数量或更多的可用区的实例,则控制失败。除非您为可用区的最小数量提供自定义参数值,否则 Security Hub 将使用默认值即两个可用区。

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

修复

要向应用程序负载均衡器添加可用区,请参阅应用程序负载均衡器用户指南中的应用程序负载均衡器的可用区。要向网络负载均衡器添加可用区,请参阅网络负载均衡器用户指南中的网络负载均衡器。要向网关负载均衡器添加可用区,请参阅网关负载均衡器用户指南中的创建网关负载均衡器

[ELB.14] 经典负载均衡器应配置为防御性或最严格的异步缓解模式

相关要求:NIST.800-53.r5 AC-4(21)、NIST.800-53.r5 CA-9(1)、NIST.800-53.r5 CM-2。

类别:数据保护 > 数据完整性

严重性:

资源类型:AWS::ElasticLoadBalancing::LoadBalancer

Amazon Config 规则:clb-desync-mode-check

计划类型:已触发变更

参数:

  • desyncModedefensive, strictest(不可自定义)

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

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

修复

要更新经典负载均衡器上的异步缓解模式,请参阅经典负载均衡器用户指南中的修改异步缓解模式

[ELB.16] 应用程序负载均衡器应与 Web ACL 关联 Amazon WAF

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

类别:保护 > 防护服务

严重性:

资源类型:AWS::ElasticLoadBalancingV2::LoadBalancer

Amazon Config 规则:alb-waf-enabled

计划类型:已触发变更

参数:

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

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

修复

要将 Application Load Balancer 与 Web ACL 关联,请参阅开发者指南中的将网页 ACL 与 Amazon 资源关联或取消关联。Amazon WAF