本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Security Hub 控件适用于 CloudFront
这些 Security Hub 控件用于评估亚马逊的 CloudFront 服务和资源。
这些控件可能并非全部可用 AWS 区域。 有关更多信息,请参阅按地区划分的控件可用性。
[CloudFront.1] CloudFront 发行版应配置默认根对象
相关要求: NIST.800-53.r5 SC-7(11)、 NIST.800-53.r5 SC-7 (16)
类别:保护 > 安全访问管理 > 不可公开访问的资源
严重性:高
资源类型:AWS::CloudFront::Distribution
AWS Config 规则:cloudfront-default-root-object-configured
计划类型:已触发变更
参数:无
此控件检查 Amazon CloudFront 分配是否配置为返回默认根对象的特定对象。如果 CloudFront 发行版未配置默认根对象,则控件将失败。
用户有时可能会请求分配的根目录,URL而不是分配中的对象。发生这种情况时,指定默认根对象可以帮助您避免暴露 Web 分发的内容。
修复
要为 CloudFront 分配配置默认根对象,请参阅 Amazon CloudFront 开发者指南中的如何指定默认根对象。
[CloudFront.3] CloudFront 发行版在传输过程中应要求加密
相关要求: 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::CloudFront::Distribution
AWS Config 规则:cloudfront-viewer-policy-https
计划类型:已触发变更
参数:无
此控件可检查 Amazon CloudFront 分配是否要求查看者HTTPS直接使用或是否使用重定向。如果 ViewerProtocolPolicy
对于 defaultCacheBehavior
或 cacheBehaviors
设置为 allow-all
,则控制失败。
HTTPS(TLS) 可用于帮助防止潜在的攻击者使用 person-in-the-middle或类似的攻击来窃听或操纵网络流量。只应允许通过 HTTPS (TLS) 进行加密连接。加密传输中数据可能会影响性能。您应该使用此功能测试您的应用程序,以了解其性能概况和影响TLS。
修复
要对传输中的 CloudFront 分配进行加密,请参阅《亚马逊 CloudFront 开发者指南》 CloudFront中的 “要求HTTPS查看者之间进行通信”。
[CloudFront.4] CloudFront 发行版应配置源站故障转移
相关要求: NIST.800-53.r5 CP-10, NIST.800-53.r5 SC-36、 NIST.800-53.r5 SC-5 (2)、NIST .800-53.r5 SI-13 (5)
类别:恢复 > 弹性 > 高可用性
严重性:低
资源类型:AWS::CloudFront::Distribution
AWS Config 规则:cloudfront-origin-failover-enabled
计划类型:已触发变更
参数:无
此控件会检查 Amazon CloudFront 配送是否配置了具有两个或更多来源的起源组。
CloudFront 源站故障转移可以提高可用性。如果主源不可用或返回特定的HTTP响应状态代码,源故障转移会自动将流量重定向到辅助源。
修复
要为 CloudFront 分配配置源故障转移,请参阅《Amazon CloudFront 开发者指南》中的创建源组。
[CloudFront.5] CloudFront 发行版应启用日志记录
相关要求: NIST.800-53.r5 AC-2(4)、(26)、(9)、、 NIST.800-53.r5 AC-4 (9)、 NIST.800-53.r5 AC-6 .800-53.r5 SI-3 NIST.800-53.r5 SC-7 (8) 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-4 (20)、.800-53.r5 (20)、NIST .800-53.r5 SI-7 (8) NIST
类别:识别 > 日志记录
严重性:中
资源类型:AWS::CloudFront::Distribution
AWS Config 规则:cloudfront-accesslogs-enabled
计划类型:已触发变更
参数:无
此控件检查 CloudFront 发行版上是否启用了服务器访问日志记录。如果未为分配启用访问日志记录,则控制失败。
CloudFront 访问日志提供有关 CloudFront 收到的每个用户请求的详细信息。每个日志都包含诸如收到请求的日期和时间、发出请求的查看器的 IP 地址、请求的来源以及查看器请求的端口号等信息。
这些日志对于安全和访问审计、取证调查等应用很有用。有关如何分析访问日志的更多指导,请参阅 Amazon Athena 用户指南中的查询亚马逊 CloudFront 日志。
修复
要为 CloudFront 分配配置访问日志,请参阅 Amazon CloudFront 开发者指南中的配置和使用标准日志(访问日志)。
[CloudFront.6] CloudFront 发行版应该已启用 WAF
相关要求: NIST.800-53.r5 AC-4(21)
类别:保护 > 防护服务
严重性:中
资源类型:AWS::CloudFront::Distribution
AWS Config 规则:cloudfront-associated-with-waf
计划类型:已触发变更
参数:无
此控件检查 CloudFront 分布是否与任一分布相关联 AWS WAF 经典版或 AWS WAF 网页ACLs。如果发行版未与 Web 关联,则控制失败ACL。
AWS WAF 是一种 Web 应用程序防火墙,可帮助保护 Web 应用程序和APIs免受攻击。它允许您配置一组名为 Web 访问控制列表 (WebACL) 的规则,这些规则根据您定义的可自定义 Web 安全规则和条件允许、阻止或计数 Web 请求。确保您的 CloudFront 分发与 AWS WAF web ACL 以帮助保护它免受恶意攻击。
修复
要关联 AWS WAF ACL带有 CloudFront 发行版的 web,请参阅使用 AWS WAF在《亚马逊 CloudFront 开发者指南》中控制对您的内容的访问权限。
[CloudFront.7] CloudFront 发行版应使用自定义SSL/证书 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::CloudFront::Distribution
AWS Config 规则:cloudfront-custom-ssl-certificate
计划类型:已触发变更
参数:无
此控件检查 CloudFront 发行版是否使用默认的SSL/TLS证书 CloudFront 提供。如果 CloudFront 发行版使用自定义SSL/TLS证书,则此控件通过。如果 CloudFront 发行版使用默认的SSL/TLS证书,则此控件将失败。
自定义SSL/TLS允许您的用户使用备用域名访问内容。您可以将自定义证书存储在 AWS Certificate Manager (推荐),或者在IAM。
修复
要使用自定义SSL/TLS证书为 CloudFront 分配添加备用域名,请参阅《Amazon CloudFront 开发者指南》中的添加备用域名。
[CloudFront.8] 应使用 CloudFront 发行版SNI来处理请求 HTTPS
相关要求: NIST.800-53.r5 CA-9(1)、NIST .800-53.r5 CM-2
类别:保护 > 安全网络配置
严重性:低
资源类型:AWS::CloudFront::Distribution
AWS Config 规则:cloudfront-sni-enabled
计划类型:已触发变更
参数:无
此控件会检查 Amazon CloudFront 分销是否使用自定义SSL/TLS证书,以及是否配置SNI为用于HTTPS处理请求。如果关联了自定义SSL/TLS证书,但/su TLS pport 方法是专用 IP 地址,则此控件将失败。SSL
服务器名称指示 (SNI) 是 2010 年之后发布的浏览器和客户端所支持的TLS协议的扩展。如果您配置 CloudFront 为使用处理HTTPS请求SNI,请 CloudFront 将您的备用域名与每个边缘站点的 IP 地址相关联。当查看者提交您的内容HTTPS请求时,会将请求DNS路由到正确边缘位置的 IP 地址。您的域名的 IP 地址是在SSL/TLS握手协商期间确定的;IP 地址不是专用于您的分发的。
修复
要配置用于HTTPS处理请求的 CloudFront 分发,请参阅《 CloudFront 开发人员指南》中的 “使用SNI来HTTPS处理请求(适用于大多数客户端)”。SNI有关自定义SSL证书的信息,请参阅使用SSL/TLS证书的要求 CloudFront。
[CloudFront.9] CloudFront 发行版应加密发往自定义来源的流量
相关要求: 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::CloudFront::Distribution
AWS Config 规则:cloudfront-traffic-to-origin-encrypted
计划类型:已触发变更
参数:无
此控件可检查 Amazon CloudFront 分配是否正在加密流向自定义来源的流量。对于源协议策略允许 “仅限 http” 的 CloudFront 分发,此控制失败。如果分配的源协议策略为 “match-viewer”,而查看器协议策略为 “allow-all”,则此控制也会失败。
HTTPS(TLS) 可用于帮助防止窃听或操纵网络流量。只应允许通过 HTTPS (TLS) 进行加密连接。
修复
要更新源协议策略以要求对 CloudFront 连接进行加密,请参阅 Amazon CloudFront 开发者指南中的要求HTTPS CloudFront 与您的自定义源之间的通信。
[CloudFront.10] CloudFront 分发版不应在边缘站点和自定义源站之间使用已弃用的SSL协议
相关要求: 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、 NIST.800-53.r5 SC-1 3、(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) NIST.800-53.r5 SC-2
类别:保护 > 数据保护 > 加密 data-in-transit
严重性:中
资源类型:AWS::CloudFront::Distribution
AWS Config 规则:cloudfront-no-deprecated-ssl-protocols
计划类型:已触发变更
参数:无
此控件会检查 Amazon CloudFront 分发是否使用已弃用的SSL协议在 CloudFront 边缘站点和您的自定义源站之间进行HTTPS通信。如果 CloudFront 分配OriginSslProtocols
包含 where includes,则CustomOriginConfig
此控件将失败SSLv3
。
2015 年,互联网工程任务组 (IETF) 正式宣布,由于协议不够安全,应弃用 SSL 3.0。建议您使用 TLSv1 .2 或更高版本与您的自定义源进行HTTPS通信。
修复
要更新 CloudFront 分配的 Origin SSL 协议,请参阅 Amazon CloudFront 开发者指南中的要求HTTPS CloudFront 与您的自定义来源之间的通信。
[CloudFront.12] CloudFront 发行版不应指向不存在的 S3 来源
相关要求:NIST.800-53.r5 CM-2、.800-53.r5 CM-2 (2) NIST
类别:识别 > 资源配置
严重性:高
资源类型:AWS::CloudFront::Distribution
AWS Config 规则:cloudfront-s3-origin-non-existent-bucket
计划类型:定期
参数:无
此控件可检查亚马逊 CloudFront 分发是否指向不存在的 Amazon S3 来源。如果源配置为指向不存在的存储桶,则 CloudFront 分配的控制将失败。此控件仅适用于没有静态网站托管的 S3 存储桶是 S3 来源的 CloudFront 分配。
当您账户中的 CloudFront 分配配置为指向不存在的存储桶时,恶意第三方可以创建引用的存储桶,并通过您的分配提供自己的内容。无论路由行为如何,我们都建议您检查所有源,以确保分布指向适当的源。
修复
要修改 CloudFront 分配以指向新的来源,请参阅《Amazon CloudFront 开发者指南》中的更新分配。
[CloudFront.13] CloudFront 发行版应使用源站访问控制
类别:保护 > 安全访问管理 > 资源不公开访问
严重性:中
资源类型:AWS::CloudFront::Distribution
AWS Config 规则:cloudfront-s3-origin-access-control-enabled
计划类型:已触发变更
参数:无
此控件检查带有 Amazon S3 来源的 Amazon CloudFront 分配是否配置了源站访问控制 (OAC)。如果OAC未针对 CloudFront 分发进行配置,则控件将失败。
使用 S3 存储桶作为 CloudFront 分配的源时,您可以启用OAC。这仅允许通过指定的 CloudFront 分配访问存储桶中的内容,并禁止直接从存储桶或其他分配进行访问。尽管 CloudFront 支持 Origin Access Identity (OAI),但OAC提供了其他功能,使用的发行版OAI可以迁移到OAC。虽然OAI提供了一种安全的方式来访问 S3 源,但它也有一些局限性,例如不支持精细的策略配置和使用该POST方法的HTTP/HTTPS请求 AWS 区域 那需要 AWS 签名版本 4 (Sigv4)。OAI也不支持使用进行加密 AWS Key Management Service。 OAC是基于 AWS 使用IAM服务主体向 S3 源进行身份验证的最佳实践。
修复
要配置包OAC含 S3 来源的 CloudFront 分配,请参阅《亚马逊 CloudFront 开发者指南》中的限制对 Amazon S3 来源的访问权限。
[CloudFront.14] 应该给 CloudFront 发行版加标签
类别:识别 > 清单 > 标记
严重性:低
资源类型:AWS::CloudFront::Distribution
AWS Config 规则:tagged-cloudfront-distribution
(自定义 Security Hub 规则)
计划类型:已触发变更
参数:
参数 | 描述 | 类型 | 允许的自定义值 | Security Hub 默认值 |
---|---|---|---|---|
requiredTagKeys
|
评估的资源必须包含的非系统标签密钥列表。标签键区分大小写。 | StringList | 符合条件的标签列表 AWS 要求 | 无默认值 |
此控件会检查 Amazon CloudFront 分配是否具有参数中定义的特定密钥的标签requiredTagKeys
。如果分配没有任何标签密钥或者没有在参数中指定的所有密钥,则控件将失败requiredTagKeys
。如果requiredTagKeys
未提供该参数,则该控件仅检查标签密钥是否存在,如果分配未使用任何密钥进行标记,则该控件将失败。系统标签会自动应用并以其开头aws:
,但会被忽略。
标签是您分配给的标签 AWS 资源,它由一个键和一个可选值组成。您可以创建标签,按用途、所有者、环境或其他标准对资源进行分类。标签可以帮助您识别、组织、搜索和筛选资源。标记还可以帮助您跟踪负责任的资源所有者的操作和通知。使用标记时,可以实现基于属性的访问控制 (ABAC) 作为一种授权策略,它根据标签定义权限。您可以将标签附加到IAM实体(用户或角色)和 AWS 资源的费用。您可以为IAM委托人创建单个ABAC策略或一组单独的策略。您可以将这些ABAC策略设计为允许在委托人的标签与资源标签匹配时进行操作。有关更多信息,请参阅用ABAC途 AWS? 在《IAM用户指南》中。
注意
不要在标签中添加个人身份信息 (PII) 或其他机密或敏感信息。许多人都可以访问标签 AWS 服务,包括 AWS Billing。 有关更多标记最佳实践,请参阅为自己添加标签 AWS中的资源 AWS 一般参考.
修复
要为 CloudFront 分配添加标签,请参阅《亚马逊 CloudFront 开发者指南》中的 “为亚马逊 CloudFront 分配添加标签”。