本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Elastic Load Balancing 的安全中心控件
这些 AWS Security Hub 控件会评估 Elastic Load Balancing 服务和资源。
这些控件可能并非全部可用 AWS 区域。有关更多信息,请参阅 按地区划分的控件可用性。
[ELB.1] 应将 Application Load Balancer 配置为将所有HTTP请求重定向到 HTTPS
相关要求:PCIDSSv3.2.1/2.3、PCI DSS v3.2.1/4.1、 NIST.800-53.r5 AC-1 7 (2)、、(1)、2 (3) NIST.800-53.r5 AC-4、3、3 NIST.800-53.r5 IA-5 (3)、(3)、( NIST.800-53.r5 SC-13)、 NIST.800-53.r5 SC-2 (4)、 NIST.800-53.r5 SC-2 (1)、( NIST.800-53.r5 SC-12)、 NIST.800-53.r5 SC-7 .800-53.r5 SI-7 NIST.800-53.r5 SC-8 (6) NIST.800-53.r5 SC-8 NIST.800-53.r5 SC-8 NIST
类别:检测 > 检测服务
严重性:中
资源类型:AWS::ElasticLoadBalancingV2::LoadBalancer
AWS Config 规则:alb-http-to-https-redirection-check
计划类型:定期
参数:无
此控件检查是否HTTP在应用程序负载均衡器的所有HTTP侦听器上配置了HTTPS重定向。如果应用程序负载均衡器的任何HTTP监听器不必HTTP配置HTTPS重定向,则控制失败。
在开始使用应用程序负载均衡器之前,必须添加一个或多个侦听器。侦听器是使用配置的协议和端口检查连接请求的进程。监听器同时支持HTTP和HTTPS协议。您可以使用HTTPS侦听器将加密和解密工作转移到您的负载均衡器。要在传输过程中强制加密,您应使用应用程序负载均衡器的重定向操作将客户端HTTP请求重定向到端口 443 上的HTTPS请求。
要了解更多信息,请参阅应用程序负载均衡器用户指南中的应用程序负载均衡器的侦听器。
修复
要将HTTP请求重定向到HTTPS,必须添加 Application Load Balancer 侦听器规则或编辑现有规则。
有关添加新规则的说明,请参阅 应用程序负载均衡器用户指南中的添加规则。对于 “协议:端口” HTTP,选择,然后输入80
。对于 “添加操作”,选择 “重定向到” HTTPS,然后输入443
。
有关编辑现有规则的说明,请参阅应用程序负载均衡器用户指南中的编辑规则。对于 “协议:端口” HTTP,选择,然后输入80
。对于 “添加操作”,选择 “重定向到” HTTPS,然后输入443
。
[ELB.2] 带SSL/HTTPS监听器的经典负载均衡器应使用由提供的证书 AWS 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-1 2 (3)、3、 NIST.800-53.r5 SC-1 3 (5)、 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) NIST.800-53.r5 SC-2
类别:保护 > 数据保护 > 加密 data-in-transit
严重性:中
资源类型:AWS::ElasticLoadBalancing::LoadBalancer
AWS Config 规则:elb-acm-certificate-required
计划类型:已触发变更
参数:无
此控件检查 Classic Load Balancer 是否使用 AWS Certificate Manager (ACM) 提供的HTTPS/SSL证书。如果配置了HTTPS/SSL侦听器的 Classic Load Balancer 不使用提供的证书,则控制失败ACM。
要创建证书,您可以使用支持SSL和TLS协议的工具,例如 Open SSL。ACMSecurity Hub 建议您使用ACM为负载均衡器创建或导入证书。
ACM与经典负载均衡器集成,因此您可以在负载均衡器上部署证书。您还应该自动续订这些证书。
修复
有关如何将 ACMSSL/TLS证书与 Classic Load Balancer 关联的信息,请参阅 AWS 知识中心文章如何将 ACMSSL/TLS证书与经典负载均衡器、应用程序或网络负载均衡器相关联?
[ELB.3] 应将 Classic Load Balancer 侦听器配置为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-1 2 (3)、3、3、 NIST.800-53.r5 SC-1 3 ( NIST.800-53.r5 SC-23)、 NIST.800-53.r5 SC-2 (4)、 NIST.800-53.r5 SC-7 (1)、 NIST.800-53.r5 SC-8 (2) NIST.800-53.r5 SC-8、NIST .800-53.r5 SI-7 NIST.800-53.r5 SC-8 (6)
类别:保护 > 数据保护 > 加密 data-in-transit
严重性:中
资源类型:AWS::ElasticLoadBalancing::LoadBalancer
AWS Config 规则:elb-tls-https-listeners-only
计划类型:已触发变更
参数:无
此控件会检查您的 Classic Load Balancer 侦听器是否配置了前端(客户端到负载均衡器)连接HTTPS或TLS协议。如果经典负载均衡器有侦听器,则该控件适用。如果经典负载均衡器没有配置侦听器,则该控件不会报告任何结果。
如果 Classic Load Balancer 侦听器配置为前端连接TLS或HTTPS用于前端连接,则控制权通过。
如果监听器未配置前端连接TLS或HTTPS用于前端连接,则控制失败。
在开始使用负载均衡器之前,必须添加一个或多个侦听器。侦听器是使用配置的协议和端口检查连接请求的进程。监听器可以同时支持HTTP和HTTPS/TLS协议。您应始终使用HTTPS或TLS侦听器,以便负载均衡器在传输过程中执行加密和解密工作。
修复
要修复此问题,请更新您的监听器以使用TLS或HTTPS协议。
将所有不合规的监听器更改为/监听TLS器 HTTPS
打开亚马逊EC2控制台,网址为https://console.aws.amazon.com/ec2/
。 -
在导航窗格中的 Load Balancing (负载平衡) 下,选择 Load Balancers (负载均衡器)。
选择您的经典负载均衡器。
-
在 Listeners 选项卡上,选择 Edit。
-
对于所有未将 Load Balancer 协议设置为HTTPS或的侦听器SSL,请将设置更改为HTTPS或SSL。
-
对于所有修改过的侦听器,在证书选项卡上,选择变更默认值。
-
对于ACM和IAM证书,请选择证书。
-
选择另存为默认值。
-
更新所有侦听器后,选择保存。
[ELB.4] 应将 Application Load Balancer 配置为删除无效的 http 标头
相关要求: NIST.800-53.r5 SC-7(4)、 NIST.800-53.r5 SC-8 (2)
类别:保护 > 网络安全
严重性:中
资源类型:AWS::ElasticLoadBalancingV2::LoadBalancer
AWS Config 规则:alb-http-drop-invalid-header-enabled
计划类型:已触发变更
参数:无
此控件用于评估 Application Load Balancer 是否配置为丢弃无效HTTP标头。如果 false
的值设置为 routing.http.drop_invalid_header_fields.enabled
,则控制失败。
默认情况下,应用程序负载均衡器未配置为删除无效的HTTP标头值。删除这些标头值可以防止HTTP不同步攻击。
注意
如果您的账户启用了 ELB .12,我们建议您禁用此控件。有关更多信息,请参阅 [ELB.12] 应将 Application Load Balancer 配置为防御性或最严格的不同步缓解模式。
修复
要修复此问题,将负载均衡器配置为删除无效标头字段。
配置负载均衡器以删除无效标头字段
打开亚马逊EC2控制台,网址为https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Load Balancers (负载均衡器)。
-
选择应用程序负载均衡器。
-
在操作中,选择编辑属性。
-
在删除无效标题字段下,选择启用。
-
选择保存。
[ELB.5] 应启用应用程序和经典负载均衡器日志记录
相关要求: 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 规则:elb-logging-enabled
计划类型:已触发变更
参数:无
此控件检查应用程序负载均衡器和传统负载均衡器是否启用了日志记录。如果 access_logs.s3.enabled
是 false
,则控制失败。
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
AWS Config 规则:elb-deletion-protection-enabled
计划类型:已触发变更
参数:无
此控件检查应用程序、网关或 Network Load Balancer 是否启用了删除保护。如果禁用了删除保护,则控件将失败。
启用删除保护以保护您的应用程序、网关或 Network Load Balancer 不被删除。
修复
为了防止您的负载均衡器被意外删除,您可以启用删除保护。默认情况下,已为负载均衡器禁用删除保护。
如果您为负载均衡器启用删除保护,则必须先禁用删除保护,然后才能删除负载均衡器。
要为 Application Load Balancer 启用删除保护,请参阅应用程序负载均衡器用户指南中的删除保护。要为 Gateway Load Balancer 启用删除保护,请参阅网关负载均衡器用户指南中的删除保护。要为 Network Load Balancer 启用删除保护,请参阅网络负载均衡器用户指南中的删除保护。
[ELB.7] 经典负载均衡器应启用连接耗尽功能
相关要求: NIST.800-53.r5 CA-9(1)、NIST .800-53.r5 CM-2
类别:恢复 > 弹性
严重性:中
资源类型:AWS::ElasticLoadBalancing::LoadBalancer
AWS Config规则:elb-connection-draining-enabled
(自定义 Security Hub 规则)
计划类型:已触发变更
参数:无
此控件检查经典负载均衡器是否已启用连接耗尽功能。
在经典负载均衡器上启用连接耗尽可确保负载均衡器停止向正在取消注册或运行状况不佳的实例发送请求。它使现有连接保持打开状态。这对于自动扩缩组中的实例特别有用,可确保连接不会突然断开。
修复
要在经典负载均衡器上启用连接耗尽,请参阅经典负载均衡器用户指南中的为经典负载均衡器配置连接耗尽。
[ELB.8] 带有SSL侦听器的经典负载均衡器应使用持续时间较长的预定义安全策略 AWS 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-1 2 (3)、3、3、 NIST.800-53.r5 SC-1 3 ( NIST.800-53.r5 SC-23)、 NIST.800-53.r5 SC-2 (4)、 NIST.800-53.r5 SC-7 (1)、 NIST.800-53.r5 SC-8 (2) NIST.800-53.r5 SC-8、NIST .800-53.r5 SI-7 NIST.800-53.r5 SC-8 (6)
类别:保护 > 数据保护 > 加密 data-in-transit
严重性:中
资源类型:AWS::ElasticLoadBalancing::LoadBalancer
AWS Config 规则:elb-predefined-security-policy-ssl-check
计划类型:已触发变更
参数:
-
predefinedPolicyName
:ELBSecurityPolicy-TLS-1-2-2017-01
(不可自定义)
此控件会检查您的 Classic Load BalancerHTTPS/SSL侦听器是否使用预定义的策略ELBSecurityPolicy-TLS-1-2-2017-01
。如果 Classic Load BalancerHTTPS/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
AWS Config 规则:elb-cross-zone-load-balancing-enabled
计划类型:已触发变更
参数:无
此控件检查是否为经典负载均衡器 () CLBs 启用了跨区域负载平衡。如果未为某CLB启用跨区域负载平衡,则控制失败。
负载均衡器节点仅在其可用区中的注册目标之间分配流量。禁用了跨区域负载均衡后,每个负载均衡器节点会仅在其可用区中的已注册目标之间分配流量。如果可用区中注册的目标数量不同,流量将不会均匀分布,并且与另一区域中的实例相比,一个区域中的实例可能最终会被过度利用。启用跨区域负载均衡后,经典负载均衡器的每个负载均衡器节点都会在所有已启用的可用区中的注册实例之间均匀分配请求。有关详细信息,请参阅弹性负载均衡用户指南中的跨可用区负载均衡。
修复
要在经典负载均衡器中启用跨区域负载均衡,请参阅经典负载均衡器用户指南中的启用跨区域负载均衡。
[ELB.10] Classic Load Balancer 应跨越多个可用区
相关要求: 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 规则:clb-multiple-az
计划类型:已触发变更
参数:
参数 | 描述 | 类型 | 允许的自定义值 | Security Hub 默认值 |
---|---|---|---|---|
|
可用区的最小数量 |
枚举 |
|
|
此控件检查 Classic Load Balancer 是否已配置为至少跨越指定数量的可用区 (AZs)。如果 Classic Load Balancer 的跨度不超过指定数量,则控制失败AZs。除非您为最小数量提供自定义参数值AZs,否则 Security Hub 将使用默认值 2 AZs。
可以将 Classic Load Balancer 设置为在单个可用区或多个可用区的 Amazon EC2 实例之间分配传入的请求。如果唯一配置的可用区不可用,则不跨多个可用区的经典负载均衡器无法将流量重定向到另一个可用区中的目标。
修复
要向经典负载均衡器添加可用区,请参阅《经典负载均衡器用户指南》中的为您的经典负载均衡器添加或删除子网。
[ELB.12] 应将 Application Load Balancer 配置为防御性或最严格的不同步缓解模式
相关要求: NIST.800-53.r5 AC-4(21)、 NIST.800-53.r5 CA-9 (1)、NIST .800-53.r5 CM-2
类别:保护 > 数据保护 > 数据完整性
严重性:中
资源类型:AWS::ElasticLoadBalancingV2::LoadBalancer
AWS Config 规则:alb-desync-mode-check
计划类型:已触发变更
参数:
desyncMode
:defensive, strictest
(不可自定义)
此控件检查应用程序负载均衡器配置了防御模式还是最严格的异步缓解模式。如果应用程序负载均衡器未配置防御或最严格的异步缓解模式,则控制失败。
HTTP不同步问题可能导致请求走私,并使应用程序容易受到请求队列或缓存中毒的影响。反过来,这些漏洞可能导致凭证填充或执行未经授权的命令。配置了防御性或最严格的不同步缓解模式的应用程序负载均衡器可保护您的应用程序免受可能由不同步引起的安全问题的影响。HTTP
修复
要更新应用程序负载均衡器的异步缓解模式,请参阅应用程序负载均衡器用户指南中的异步缓解模式。
[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
AWS Config 规则:elbv2-multiple-az
计划类型:已触发变更
参数:
参数 | 描述 | 类型 | 允许的自定义值 | Security Hub 默认值 |
---|---|---|---|---|
|
可用区的最小数量 |
枚举 |
|
|
此控件检查 Elastic Load Balancer V2(应用程序、网络或网关负载均衡器)是否注册了至少来自指定数量的可用区(AZs)的实例。如果 Elastic Load Balancer V2 中注册的实例数量不超过指定数量,则控制失败。AZs除非您为最小数量提供自定义参数值AZs,否则 Security Hub 将使用默认值 2 AZs。
Elastic Load Balancing 会自动将您的传入流量分配到一个或多个可用区域中的多个目标,例如EC2实例、容器和 IP 地址。弹性负载均衡 根据传入流量随时间的变化对负载均衡器进行扩展。建议至少配置两个可用区,以保证服务的可用性,因为当一个可用区不可用时,弹性负载均衡器可以将流量引导到另一个可用区。配置多个可用区将有助于消除应用程序的单点故障。
修复
要向应用程序负载均衡器添加可用区,请参阅应用程序负载均衡器用户指南中的应用程序负载均衡器的可用区。要向网络负载均衡器添加可用区,请参阅网络负载均衡器用户指南中的网络负载均衡器。要向网关负载均衡器添加可用区,请参阅网关负载均衡器用户指南中的创建网关负载均衡器。
[ELB.14] 应将 Classic Load Balancer 配置为防御性或最严格的不同步缓解模式
相关要求: NIST.800-53.r5 AC-4(21)、 NIST.800-53.r5 CA-9 (1)、NIST .800-53.r5 CM-2
类别:保护 > 数据保护 > 数据完整性
严重性:中
资源类型:AWS::ElasticLoadBalancing::LoadBalancer
AWS Config 规则:clb-desync-mode-check
计划类型:已触发变更
参数:
desyncMode
:defensive, strictest
(不可自定义)
此控件检查经典负载均衡器是配置了防御模式还是最严格的异步缓解模式。如果经典负载均衡器未配置防御或最严格的异步缓解模式,则控制失败。
HTTP不同步问题可能导致请求走私,并使应用程序容易受到请求队列或缓存中毒的影响。反过来,这些漏洞可能导致凭证劫持或执行未经授权的命令。配置了防御性或最严格的不同步缓解模式的经典负载均衡器可保护您的应用程序免受可能由不同步引起的安全问题的影响。HTTP
修复
要更新经典负载均衡器上的异步缓解模式,请参阅经典负载均衡器用户指南中的修改异步缓解模式。
[ELB.16] 应用程序负载均衡器应与 Web 关联 AWS WAF ACL
相关要求: NIST.800-53.r5 AC-4(21)
类别:保护 > 防护服务
严重性:中
资源类型:AWS::ElasticLoadBalancingV2::LoadBalancer
AWS Config 规则:alb-waf-enabled
计划类型:已触发变更
参数:无
此控件检查 Application Load Balancer 是否与 AWS WAF Classic 或 AWS WAF Web 访问控制列表 (WebACL) 相关联。如果 AWS WAF 配置的 Enabled
字段设置为 false
,则控制失败。
AWS WAF 是一种 Web 应用程序防火墙,可帮助保护 Web 应用程序和APIs免受攻击。使用 AWS WAF,您可以配置 WebACL,这是一组基于您定义的可自定义 Web 安全规则和条件允许、阻止或计数 Web 请求的规则。我们建议将 Application Load Balancer 与 AWS WAF 网络关联ACL,以帮助保护其免受恶意攻击。
修复
要将 Application Load Balancer 与网站关联ACL,请参阅开发者指南中的将网站ACL与 AWS 资源关联或取消关联。AWS WAF