PCI DSS 控制 - Amazon Security Hub
[PCI.AutoScaling.1] 与负载均衡器关联的 Auto Scaling 组应使用运行状况检查[PCI.CloudTrail.1] CloudTrail 日志应使用静态加密Amazon KMS keys[PCI.CloudTrail.2] 应启用 CloudTrail[PCI.CloudTrail.3] 应启用 CloudTrail 日志文件验证[PCI.CloudTrail.4] CloudTrail 跟踪应与 CloudWatch Logs 集成[PCI.CodeBuild.1] CodeBuild GitHub 或 Bitbucket 源存储库 URL 应使用 OAuth[PCI.CodeBuild.2] CodeBuild 项目环境变量不应包含明文凭证[PCI.Config.1] 应启用 Amazon Config[PCI.CW.1] 应具有有关“根”用户使用的日志指标筛选器和警报[PCI.DMS.1]Amazon Database Migration Service复制实例不应公开[PCI.EC2.1] Amazon EBS 快照不应公开还原[PCI.EC2.2] VPC 默认安全组应禁止入站和出站流量[PCI.EC2.3] 应删除未使用的 EC2 安全组(已停用)[PCI.EC2.4] 应删除未使用的 EC2 EIP[PCI.EC2.5] 安全组不应允许从 0.0.0/0 到端口 22 的传入流量[PCI.EC2.6] 应在所有 VPC 中启用 VPC 流日志记录[PCI.ELBV2.1] 应配置应 Application Load Balancer 以将所有 HTTP 请求重定向到 HTTPS[PCI.ES.1] Elasticsearch 域应位于 VPC 中[PCI.ES.2] Elasticsearch 域应启用静态加密[PCI.GuardDuty.1] 应启用 GuardDuty[PCI.IAM.1] IAM 根用户访问密钥不应存在[PCI.IAM.2] IAM 用户不应附加 IAM 策略[PCI.IAM.3] IAM 策略不应允许完全“*”管理权限[PCI.IAM.4] 应该为根用户启用硬件 MFA[PCI.IAM.5] 应该为根用户启用虚拟 MFA[PCI.IAM.6] 应该为所有 IAM 用户启用 MFA[PCIIIAM.7] 如果未在预定义的天数内使用 IAM 用户证书,则应禁用[PCI.I.IAM.8] IAM 用户的密码策略应具有可靠的配置[PCI.KMS.1] 应启用 KMS 密钥轮换[PCI.Lambda.1] Lambda 函数应禁止公开访问[PCI.Lambda.2] Lambda 函数应位于 VPC 中[PCI.OpenSearch .1] Amazon OpenSearch 域应位于 VPC 中[PCI.OpenSearch .2] OpenSearch 域应启用静态加密[PCI.RDS.1] RDS 快照应禁止公开访问[PCI.RDS.2] RDS 数据库实例应禁止公开访问[PCI.Redshift t.1] Amazon Redshift 集群应禁止公开访问[PCI.S3.1] S3 存储桶应禁止公开写入访问[PCI.S3.2] S3 存储桶应禁止公开读取访问[PCI.S3.3] S3 存储桶应启用跨区域复制[PCI.S3.4] S3 存储桶应启用服务器端加密[PCI.S3.5] S3 存储桶应要求请求才能使用安全套接字层[PCI.S3.6] 应启用 S3 阻止公有访问设置[PCI.sagemaker.1] Amazon SageMaker 笔记本实例不应直接访问互联网[PCI.SSM.1] 在安装补丁后,系统管理器管理的 Amazon EC2 实例的补丁合规性状态应该为 COMPLIANT[PCI.SSM.2] 由系统管理器管理的实例应具有关联合规性状态COMPLIANT[PCI.SSM.3] EC2 实例应由管理Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

PCI DSS 控制

Security Hub 中的 PCI DSS 安全标准支持以下控制。对于每个控制,该信息包括严重性、资源类型、Amazon Config 规则和修复步骤。

[PCI.AutoScaling.1] 与负载均衡器关联的 Auto Scaling 组应使用运行状况检查

严重性:

资源类型: AWS::AutoScaling::AutoScalingGroup

Amazon Config 规则:autoscaling-group-elb-healthcheck-required

类型:计划 已触发更改

参数:

该控制检查与负载均衡器关联的 Auto Scaling 组是否使用弹性负载均衡运行状况检查。

PCI DSS 不需要使用负载均衡或高可用性配置。不过,该检查符合 Amazon 最佳实践。

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 2.2:为所有系统组件制订配置标准。确保这些标准解决了所有已知的安全漏洞,并与行业认可的系统强化标准保持一致。

使用负载均衡复制系统可以提供高可用性,并且是一种减轻 DDoS 事件影响的方法。

这是一种用于实施系统强化配置的方法。

修复

启用 Elastic Load Balancing 运行状况检查

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格的 Auto Scaling 下,选择 Auto Scaling 组

  3. 要从列表中选择组,请选择右侧的框。

  4. Actions (操作) 中,选择 Edit (编辑)

  5. 对于运行状况检查类型,请选择 ELB

  6. 对于运行状况检查宽限期,输入 300

  7. 选择保存

有关将负载均衡器与 Auto Scaling 组一起使用的更多信息,请参阅Amazon EC2 Auto Scaling 用户指南.

[PCI.CloudTrail.1] CloudTrail 日志应使用静态加密Amazon KMS keys

严重性:

资源类型: AWS::CloudTrail::Trail

Amazon Config 规则:cloud-trail-encryption-enabled

类型:计划 定期

参数:

该控制检查是否Amazon CloudTrail配置为使用服务器端加密 (SSE)Amazon KMS key加密进行存储。

如果仅使用默认加密选项,您可以选择禁用该检查。

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 3.4:使主账号 (PAN) 在存储的任意位置(包括便携式数字媒体、备份介质和日志)中不可读。

如果您在使用Amazon处理和存储 PAN 的服务,应对 CloudTrail 日志进行静态加密。加密日志可确保在日志捕获 PAN 时对 PAN 进行保护。

默认情况下,CloudTrail 提交到 S3 存储桶的日志文件是用 Amazon S3 托管加密密密钥 (SSE-S3) 使用 Amazon 服务器端加密进行加密的。请参阅Amazon Simple Storage Service 用户指南.

您可以配置 CloudTrail 日志以利用客户托管的密钥进一步保护 CloudTrail 日志。

这些是用于使 PAN 不可读的方法。

修复

要修复此问题,请为 CloudTrail 日志文件启用加密。

有关如何使用加密 CloudTrail 日志文件的详细信息Amazon KMS托管密钥 (SSE-KMS),请参阅使用加密 CloudTrail 日志文件Amazon KMS— 托管密钥 (SSE-KMS)中的Amazon CloudTrail用户指南.

[PCI.CloudTrail.2] 应启用 CloudTrail

严重性:

资源类型: Amazon帐户

Amazon Config 规则:cloudtrail-enabled

类型:计划 定期

参数:

该控制 CloudTrail 是否在Amazonaccount.

不过,某些 Amazon 服务不会为所有 API 和事件启用日志记录。您应该实施 CloudTrail 之外的任何其他审核跟踪,并查看中的每个服务的文档。CloudTrail 支持的服务和集成.

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求关联:

PCI DSS 10.1:实施审核跟踪,将对系统组件的所有访问与每个单独的用户关联。

通过启用 CloudTrail,事件历史记录为您提供 90 天的随时可用的事件和审核跟踪,以供每个单独用户访问系统组件。

您可以在中找到用户身份eventSourceCloudTrail 日志的部分。

PCI DSS 10.2.1:为所有系统组件实施自动审核跟踪以重建以下事件:所有个人用户都可以访问持卡人数据

根据持卡人数据的存储位置,可以在userIdentityeventSourceeventName,或者responseElementsCloudTrail 日志的部分。

PCI DSS 10.2.2:为所有系统组件实施自动审核跟踪以重建以下事件:任何具有 root 权限或管理员权限的个人采取的所有操

根用户标识位于日志的 userIdentity 部分中。

PCI DSS 10.2.3:为所有系统组件实施自动审核跟踪以重建以下事件:访问所有审计跟踪

可以在日志的 eventSourceeventNameresponseElements 部分中找到对审核跟踪的访问。

PCI DSS 10.2.4:为所有系统组件实施自动审核跟踪以重建以下事件:逻辑访问尝试无效

您可以在 CloudTrail 日志中找到无效的逻辑访问尝试。例如:responseElements : "ConsoleLogin"responseElements : "Failure"

PCI DSS 10.2.5:为所有系统组件实施自动审核跟踪以重建以下事件:使用和更改标识和身份验证机制(包括但不限于创建新账户和提升权限)以及所有更改、添加或删除具有根或管理权限的账户的操作

可以在日志的 userAgenteventNameresponseElements 部分中找到使用和更改标识和身份验证机制的操作。

PCI DSS 10.2.6:为所有系统组件实施自动审核跟踪以重建以下事件:初始化、停止或暂停审计日志

启动和停止日志记录是在 CloudTrail 日志中捕获的。

CloudTrail 日志中的审核日志启动和停止示例如下所示:eventName : "StopLogging"eventName : "StartLogging"

PCI DSS 10.2.7:为所有系统组件实施自动审核跟踪以重建以下事件:创建和删除系统级对象

系统级对象的创建和删除是在 CloudTrail 日志中捕获的。一个系统级对象示例是 Amazon Lambda 函数。

CloudTrail 捕获createFunctiondeleteFunctionAPI 调用,如中所述Amazon Lambda开发人员指南.

PCI DSS 10.3.1:对于每个事件,为所有系统组件至少记录以下审核跟踪条目:用户识别

您可以在中找到用户标识userIdentityCloudTrail 日志的部分。

PCI DSS 10.3.2:对于每个事件,为所有系统组件至少记录以下审核跟踪条目:事件类型

您可以在中找到事件类型eventNameCloudTrail 日志的部分。

PCI DSS 10.3.3:对于每个事件,为所有系统组件至少记录以下审核跟踪条目:日期和时间

您可以在eventTimeCloudTrail 日志的部分。

PCI DSS 10.3.4:对于每个事件,为所有系统组件至少记录以下审核跟踪条目:指示成功或失败

您可以在responseElementsCloudTrail 日志的部分。

PCI DSS 10.3.5:对于每个事件,为所有系统组件至少记录以下审核跟踪条目:活动的起源

您可以在userAgent要么sourceIPAddressCloudTrail 日志的部分。

PCI DSS 10.3.6:对于每个事件,为所有系统组件至少记录以下审核跟踪条目:受影响的数据、系统组件或资源的身份或名称。

您可以在eventSourceCloudTrail 日志的部分。

修复

在 CloudTrail 中创建新的跟踪

  1. 使用您为进行 CloudTrail 管理配置的 IAM 用户登录 Amazon Web Services Management Console。

  2. 访问 https://console.aws.amazon.com/cloudtrail/,打开 CloudTrail 控制台。

  3. Region (区域) 选择器中,选择要在其中创建跟踪的 Amazon 区域。这是跟踪的主区域。

    主区域是一个唯一的 Amazon 区域,在此区域中,您可以在创建跟踪之后查看和更新跟踪,即使此跟踪记录所有 Amazon 区域中的事件也不例外。

  4. 在导航窗格中,选择 Trails(跟踪记录)。

  5. Trails (跟踪) 页面上,选择 Get Started Now (立即开始使用)。如果您没有看到该选项,请选择 Create Trail (创建跟踪)

  6. Trail name (跟踪名称) 中,指定跟踪的名称,例如 My-Management-Events-Trail

    作为最佳实践,请使用可快速识别跟踪用途的名称。在这种情况下,您正在创建的跟踪将记录管理事件。

  7. Management Events (管理事件) 中,确保 Read/Write events (读/写事件) 设置为 All (全部)

  8. Data Events (数据事件) 中,请勿进行任何更改。此跟踪不会记录任何数据事件。

  9. 为日志创建新的 S3 存储桶:

    1. 存储位置中,在创建新的 S3 存储桶中选择

    2. S3 bucket (S3 存储桶) 中,指定存储桶的名称,例如 my-bucket-for-storing-cloudtrail-logs

      S3 存储桶的名称必须是全局唯一的。有关 S3 存储桶命名要求的更多信息,请参阅Amazon CloudTrail用户指南.

    3. UDEAdvanced,选择对于两者的使用 SSE-KMS 加密日志文件启用日志文件验证.

  10. 选择创建

有关更多详细信息,请参阅中的教程Amazon CloudTrail用户指南.

[PCI.CloudTrail.3] 应启用 CloudTrail 日志文件验证

严重性:

资源类型: AWS::CloudTrail::Trail

Amazon Config 规则:cloud-trail-log-file-validation-enabled

类型:计划 定期

参数:

该控制检查是否启用 CloudTrail 日志文件验证。

它不会检查何时修改了配置。

要监控日志文件更改并发出警报,您可以使用 Amazon EventBridge 或 CloudWatch 指标筛选器。

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 10.5.2:保护审核跟踪文件以免受到未经授权

CloudTrail 日志文件验证会创建一个数字签名摘要文件,其中包含 CloudTrail 写入 Amazon S3 的每个日志的哈希值。

在 CloudTrail 传送日志后,您可以使用这些摘要文件来确定日志文件是已更改、已删除还是未更改。

这是一种有助于保护审核跟踪文件以免受到未经授权的修改的方法。

PCI DSS 10.5.5:在日志上使用文件完整性监控或更改检测软件,以确保在未生成警报的情况下无法更改现有的日志数据。

CloudTrail 日志文件验证会创建一个数字签名摘要文件,其中包含 CloudTrail 写入 Amazon S3 的每个日志的哈希值。

在 CloudTrail 传送日志后,您可以使用这些摘要文件来确定日志文件是已更改、已删除还是未更改。

这是一种有助于确保对日志使用文件完整性监控或更改检测软件的方法。

修复

启用 CloudTrail 日志文件验证

  1. 访问 https://console.aws.amazon.com/cloudtrail/,打开 CloudTrail 控制台。

  2. 选择 Trails (跟踪)

  3. Name (名称) 列中,选择要编辑的跟踪的名称。

  4. UDE一般细节,选择编辑.

  5. UDE其他设置,对于验证日志文件,请选择Enabled (已启用).

  6. 选择保存

[PCI.CloudTrail.4] CloudTrail 跟踪应与 CloudWatch Logs 集成

严重性:

资源类型: AWS::CloudTrail::Trail

Amazon Config 规则:cloud-trail-cloud-watch-logs-enabled

计划类型:定期

参数:

该控制检查是否配置了 CloudTrail 跟踪以将日志发送到 CloudWatch Logs。

它不会检查修改日志或日志组的用户权限。您应该创建特定的 CloudWatch 规则,以便在更改 CloudTrail 日志时发出警报

该控制也不会检查任何其他审核日志源,但发送到 CloudTrail CloudWatch Logs s 组的除外。

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 10.5.3:立即将审核跟踪文件备份到难以更改的集中式日志服务器或介质。

CloudTrail 使用 Amazon S3 存储和传送日志文件,因此,将永久存储日志文件。

CloudWatch Logs 是一种快速备份审核跟踪文件的本地方法。

修复

确保 CloudTrail 跟踪与 CloudWatch Logs 集成

  1. 访问 https://console.aws.amazon.com/cloudtrail/,打开 CloudTrail 控制台。

  2. 选择 Trails (跟踪)

  3. CloudWatch Logs Log group (CloudWatch Logs 日志组) 列中选择没有值的跟踪。

  4. 向下滚动到CloudWatch Logs (CloudWatch 日志)部分然后选择编辑.

  5. 适用于日志组在字段中,执行以下操作之一:

    • 要使用默认日志组,请保持名称不变。

    • 要使用现有日志组,请选择Feverity然后输入要使用的日志组的名称。

    • 要创建新的日志组,请选择New然后输入要创建的日志组的名称。

  6. 选择 Continue (继续)

  7. 对于 IAM role (IAM 角色),执行以下操作之一:

    • 要使用现有角色,请选择Feverity然后从下拉列表中选择角色。

    • 要创建新角色,请选择New然后为要创建的角色输入一个名称。

      将为新角色分配一个策略以授予所需的权限。

    要查看授予角色的权限,请展开策略文档.

  8. 选择保存更改

有关使用控制台配置 CloudWatch Logs 监控的更多信息,请参阅Amazon CloudTrail用户指南.

[PCI.CodeBuild.1] CodeBuild GitHub 或 Bitbucket 源存储库 URL 应使用 OAuth

严重性:重大

资源类型: AWS::CodeBuild::Project

Amazon Config 规则:codebuild-project-source-repo-url-check

计划类型:已触发更改

参数:

该控制检查 GitHub 或 Bitbucket 源存储库 URL 是否包含个人访问令牌或用户名和密码。

注意

以下区域不支持此控制。

  • 非洲(开普敦)

  • 亚太地区(大阪)

  • 欧洲(米兰)

  • Amazon GovCloud(美国东部)

  • Amazon GovCloud(美国西部)

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 8.2.1:通过使用强大的加密技术,使所有身份验证凭证(例如密码/短语)在所有系统组件上传输和存储期间不可读。

您可以在 PCI DSS 环境中使用 CodeBuild 编译源代码、运行单元测试或生成可供部署的项目。如果您这样做,则绝不应以明文方式存储或传输身份验证凭证,也不应显示在存储库 URL 中。

您应该使用 OAuth 授予权限以访问 GitHub 或 Bitbucket 存储库,而不是使用个人访问令牌或用户名和密码。这是一种使用强大加密技术使身份验证凭证不可读的方法。

修复

从 CodeBuild 项目源中删除基本身份验证/(GitHub) 个人访问令牌

  1. 打开 https://console.aws.amazon.com/codebuild/ 上的 CodeBuild 控制台。

  2. 选择包含个人访问令牌或用户名和密码的构建项目。

  3. Edit (编辑) 中,选择 Source (源)

  4. 选择 Disconnect from GitHub / Bitbucket (从 GitHub/Bitbucket 断开连接)

  5. 选择 Connect using OAuth (使用 OAuth 连接),然后选择 Connect to GitHub / Bitbucket (连接到 GitHub/Bitbucket)

  6. 在源提供商显示的消息中,进行相应的授权。

  7. 根据需要,重新配置 Repository URL (存储库 URL)additional configuration (其他配置) 设置。

  8. 选择 Update source (更新源)

要查看 CodeBuild 基于使用案例的示例,请参阅Amazon CodeBuild用户指南.

[PCI.CodeBuild.2] CodeBuild 项目环境变量不应包含明文凭证

严重性:重大

资源类型: AWS::CodeBuild::Project

Amazon Config 规则:codebuild-project-envvar-awscred-check

计划 已触发更改

参数:

该控制检查项目是否包含环境变量 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY

注意

以下区域不支持此控制。

  • 非洲(开普敦)

  • 亚太地区(大阪)

  • 欧洲(米兰)

  • Amazon GovCloud(美国东部)

  • Amazon GovCloud(美国西部)

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 8.2.1:通过使用强大的加密技术,使所有身份验证凭证(例如密码/短语)在所有系统组件上传输和存储期间不可读。

您可以在 PCI DSS 环境中使用 CodeBuild 编译源代码、运行单元测试或生成可供部署的项目。如果你这样做,切勿存储身份验证凭据AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY以明文形式显示。

使用环境变量在 CodeBuild 项目中存储凭证可能会违反以下要求:使用强大加密技术使身份验证凭证不可读。

修复

要使用环境变量在 CodeBuild 运行时中引用敏感数据,请使用以下过程。

删除环境变量

  1. 打开 https://console.aws.amazon.com/codebuild/ 上的 CodeBuild 控制台。

  2. 展开 Build (构建),选择 Build project (构建项目),然后选择包含明文凭证的构建项目。

  3. Edit (编辑) 中,选择 Environment (环境)

  4. 展开 Additional configuration (其他配置),然后滚动到 Environment variables (环境变量)

  5. 选择环境变量旁边的 Remove (删除)

  6. 选择 Update environment (更新环境)

要将敏感值存储在 Amazon EC2 Systems Manager 参数存储库中,然后从您的生成规范中检索它们

  1. 打开 https://console.aws.amazon.com/codebuild/ 上的 CodeBuild 控制台。

  2. 展开 Build (构建),选择 Build project (构建项目),然后选择包含明文凭证的构建项目。

  3. Edit (编辑) 中,选择 Environment (环境)

  4. 展开 Additional configuration (其他配置),然后滚动到 Environment variables (环境变量)

  5. InAmazon Systems Manager,创建一个包含敏感数据的 Systems Manager 参数。有关如何执行该操作的说明,请参阅Amazon Systems Manager用户指南.

  6. 在创建参数后,复制参数名称。

  7. 返回到 CodeBuild 控制台中,选择创建环境变量.

  8. 对于 name (名称),输入在构建规范中显示的变量名称。

  9. 对于 value (值),粘贴参数名称。

  10. type (类型)中,选择 Parameter (参数)

  11. 选择Remove在包含明文凭证的不合规环境变量旁边。

  12. 选择 Update environment (更新环境)

请参阅中有关构建环境中的环境变量的信息Amazon CodeBuild用户指南.

[PCI.Config.1] 应启用 Amazon Config

严重性:

资源类型: Amazon帐户

Amazon Config规则:无。要运行该检查,Security Hub 将执行中为其规定的审核步骤。保护 Amazon Web Services. 不会在您的 Amazon 环境中为该检查创建任何 Amazon Config 托管规则。

计划类型:定期

参数:

该控制检查是否已在账户中为本地区域启用了 Amazon Config,并记录所有资源。

它不会检查所有关键系统文件和内容文件的更改检测,因为 Amazon Config 仅支持一部分资源类型。

Amazon Config 服务对您账户中支持的 Amazon 资源执行配置管理,并向您提供日志文件。记录的信息包括配置项(Amazon 资源)、配置项之间的关系以及资源之间的任何配置更改。

Security Hub 建议您启用Amazon Config在所有区域中。Amazon Config 捕获的 Amazon 配置项历史记录可用于安全分析、资源更改跟踪和合规性审计。

注意

由于 Security Hub 是一项区域性服务,因此,针对此控制执行的检查仅检查账户的当前区域。它不会检查所有区域。

要允许针对每个区域中的全局资源进行安全检查,您还必须记录全局资源。如果您仅在一个区域中记录全局资源,则可以在所有区域(记录全局资源的区域除外)中禁用此控件。

有关更多信息,请参见《Amazon Config 开发人员指南》。

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 10.5.2:保护审核跟踪文件以免受到未经授权

Amazon Config 持续监控、跟踪和评估 Amazon 资源配置以获取所需的设置,并每 6 小时生成一次配置更改历史记录文件。

您应该启用 Amazon Config 以保护审核跟踪文件,以免受到未经授权的修改。

PCI DSS 11.5:部署更改检测机制以提醒人员未经授权对关键系统文件、配置文件或内容文件进行的修改,并将该软件配置为至少每周执行一次关键文件比较。

Amazon Config 持续监控、跟踪和评估 Amazon 资源配置以获取所需的设置,并每 6 小时生成一次配置更改历史记录文件。

您应该启用 Amazon Config 以确保部署了更改检测机制,并将其配置为至少每周执行一次关键文件比较。

修复

配置 Amazon Config 设置

  1. 通过以下网址打开 Amazon Config 控制台:https://console.aws.amazon.com/config/

  2. 选择要在其中配置 Amazon Config 的区域。

  3. 如果您以前未使用过 Amazon Config,请选择 Get started (开始使用)

  4. Settings (设置) 页面上,执行以下操作:

    1. UDE要记录的资源类型,选择记录该地区支持的所有资源包括全球资源(例如,AmazonIAM 资源).

    2. Amazon S3 bucket (Amazon S3 存储桶) 下面,指定要使用的存储桶,或者创建存储桶并包括前缀(可选)。

    3. UDEAmazon SNS 主题,从您的账户中选择 Amazon SNS 主题,或者创建一个 Amazon SNS 主题。有关 Amazon SNS 的更多信息,请参阅Amazon Simple Notification Service 入门指南.

    4. UDEAmazon Config角色,要么选择CreateAmazon Config服务相关角色或者选择从您的账户选择一个角色然后选择要使用的角色。

  5. 选择 Next(下一步)。

  6. 在存储库的Amazon Config规则页面,选择Severity.

  7. 选择 Confirm(确认)。

有关如何使用的更多信息Amazon Config来自 的Amazon CLI,请参阅Amazon Config开发人员指南.

您还可以使用 Amazon CloudFormation 模板自动执行这一过程。有关更多信息,请参阅《Amazon CloudFormation 用户指南》。

[PCI.CW.1] 应具有有关“根”用户使用的日志指标筛选器和警报

严重性:重大

资源类型: Amazon帐户

Amazon Config规则:无。Security Hub 运行审计步骤而不创建Amazon Config您的托管规则Amazon账户这张支票。

类型:计划 定期

参数:

该控制使用以下模式检查 CloudWatch 指标筛选器:

{ $.userIdentity.type = "Root" && $.userIdentity.invokedBy NOT EXISTS && $.eventType != "AwsServiceEvent" }

它检查以下内容:

  • 日志组名称配置为与活动多区域 CloudTrail 一起使用。

  • 跟踪具有至少一个事件选择器,将 IncludeManagementEvents 设置为 true 并将 ReadWriteType 设置为 All

  • 与警报关联的 Amazon SNS 主题具有至少一个活动订阅者。

注意

当 Security Hub 执行此控件的检查时,它会查找当前账户使用的 CloudTrail 跟踪。这些跟踪可能是属于另一个账户的组织跟踪。多区域跟踪也可能位于不同的区域。

检查结果为FAILED在以下情况下,发现:

  • 没有配置跟踪。

  • 位于当前区域且由往来账户拥有的可用跟踪不符合控制要求。

该支票导致控制状态为NO_DATA在以下情况下:

  • 多区域跟踪基于不同的区域。Security Hub 只能在跟踪所在的地区生成发现。

  • 多区域跟踪属于另一个账户。Security Hub 只能为拥有该跟踪的账户生成调查结果。

对于警报,当前账户必须拥有引用的 Amazon SNS 主题,或者必须拥有listSubscription访问 Amazon SNS 主题。否则,Security Hub 会生成WARNING控件的调查结果。

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

7.2.1 为系统组件建立一个访问控制系统,以根据需要了解的内容限制访问并将其设置为” 拒绝所有”,除非明确允许。该访问控制系统必须包括以下内容:覆盖所有系统组件。

根用户是 Amazon 账户中权限最高的用户,可以不受限制地访问 Amazon 账户中的所有资源。

如果出现以下情况,您应该设置日志指标筛选器和警报。Amazon Web Services 账户使用根用户凭证。

您还应该确保启用 CloudTrail,以保留具有根或管理权限的任何人执行的操作的审核跟踪(请参阅[PCI.CloudTrail.2] 应启用 CloudTrail)。可以在中找到根用户身份识别userIdentityCloudTrail 日志的部分。

修复

解决该问题的步骤包括设置 Amazon SNS 主题、指标筛选条件和指标筛选条件警报。

这些步骤与修复 3.3 — 确保存在关于使用 “根” 账户的日志指标筛选条件和警报 结果的步骤相同。

创建 Amazon SNS 主题

  1. 通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home

  2. 创建接收所有 CIS 警报的 Amazon SNS 主题。

    为该主题创建至少一个订阅者。

    有关创建 Amazon SNS 主题的更多信息,请参阅Amazon Simple Notification Service 开发者指南.

  3. 设置适用于所有区域的活动 CloudTrail 跟踪。

    为此,请按照2.1 — 确保在所有区域启用 CloudTrail中的修复步骤进行操作。

    记下关联的日志组名称。

创建指标筛选条件和警报

  1. 访问 https://console.aws.amazon.com/cloudwatch/,打开 CloudWatch 控制台。

  2. 选择日志,然后选择日志组.

  3. 选择 CloudTrail 正在记录的日志组。

  4. 在日志组详细信息页面上,选择指标筛选条件.

  5. 选择 Create metric filter(创建指标筛选条件)

  6. 复制以下模式,然后将其粘贴到筛选模式.

    {$.userIdentity.type="Root" && $.userIdentity.invokedBy NOT EXISTS && $.eventType !="AwsServiceEvent"}
  7. 选择 Next(下一步)。

  8. 输入新筛选器的名称。例如:RootAccountUsage

  9. 确认的值为指标名空间LogMetrics.

    这可确保将所有 CIS 基准指标分组到一起。

  10. In指标名称中,输入指标的名称。

  11. In指标值,输入1,然后选择下一步.

  12. 选择 Create metric filter(创建指标筛选条件)

  13. 接下来,设置通知。选择刚刚创建的指标筛选器,然后选择创建警报.

  14. 输入警报的阈值(例如,1),然后选择下一步.

  15. UDE选择 SNS 主题,对于Send notification to (发送通知到),选择电子邮件列表,然后选择下一步.

  16. 输入名称说明对于警报,例如RootAccountUsageAlarm,然后选择下一步.

  17. 选择 Create Alarm(创建告警)

[PCI.DMS.1]Amazon Database Migration Service复制实例不应公开

严重性:重大

资源类型: AWS::DMS::ReplicationInstance

Amazon Config 规则:dms-replication-not-public

类型:计划 定期

参数:

该控制检查是否Amazon DMS复制实例为公有实例。为此,它检查了PubliclyAccessible字段中返回的子位置类型。

私有复制实例具有无法从复制网络之外访问的私有 IP 地址。当源数据库和目标数据库位于相同的网络中并且该网络使用 VPN 连接到复制实例的 VPC 时,复制实例应具有私有 IP 地址。Amazon Direct Connect,或 VPC 对等连接。要详细了解公有和私有复制实例,请参阅公有和私有复制实例中的Amazon Database Migration Service用户指南.

你还应该确保访问你的Amazon DMS实例配置仅限于授权用户。为此,请限制用户的 IAM 修改权限Amazon DMS设置和资源。

注意

以下区域不支持此控制。

  • 非洲(开普敦)

  • 亚太地区(大阪)

  • 欧洲(米兰)

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关。

PCI DSS 1.2.1-将入站和出站流量限制为持卡人数据环境 (CDE) 所需的流量,并明确拒绝所有其他流量。

如果您使用Amazon DMS在定义的 CDE 中,设置复制实例PubliclyAccessible字段中返回'false'. 允许对复制实例的公开访问可能会违反以下要求:仅允许与 CDE 之间的所需流量。

PCI DSS 1.3.1-实施一个 DMZ,以将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

如果您使用Amazon DMS在定义的 CDE 中,设置复制实例PubliclyAccessible字段中返回'false'. 允许公开访问复制实例可能会违反以下要求:将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

PCI DSS 1.3.2-将入站互联网流量限制为 DMZ 中的 IP 地址。

如果您使用Amazon DMS在定义的 CDE 中,设置复制实例PubliclyAccessible字段中返回'false'. 允许对复制实例的公开访问可能会违反以下要求:将入站流量限制为 DMZ 中的 IP 地址。

PCI DSS 1.3.4 不允许从持卡人数据环境到 Internet 的未经授权的出站流量。

如果您使用Amazon DMS在定义的 CDE 中,设置复制实例PubliclyAccessible字段中返回'false'. 允许公开访问复制实例可能会违反以下要求:阻止从持卡人数据环境到 Internet 的未经授权的出站流量。

PCI DSS 1.3.6 将存储持卡人数据的系统组件(例如数据库)放置在与 DMZ 和其他不受信任的网络隔离的内部网络区域中。

如果您使用Amazon DMS在定义的 CDE 中,要迁移存储持卡人数据的数据库,请设置复制实例PubliclyAccessible字段中返回'false'. 允许公开访问复制实例可能会违反以下要求:将存储持卡人数据的系统组件放置在与 DMZ 和其他不受信任的网络隔离的内部网络区域中。

修复

请注意,创建复制实例后,您无法更改公共访问设置。必须删除并重新创建它。

配置Amazon DMS复制实例设置为不可公开访问

  1. 打开 Amazon Database Migration Service 控制台 (https://console.aws.amazon.com/dms/)。

  2. 在左侧导航窗格中的下资源管理导航到复制实例.

  3. 要删除公有实例,请选中该实例的复选框,选择操作,然后选择删除.

  4. 选择创建复制实例。提供配置详细信息。

  5. 要禁用公有访问,请确保公开访问未选中。

  6. 选择创建

有关更多信息,请参阅上的部分创建复制实例中的Amazon Database Migration Service用户指南.

[PCI.EC2.1] Amazon EBS 快照不应公开还原

严重性:重大

资源类型: AWS::EC2::Volume

Amazon Config 规则:ebs-snapshot-public-restorable-check

类型:计划 定期

参数:

该控制检查每个人是否可公开还原 Amazon Elastic Block Store 快照,从而使其变为公有快照。除非您明确允许,否则 Amazon EBS 快照不应公开可由所有人恢复,以避免意外泄露公司的敏感数据。

您还应该确保将更改 Amazon EBS 配置的权限限制为已授权。Amazon仅限账户。了解有关管理 Amazon EBS 快照权限的更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南.

注意

以下区域不支持此控制。

  • 非洲(开普敦)

  • 亚太地区(大阪)

  • 欧洲(米兰)

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

1.2.1 将入站和出站流量限制为持卡人数据环境 (CDE) 所需的流量,并明确拒绝所有其他流量。

Amazon EBS 快照用于在特定时间点将 Amazon EBS 卷上的数据备份到 Amazon S3。它们可用于还原 EBS 卷的先前状态。

如果 Amazon EBS 快照存储持卡人数据,则每个人不应公开还原该快照。这会违反以下要求:仅允许与 CDE 之间的所需流量。

PCI DSS 1.3.1:实施 DMZ 以将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

Amazon EBS 快照用于在特定时间点将 Amazon EBS 卷上的数据备份到 Amazon S3。它们可用于将 Amazon EBS 卷还原到之前的状态。

如果 Amazon EBS 快照存储持卡人数据,则每个人不应公开还原该快照。这会违反以下要求:将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

1.3.4 不允许从持卡人数据环境到 Internet 的未经授权的出站流量。

Amazon EBS 快照用于在特定时间点将 Amazon EBS 卷上的数据备份到 Amazon S3,并且可用于还原 EBS 卷的以前状态。

如果 Amazon EBS 快照存储持卡人数据,则每个人不应公开还原该快照。这会违反以下要求:阻止从持卡人数据环境到 Internet 的未经授权的出站流量。

7.2.1 为系统组件建立一个访问控制系统,以根据需要了解的内容限制访问并将其设置为” 拒绝所有”,除非明确允许。该访问控制系统必须包括以下内容:覆盖所有系统组件。

Amazon EBS 快照用于在特定时间点将 Amazon EBS 卷上的数据备份到 Amazon S3。它们可用于将 Amazon EBS 卷还原到之前的状态。

如果 Amazon EBS 快照存储持卡人数据,则每个人不应公开还原该快照。这可能会违反以下要求:确保将对系统组件的访问限制为所需的最小权限或用户需要了解的内容。

修复

将公有 Amazon EBS 快照变为私有快照

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中的下Elastic Block Store,选择快照然后选择你的公共快照。

  3. 选择 Actions (操作),然后选择 Modify permissions (修改权限)

  4. 选择 Private (私有)

  5. (可选)添加Amazon授权账户的账号,以便与其共享您的快照。

  6. 选择 Save

有关共享 Amazon EBS 快照的更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南.

[PCI.EC2.2] VPC 默认安全组应禁止入站和出站流量

严重性:

资源类型: AWS::EC2::SecurityGroup

Amazon Config 规则:vpc-default-security-group-closed

类型:计划 已触发更改

参数:

该控制检查 VPC 的默认安全组是否不允许入站或出站流量。

它不会检查其他非默认安全组和其他 VPC 配置的访问限制。

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

1.2.1 将入站和出站流量限制为持卡人数据环境 (CDE) 所需的流量,并明确拒绝所有其他流量。

如果 PCI DSS 范围内的服务与默认安全组关联,该安全组的默认规则将允许所有出站流量。规则还允许来自分配给相同安全组的网络接口(及其关联实例)的所有入站流量。

您应该更改默认安全组规则设置以限制入站和出站流量。使用默认设置可能会违反以下要求:仅允许与 CDE 之间的所需流量。

1.3.4 不允许从持卡人数据环境到 Internet 的未经授权的出站流量。

如果 PCI DSS 范围内的服务与默认安全组关联,该安全组的默认规则将允许所有出站流量。规则还允许来自分配给相同安全组的网络接口(及其关联实例)的所有入站流量。

您应该更改默认安全组规则设置以限制未经授权的入站和出站流量。默认使用默认设置可能会违反以下要求:阻止从持卡人数据环境到 Internet 的未经授权的出站流量。

PCI DSS 2.1:在网络上安装系统之前,始终更改供应商提供的默认设置,并删除或禁用不需要的默认账户。

如果 PCI DSS 范围内的服务与默认安全组关联,该安全组的默认规则将允许所有出站流量。规则还允许来自分配给相同安全组的网络接口(及其关联实例)的所有入站流量。

您应该更改默认安全组规则设置以限制入站和出站流量。使用默认值可能会违反以下要求:删除或禁用不需要的默认账户。

修复

要修复此问题,请创建新的安全组并将这些安全组分配给您的资源。要防止使用默认安全组,请删除其入站和出站规则。

创建新的安全组并将其分配给您的资源

  1. 通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  2. 在导航窗格中,选择 Security groups (安全组)。查看默认安全组详细信息以了解分配给它们的资源。

  3. 为资源创建一组最小权限安全组。有关如何创建安全组的详细信息,请参阅。创建安全组中的Amazon VPC User Guide.

  4. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  5. 在 Amazon EC2 控制台上,将使用默认安全组的资源的安全组更改为您创建的最小权限安全组。请参阅更改实例的安全组中的Amazon VPC User Guide.

将新安全组分配给资源后,请从默认安全组中删除入站和出站规则。这可确保不使用默认安全组。

从默认安全组中删除规则

  1. 通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  2. 在导航窗格中,选择 Security groups (安全组)

  3. 选择默认安全组,然后选择入站规则选项卡。选择编辑入站规则. 然后删除所有入站规则。选择 Save rules (保存规则)

  4. 对每个默认安全组重复上一步骤。

  5. 选择默认安全组,然后选择出站规则选项卡。选择编辑出站规则. 然后删除所有出站规则。选择 Save rules (保存规则)

  6. 对每个默认安全组重复上一步骤。

有关在 Amazon VPC 中使用安全组的更多信息,请参阅Amazon VPC User Guide.

[PCI.EC2.3] 应删除未使用的 EC2 安全组(已停用)

这项控制已停用。

[PCI.EC2.4] 应删除未使用的 EC2 EIP

严重性:

资源类型: AWS::EC2::EIP

Amazon Config 规则:eip-attached

类型:计划 已触发更改

参数:

该控制检查分配给 VPC 的弹性 IP 地址是否附加到 Amazon EC2 实例或正在使用的弹性网络接口 (ENI)。

失败的结果表示,您可能具有未使用的 Amazon EC2 EIP。

这将帮助您保留持卡人数据环境 (CDE) 中的 EIP 的准确资产清单。

注意

该控制在非洲(开普敦)或欧洲(米兰)不支持。

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 2.4:保留 PCI DSS 范围内的系统组件的清单。

如果未将 EIP 附加到 Amazon EC2 实例,这表明不再使用该资源。

除非具有业务需求以保留该资源,否则,应删除未使用的资源以保留准确的系统组件清单。

修复

如果您不再需要弹性 IP 地址,则 Security Hub 建议您解除此弹性 IP 地址 (地址不可与实例相关联)。

使用控制台释放弹性 IP 地址

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中的网络与安全下,选择弹性 IP

  3. 选择弹性 IP 地址,选择操作,然后选择释放弹性 IP 地址.

  4. 系统提示时,选择 Release

有关更多信息,请参阅中有关释放弹性 IP 地址的信息。适用于 Linux 实例的 Amazon EC2 用户指南.

[PCI.EC2.5] 安全组不应允许从 0.0.0/0 到端口 22 的传入流量

严重性:

资源类型: AWS::EC2::SecurityGroup

Amazon Config 规则:restricted-ssh

类型:计划 已触发更改

参数:

该控制检查所用安全组是否禁止无限制传入 SSH 流量。

它不评估出站流量。

请注意,安全组是有状态的。如果您从实例发送一个请求,则无论入站安全组规则如何,都将允许该请求的响应流量流入。对允许的入站流量的响应可以流出,而无论出站规则为何。有关安全组的更多信息,请参阅您的 VPC 的安全组中的Amazon VPC User Guide.

注意

以下区域不支持此控制。

  • 非洲(开普敦)

  • 亚太地区(大阪)

  • 欧洲(米兰)

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 1.2.1-将入站和出站流量限制为持卡人数据环境 (CDE) 所需的流量,并明确拒绝所有其他流量。

您可以允许 SSH 流量到达定义的 CDE 中的实例。如果是,请将入站 SSH 源限制为 0.0.0.0/0 (任何位置) 到特定的 IP 地址或范围。保留 SSH 的无限访问可能会违反以下要求:仅允许与 CDE 之间的所需流量。

PCI DSS 1.3.1-实施一个 DMZ,以将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

您可以允许 SSH 流量到达定义的 CDE 中的实例。如果是,请将入站 SSH 源限制为 0.0.0.0/0 (任何位置) 到特定的 IP 地址或范围。如果不受限制地访问 SSH 可能会违反以下要求:将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

PCI DSS 2.2.2 仅启用系统功能所需的必要服务、协议、守护程序等。

您可以允许 SSH 流量到达定义的 CDE 中的实例。如果是这样,请根据安全组功能所需的将入站 SSH 源从 0.0.0.0/0(任何地方)限制为特定 IP 地址或范围。在 CDE 中,安全组可以被视为系统组件,应适当加强。不受限制地访问 SSH 可能会违反仅启用系统功能所需的必要服务、协议、守护程序等的要求。

修复

对与 VPC 关联的每个安全组执行以下步骤。

从安全组中删除对端口 22 的访问

  1. 通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  2. 在导航窗格中的下安全,选择安全组.

  3. 选择一个安全组。

  4. 在页面底部,选择入站规则.

  5. 选择编辑入站规则.

  6. 确定允许通过端口 22 进行访问的规则,然后选择 X 将其删除。

  7. 选择 Save rules (保存规则)

[PCI.EC2.6] 应在所有 VPC 中启用 VPC 流日志记录

严重性:

资源类型: AWS::EC2::VPC

Amazon Config 规则:vpc-flow-logs-enabled

类型:计划 定期

参数:

  • trafficTypeREJECT

该控制检查 VPC 流日志是否已为 VPC 找到并启用 VPC 流日志。流量类型设置为REJECT.

通过 VPC Flow Logs,您可以捕获有关在您的 VPC 中传入和传出网络接口的 IP 地址流量的信息。创建流日志后,您可以使用 CloudWatch Logs 查看和检索日志数据。

Security Hub 建议您为 VPC 拒绝的数据包启用流日志记录。流日志提供对穿过 VPC 的网络流量的可见性。他们可以检测异常流量并深入了解安全工作流程。

默认情况下,记录包括 IP 地址流的不同组件的值,包括源、目标和协议。有关日志字段的更多信息和说明,请参阅VPC 流日志中的Amazon VPC User Guide.

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关。

PCI DSS 10.3.3 验证日志条目中包含日期和时间戳。

通过为 VPC 启用 VPC 流日志记录,您可以识别日志条目的日期和时间。事件日期和时间记录在开始和结束字段中。这些值以 Unix 秒为单位显示。

PCI DSS 10.3.4 验证日志条目中包含成功或失败指示。

通过为 VPC 启用 VPC 流日志记录,您可以识别发生的事件类型。事件的类型记录在操作字段中,可以是ACCEPT要么REJECT.

PCI DSS 10.3.5 验证日志条目中包含事件的起源。

通过为 VPC 启用 VPC 流日志记录,您可以验证事件的来源。事件来源记录在pkt-srcaddrsrcaddr, 和srcport字段之间没有不同。这些字段显示流量的源 IP 地址和源端口。

PCI DSS 10.3.6 验证日志条目中包含受影响的数据、系统组件或资源的身份或名称。

通过为 VPC 启用 VPC 流日志记录,您可以验证受影响的数据、系统组件或资源的身份或名称。这些区域有:pkt-dstaddrdstaddr, 和dstport该字段显示流量的目标 IP 地址和目标端口。

修复

要修复此问题,请启用 VPC 流日志记录。

启用 VPC 流日志记录

  1. 通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  2. 在导航窗格中的下Virtual Private Cloud,选择您的 VPC.

  3. 选择要更新的 VPC。

  4. 在页面底部选择流日志.

  5. 选择 Create flow log (创建流日志)

  6. 对于 Filter (筛选条件),选择 Reject (拒绝)

  7. 适用于目标日志组的日志组中,选择要使用的日志组。

  8. 如果你选择CloudWatch Logs (CloudWatch 日志)对于你的目标日志组,IAM 角色中,选择要使用的 IAM 角色。

  9. 选择创建

[PCI.ELBV2.1] 应配置应 Application Load Balancer 以将所有 HTTP 请求重定向到 HTTPS

严重性:

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

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

类型:计划 定期

参数:

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

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

要了解更多信息,请参阅Application Load Balancer 的侦听器适用于应用程序负载均衡器的用户指南.

注意

以下区域不支持此控制。

  • 非洲(开普敦)

  • 亚太地区(大阪)

  • 欧洲(米兰)

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 2.3 使用强加密技术对所有非控制台管理访问进行加密。

如果将应用程序负载均衡器与 HTTP 侦听器结合使用,请确保监听程序被重定向到 HTTPS 以进行任何非控制台管理访问。允许持卡人数据环境的管理员通过 HTTP 进行未加密身份验证,可能会违反使用强加密技术加密所有非控制台管理访问权限的要求。

PCI DSS 4.1 使用强大的加密和安全协议在通过开放的公共网络传输过程中保护敏感的持卡人数据。

如果将应用程序负载均衡器与 HTTP 侦听器结合使用,请确保监听程序被重定向到 HTTPS 以进行持卡人数据的任何传输。允许以未加密方式传输持卡人数据可能违反了在通过开放的公共网络传输过程中使用强大的加密和安全协议来保护敏感持卡人数据的要求。

修复

要修复此问题,请将 HTTP 请求重定向到 HTTPS。

将 HTTP 请求重定向到 Application Load Balancer 上的 HTTPS

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

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

  3. 选择 Application Load Balancer。

  4. 选择侦听器.

  5. 选中 HTTP 侦听器(端口 80 TCP)的复选框,然后选择编辑.

  6. 如果存在现有规则,则必须将其删除。否则,请选择,添加操作选择,然后选择重定向至....

  7. 选择 HTTPS,然后输入 443

  8. 选择圆形符号中的复选标记,然后选择 Update (更新)

[PCI.ES.1] Elasticsearch 域应位于 VPC 中

严重性:重大

资源类型: AWS::Elasticsearch::Domain

Amazon Config 规则:elasticsearch-in-vpc-only

类型:计划 定期

参数:

该控制检查 Elasticsearch 域是否位于 VPC 中。

它不会评估 VPC 子网路由配置以确定可公开访问性。

该 Amazon 控制也不会检查 OpenSearch Service 基于资源的策略是否允许其他账户或外部实体进行公开访问。您应该确保 Elasticsearch 域未连接到公有子网。请参阅基于资源的策略中的Amazon OpenSearch Service开发人员指南.

您还应该确保根据建议的最佳实践配置了 VPC。请参阅VPC 的安全最佳实践中的Amazon VPC User Guide.

注意

在亚太地区(大阪)不支持。

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

1.2.1 将入站和出站流量限制为持卡人数据环境 (CDE) 所需的流量,并明确拒绝所有其他流量。

如果您的OpenSearch Service集群包含持卡人数据,OpenSearch Service域名应放置在 VPC 中。这样做可实现之间的安全通信OpenSearch Service和 VPC 中的其他服务,而无需 Internet 网关、NAT 设备或 VPN 连接端口。

该方法用于仅允许与 CDE 之间的所需流量。

PCI DSS 1.3.1:实施 DMZ 以将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

如果您的OpenSearch Service集群包含持卡人数据,OpenSearch Service域名应放置在 VPC 中。这样做可实现之间的安全通信OpenSearch Service和 VPC 中的其他服务,而无需 Internet 网关、NAT 设备或 VPN 连接端口。

该方法用于将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

1.3.2 将入站 Internet 流量限制为 DMZ 中的 IP 地址。

如果 OpenSearch Service 集群包含持卡人数据,则应将 OpenSearch Service 域放置在 VPC 中,这样,就可以在 OpenSearch Service 和 VPC 中的其他服务之间进行安全通信,而无需使用 Internet 网关、NAT 设备或 VPN 连接端口。

该方法用于将入站 Internet 流量限制为 DMZ 中的 IP 地址。

您还可以使用基于资源的策略,并指定 IP 条件以根据源 IP 地址限制访问。请参阅博客文章如何控制对 Amazon OpenSearch Service 域的访问

1.3.4 不允许从持卡人数据环境到 Internet 的未经授权的出站流量。

如果 OpenSearch Service 集群包含持卡人数据,则应将 OpenSearch Service 域放置在 VPC 中,这样,就可以在 OpenSearch Service 和 VPC 中的其他服务之间进行安全通信,而无需使用 Internet 网关、NAT 设备或 VPN 连接端口。

该方法用于阻止从持卡人数据环境到 Internet 的未经授权的出站流量。

1.3.6 将存储持卡人数据的系统组件(例如数据库)放置在与 DMZ 和其他不受信任的网络隔离的内部网络区域中。

如果您的OpenSearch Service集群包含持卡人数据,OpenSearch Service域名应放置在 VPC 中。这样做可实现之间的安全通信OpenSearch Service和 VPC 中的其他服务,而无需 Internet 网关、NAT 设备或 VPN 连接端口。

该方法用于将存储持卡人数据的系统组件放置在与 DMZ 和其他不受信任的网络隔离的内部网络区域中。

修复

如果您创建一个具有公有终端节点的域,则以后无法将其放置在 VPC 中。您必须创建一个新的域,然后迁移数据。

反之亦然。如果在 VPC 中创建一个域,则该域不能具有公有终端节点。您必须创建另一个域或禁用该控制。

请参阅启动Amazon OpenSearch ServiceVPC 内的域中的Amazon OpenSearch Service开发人员指南.

[PCI.ES.2] Elasticsearch 域应启用静态加密

严重性:

资源类型: AWS::Elasticsearch::Domain

Amazon Config 规则:elasticsearch-encrypted-at-rest

类型:计划 定期

参数:

该控制检查 Elasticsearch 域是否启用了静态加密配置。

注意

在亚太地区(大阪)不支持。

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 3.4:使主账号 (PAN) 在存储的任意位置(包括便携式数字媒体、备份介质和日志)中不可读。

如果您使用 OpenSearch Service 存储信用卡主账号 (PAN),应启用 OpenSearch Service 域静态加密以保护 PAN。

如果启用,它会对域的以下方面进行加密:指数、自动快照、OpenSearch Service日志、交换文件以及应用程序目录中的所有其他数据。

这是一种用于使 PAN 不可读的方法。

修复

默认情况下,域不对数据进行静态加密,并且您无法配置现有的域以使用该功能。

要启用该功能,您必须创建另一个域并迁移数据。有关创建域的信息,请参阅Amazon OpenSearch Service开发人员指南.

数据静态加密需要使用 OpenSearch Service 5.1 或更高版本。有关对数据进行静态加密的更多信息OpenSearch Service,请参阅Amazon OpenSearch Service开发人员指南.

[PCI.GuardDuty.1] 应启用 GuardDuty

严重性:

资源类型: Amazon帐户

Amazon Config 规则:guardduty-enabled-centralized

类型:计划 定期

参数:

该控制检查是否在您的中心启用了 Amazon GuardDutyAmazon账户和区域。

虽然 GuardDuty 可以有效抵御入侵检测系统通常会保护的攻击,但它可能不是每个环境的完整解决方案。该规则也不检查是否生成对人员的警报。有关 GuardDuty 的更多信息,请参阅Amazon GuardDuty 用户指南.

注意

以下区域不支持此控制。

  • 非洲(开普敦)

  • 亚太地区(大阪)

  • 中国(北京)

  • 中国(宁夏)

  • Europe (Milan)

  • Middle East (Bahrain)

  • Amazon GovCloud(美国东部)

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 11.4 使用入侵检测和/或入侵防护技术来检测和/或防止入侵网络。

GuardDuty 可以通过监控持卡人数据环境周边及其中的所有关键点的流量来帮助满足 11.4 的要求。它还可以使所有入侵检测引擎、基线和签名保持最新状态。调查结果来自 GuardDuty。您可以使用 Amazon CloudWatch 向人员发送这些警报。请参阅使用 Amazon CloudWatch Events 创建对 GuardDuty 发现的自定义响应中的Amazon GuardDuty 用户指南. 在你的中没有启用 GuardDutyAmazon帐户可能违反使用入侵检测和/或预防技术来防止入侵网络的要求。

修复

要修复此问题,请启用 GuardDuty。

有关如何启用 GuardDuty 的详细信息,包括如何使用Amazon Organizations要管理多个账户,请参阅入门使用 GuardDuty中的Amazon GuardDuty 用户指南.

[PCI.IAM.1] IAM 根用户访问密钥不应存在

严重性:重大

资源类型: Amazon帐户

Amazon Config 规则:iam-root-access-key-check

类型:计划 定期

参数:

该控制检查根用户的用户访问密钥是否存在。

注意

该控制不受非洲(开普敦)或亚太地区(大阪)支持。

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 2.1:在网络上安装系统之前,始终更改供应商提供的默认设置,并删除或禁用不需要的默认账户。

这些区域有:Amazon Web Services 账户根用户是权限最高的Amazon用户。Amazon访问密钥提供对特定账户的编程访问。

不应为根用户创建访问密钥,因为这可能会违反以下要求:删除或禁用不需要的默认账户。

PCI DSS 2.2:为所有系统组件制订配置标准。确保这些标准解决了所有已知的安全漏洞,并与行业认可的系统强化标准保持一致。

根用户是权限最高的用户Amazon用户。Amazon访问密钥提供对特定账户的编程访问。

不应为根用户创建访问密钥,因为这可能会违反以下要求:实施系统强化配置。

7.2.1 为系统组件建立一个访问控制系统,以根据需要了解的内容限制访问并将其设置为” 拒绝所有”,除非明确允许。该访问控制系统必须包括以下内容:覆盖所有系统组件。

根用户是权限最高的用户Amazon用户。Amazon访问密钥提供对特定账户的编程访问。

不应为根用户创建访问密钥。这样做可能会违反以下要求:确保将对系统组件的访问限制为所需的最小权限或用户需要了解的内容。

修复

删除访问密钥

  1. 使用根用户凭证登录您的账户。

  2. 选择页面右上角附近的账户名称,然后选择 My Security Credentials (我的安全凭证)

  3. 在弹出警告中,选择 Continue to Security Credentials (继续安全凭证)

  4. 选择 Access keys (access key ID and secret access key) (访问密钥 (访问密钥 ID 和秘密访问密钥))

  5. 要永久删除密钥,请选择 Delete (删除),然后选择 Yes (是)。您无法恢复已删除的密钥。

  6. 如果有多个 root 用户访问密钥,则为每个密钥重复步骤 4 和 5。

[PCI.IAM.2] IAM 用户不应附加 IAM 策略

严重性:

资源类型: AWS::IAM::User

Amazon Config 规则:iam-user-no-policies-check

类型:计划 已触发更改

参数:

该控制检查您的所有 IAM 用户都没有附加策略。该 IAM 用户必须继承来自 IAM 组或角色的权限。

它不会检查是否将最小权限策略应用于 IAM 角色和组。

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

7.2.1 为系统组件建立一个访问控制系统,以根据需要了解的内容限制访问并将其设置为” 拒绝所有”,除非明确允许。该访问控制系统必须包括以下内容:覆盖所有系统组件。

IAM 策略是指如何为中的用户、组或角色授予权限Amazon.

默认情况下,IAM 用户、组和角色无权访问Amazon资源直到 IAM 策略附加到它们之前。

要管理最小权限访问并降低 PCI DSS 范围内的资源的访问管理复杂性,您应该在组或角色级别而不是用户级别分配 IAM 策略。

通过降低访问管理复杂性,可以降低委托人无意中获得或保留过多权限的可能性。

这是一种用于确保将对包含持卡人数据的系统组件的访问限制为所需的最小权限或用户需要了解的内容的方法。

修复

要解决此问题,请执行以下操作:

  1. 创建 IAM 组

  2. 将策略分配给组

  3. 将用户添加到组

策略将应用于组中的每一位用户。

创建 IAM 组

  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 选择 Groups (组),然后选择 Create New Group (创建新组)

  3. 输入要创建的组的名称,然后选择 Next Step (下一步)

  4. 选择要分配给该组的每个策略,然后选择 Next Step (下一步)

    选择的策略应包括当前直接附加到用户账户的任何策略。要解决未通过检查的问题,下一步是将用户添加到组,然后向该组分配策略。

    分配给组的策略将应用于组中的每一位用户。

  5. 确认 Review (审核) 页面上的详细信息,然后选择 Create Group (创建组)

有关创建 IAM 组的更多信息,请参阅IAM 用户指南.

将用户添加到 IAM 组

  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 选择 Groups(组)

  3. 选择组操作,然后选择 Add Users to Group (向组添加多个用户)

  4. 选择要添加到组的用户,然后选择 Add Users (添加用户)

有关向组中添加用户的更多信息,请参阅IAM 用户指南.

删除直接附加到用户的策略

  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 选择 Users(用户)。

  3. 要从用户中分离策略,请在 User name (用户名) 列中选择名称。

  4. 对于 Attached directly (直接附加) 下面列出的每个策略,要从用户中删除策略,请选择页面右侧的 X,然后选择 Remove (删除)

  5. 确认用户仍可按预期使用 Amazon 服务。

[PCI.IAM.3] IAM 策略不应允许完全“*”管理权限

严重性:

资源类型: AWS::IAM::Policy

Amazon Config 规则:iam-policy-no-statements-with-admin-access

类型:计划 已触发更改

参数:

该控制检查 Amazon Identity and Access Management 策略(也称为客户托管策略)的默认版本是否没有管理员访问权限,并且语句具有 "Effect": "Allow" with "Action": "*" over "Resource": "*"

它仅检查您创建的客户托管策略,而不检查各个服务(例如“S3:*”)的完全访问权限。

它不会检查内联和Amazon托管策略.

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

7.2.1 为系统组件建立一个访问控制系统,以根据需要了解的内容限制访问并将其设置为” 拒绝所有”,除非明确允许。该访问控制系统必须包括以下内容:覆盖所有系统组件。

提供完全管理权限而不是限制为所需的最小权限可能会违反以下要求:确保将对系统组件的访问限制为所需的最小权限或用户需要了解的内容。

修复

修改 IAM 策略

  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 选择策略

  3. 选择要删除的策略旁边的单选按钮。

  4. Policy actions (策略操作) 中,选择 Detach (分离)

  5. Detach policy (分离策略) 页面上,选择要从中分离策略的每个用户旁边的单选按钮,然后选择 Detach policy (分离策略)

  6. 确认分离策略后,用户仍可按预期访问 Amazon 服务和资源。

[PCI.IAM.4] 应该为根用户启用硬件 MFA

严重性:重大

资源类型: Amazon帐户

Amazon Config 规则:root-account-hardware-mfa-enabled

类型:计划 定期

参数:

该控制检查是否您的Amazon启用账户,以使用多重身份验证 (MFA) 硬件设备通过根用户凭证登录。

它不会检查您是否使用虚拟 MFA。

要满足 PCI DSS 要求 8.3.1,您可以在硬件 MFA(该控制)和虚拟 MFA([PCI.IAM.5] 应该为根用户启用虚拟 MFA)之间进行选择。

基于时间的一次性密码 (TOTP) 和通用二重 (U2F) 令牌都可以作为硬件 MFA 选项。

注意

以下区域不支持此控制。

  • 中国(北京)

  • China (Ningxia)

  • Amazon GovCloud(美国东部)

  • Amazon GovCloud(美国西部)

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

为 将所有非控制台访问的多重身份验证加入具有管理访问权限的人员的持卡人数据环境 (CDE) 中。

根用户是账户中权限最高的用户。

MFA 在用户名和密码之上增加了一层额外的防护。如果具有管理权限的用户通过网络接口而不是到系统组件的直接物理连接访问持卡人数据环境,并且没有实际位于他们管理的计算机前面,则需要使用 MFA。

启用硬件 MFA 是一种用于为所有非控制台管理访问加入多重身份验证 (MFA) 的方法。

修复

为根账户启用基于硬件的 MFA

  1. 使用根用户凭证登录您的账户。

  2. 选择页面右上角的账户名称,然后选择 My Security Credentials (我的安全凭证)

  3. 在警告中,选择 Continue to Security Credentials (继续使用安全凭证)

  4. 选择 Multi-Factor Authentication (MFA) (多重身份验证 (MFA))

  5. 选择 Activate MFA (激活 MFA)

  6. 选择要用于 MFA 的基于硬件(非虚拟)的设备,然后选择 Continue (继续)

  7. 完成配置适合您选择的设备类型的步骤。

[PCI.IAM.5] 应该为根用户启用虚拟 MFA

严重性:重大

资源类型: Amazon帐户

Amazon Config 规则:root-account-mfa-enabled

类型:计划 定期

参数:

该控制检查用户是否有Amazon要使用根用户凭证登录账户需要使用多重身份验证 (MFA) 设备登录。

它不会检查您是否使用硬件 MFA。

要满足 PCI DSS 要求 8.3.1,您可以在虚拟 MFA(该控制)和硬件 MFA([PCI.IAM.4] 应该为根用户启用硬件 MFA)之间进行选择。

注意

以下区域不支持此控制。

  • 中国(北京)

  • China (Ningxia)

  • Amazon GovCloud(美国东部)

  • Amazon GovCloud(美国西部)

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

为 将所有非控制台访问的多重身份验证加入具有管理访问权限的人员的持卡人数据环境 (CDE) 中。

根用户是账户中权限最高的用户。

MFA 在用户名和密码之上增加了一层额外的防护。如果具有管理权限的用户访问持卡人数据环境,并且没有实际位于他们管理的计算机前面,则需要使用 MFA。

启用虚拟 MFA 是一种用于为所有非控制台管理访问加入多重身份验证 (MFA) 的方法。

修复

为根账户启用 MFA

  1. 使用根用户凭证登录您的账户。

  2. 选择页面右上角的账户名称,然后选择 My Security Credentials (我的安全凭证)

  3. 在警告中,选择 Continue to Security Credentials (继续使用安全凭证)

  4. 选择 Multi-Factor Authentication (MFA) (多重身份验证 (MFA))

  5. 选择 Activate MFA (激活 MFA)

  6. 选择要用于 MFA 的设备类型,然后选择 Continue (继续)

  7. 完成配置适合您选择的设备类型的步骤。

[PCI.IAM.6] 应该为所有 IAM 用户启用 MFA

严重性:

资源类型: AWS::IAM::User

Amazon Config 规则:iam-user-mfa-enabled

类型:计划 定期

参数:

该控制检查 IAM 用户是否启用了多重身份验证 (MFA)。

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

为 将所有非控制台访问的多重身份验证加入具有管理访问权限的人员的持卡人数据环境 (CDE) 中。

为所有 IAM 用户启用 MFA 是一种用于为所有非控制台管理访问加入多重身份验证 (MFA) 的方法。

修复

为用户配置 MFA

  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 选择 Users(用户)。

  3. 选择要配置 MFA 的用户的用户名。

  4. 选择安全凭证选择,然后选择Manage旁边分配 MFA 设备.

  5. 跟随管理 MFA 设备向导指定适合您环境的设备类型。

要了解如何将 MFA 设置委派给用户,Amazon安全博客帖子如何将多重身份验证的管理委托给AmazonIAM 用户.

[PCIIIAM.7] 如果未在预定义的天数内使用 IAM 用户证书,则应禁用

严重性:

资源类型: AWS::IAM::User

Amazon Config 规则:iam-user-unused-credentials-check

类型:计划 定期

参数:

  • maxCredentialUsageAge: 90(天)

该控制检查您的 IAM 用户是否拥有在指定天数内尚未使用的密码或活动访问密钥。默认为 90 天。

我们强烈建议您不要在账户 Security Hub 生成和删除所有访问密钥。建议的最佳做法是创建一个或多个 IAM 角色,或使用联合身份验证. 您的用户可以使用其现有的公司凭证登录Amazon Web Services Management Console控制台和Amazon CLI.

每种方法都有其使用案例。对于现在已有中心目录或计划需要超过当前 IAM 用户配额的企业,联合身份验证通常更好。在 Amazon 环境外运行的应用程序需要访问密钥才能对 Amazon 资源进行编程访问。

但是,如果需要提供编程访问的资源在 Amazon 内部运行,则最佳做法是使用 IAM 角色。您可以使用角色授予资源访问权限,而无需在配置中硬编码访问密钥 ID 和私有访问密钥。

要了解有关保护访问密钥和帐户的更多信息,请参阅管理的最佳实践Amazon访问密钥中的Amazon一般参考. 另请参阅博客文章保护您的准则Amazon账户同时使用程序化访问权限.

如果您已经拥有访问密钥,我们建议您删除或停用在 90 天或更长时间内处于非活动状态的未使用用户凭据。

此控件仅检查非活动密码或活动访问密钥。90 天后它不会禁止使用该帐户。客户有责任采取行动和禁用未使用的凭证。

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关。

PCI DSS 8.1.4 在 90 天内删除/禁用非活动的用户帐户。

如果您使用 IAM 密码或访问密钥,请确保监控它们的使用情况,如果 90 天未使用,则禁用这些密码或访问密钥。允许 IAM 用户账户使用未使用的凭证保持活动状态可能会违反在 90 天内删除/禁用非活动用户账户的要求。

修复

要获取监控账户过期凭证所需的一些信息,请使用 IAM 控制台。例如,当您查看账户中的用户时,会显示访问密钥期限密码年龄, 和上次活动. 如果上述列中的任何一个中的值大于 90 天,请停用这些用户的凭证。

您还可以使用凭证报告来监控用户账户和识别 90 天或更长时间没有活动的账户。您可以在中下载凭证报告.csv从 IAM 控制台进行格式化。有关凭证报告的更多信息,请参阅。获取凭证报告Amazon帐户中的IAM 用户指南.

确定非活动账户或未使用的凭证后,请使用以下步骤禁用它们。

禁用非活动账户或未使用的 IAM 凭证

  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. UDE访问管理,选择用户.

  3. 选择凭证超过 90 天的用户的名称。

  4. 选择 Security credentials (安全凭证)。选择将其激活对于 90 天或更长时间未使用的所有登录凭证和访问密钥。

[PCI.I.IAM.8] IAM 用户的密码策略应具有可靠的配置

严重性:

资源类型: Amazon帐户

Amazon Config 规则:iam-password-policy

类型:计划 定期

参数:

该控制检查 IAM 用户的账户密码策略是否使用以下最低 PCI DSS 配置。

  • RequireUppercaseCharacters— 密码中要求至少包含一个大写字符。(默认值 = true

  • RequireLowercaseCharacters— 密码中要求至少包含一个小写字符。(默认值 = true

  • RequireNumbers— 密码中要求至少包含一个数字。(默认值 = true

  • MinimumPasswordLength— 密码最小长度。(默认值 = 7 或更长时间)

  • PasswordReusePrevention— 允许重用前的密码数。(默认值 = 4)

  • MaxPasswordAge — 密码到期前的天数。(默认值 = 90)

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关。

PCI DSS 8.1.4:在 90 天内删除/禁用非活动的用户帐户。

如果你在你的中有 IAM 用户Amazon账户,您应该适当配置 IAM 密码策略。不保护 IAM 用户的密码可能会违反在 90 天内删除或禁用非活动用户账户的要求。默认为MaxPasswordAge参数设置为 90 天。密码过期后,IAM 用户在密码更改之前无法访问他们的账户,这将禁用该用户。

PCI DSS 8.2.3:密码/密码短语必须符合以下要求:要求至少包含七个字符的长度,同时包含数字和字母字符。

如果你在你的中有 IAM 用户Amazon账户中,应适当配置 IAM 密码策略。不保护 IAM 用户的密码可能会违反密码至少包含七个字符的要求。这也可能违反包含数字和字母字符的要求。默认情况下,MinimumPasswordLength7RequireUppercaseCharacterstrue, 和RequireLowercaseCharacterstrue.

PCI DSS 8.2.4:至少每 90 天更改一次用户密码/密码短语。

如果你在你的中有 IAM 用户Amazon账户中,应适当配置 IAM 密码策略。不保护 IAM 用户的密码可能会违反至少每 90 天更改一次用户密码或密码短语的要求。默认为MaxPasswordAge参数设置为 90 天。密码过期后,IAM 用户无法访问账户,直到密码更改。

PCI DSS 8.2.5:请勿允许个人提交与其过去四个密码/密码中的任何一个相同的新密码/密码短语。

如果你在你的中有 IAM 用户Amazon账户中,应适当配置 IAM 密码策略。不保护 IAM 用户的密码可能会违反禁止个人提交与之前四个密码或密码短语相同的新密码或密码短语的要求。默认情况下,PasswordReusePrevention设置为4,这阻止了用户重复使用其最后四个密码。

修复

您可以使用 IAM 控制台修改密码策略。

修改密码策略

  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. UDE访问管理,选择账户设置.

  3. 选择 Prevent password reuse (防止密码重复使用)。对于 Number of passwords to remember (记住的密码数量),输入 24

  4. 选择变更密码策略.

  5. Select至少需要一个大写拉丁字母 (A-Z).

  6. Select至少需要一个小写拉丁字母 (a-z).

  7. Select要求至少包含一个非字母数字符 (! @#$%^&* () _+-= [] {} |').

  8. Select至少需要一个数字.

  9. 适用于强制执行最短密码长,输入14.

  10. Select启用密码过期. 适用于在一天内过期密码,输入90.

  11. 选择保存更改

[PCI.KMS.1] 应启用 KMS 密钥轮换

严重性:

资源类型: AWS::KMS::Key

Amazon Config 规则:cmk-backing-key-rotation-enabled

类型:计划 定期

参数:

该控制检查是否为每个 KMS 密钥启用密钥轮换。它不会检查已导入密钥材料的 KMS 密钥。

您应该确保已导入材料的密钥以及未存储在中的密钥。Amazon KMS旋转。Amazon 托管式密钥每 3 年轮换一次。

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 3.6.4:在到达加密期限后,应更改加密密钥。

尽管 PCI DSS 未指定加密期限的时间范围,但如果启用了密钥轮换,则默认每年轮换一次。

如果使用 KMS 密钥加密持卡人数据,您应该启用密钥轮换。

这是一种用于在到达加密期限时更改加密密钥的方法。

修复

启用 KMS 密钥轮换

  1. 在 Amazon KMShttps://console.aws.amazon.com/kms 打开 控制台。

  2. 更改Amazon Web Services 区域,请使用页面右上角的区域选择器。

  3. 选择 Customer managed keys (客户托管密钥)

  4. Alias (别名) 列中,选择要更新的密钥的别名。

  5. 选择 Key rotation (密钥轮换)

  6. Select每年自动轮换此 KMS 密钥选择,然后选择Save(保存).

[PCI.Lambda.1] Lambda 函数应禁止公开访问

严重性:重大

资源类型: AWS::Lambda::Function

Amazon Config 规则:lambda-function-public-access-prohibited

类型:计划 已触发更改

参数:

该控制检查 Lambda 函数基于资源的策略是否禁止公开访问。

它不会检查内部委托人(例如 IAM 角色)对 Lambda 函数的访问。您应该使用最小权限的基于 Lambda 资源的策略,以确保只有授权的委托人可以访问 Lambda 函数。

有关将基于资源的策略用于的更多信息Amazon Lambda,请参阅Amazon Lambda开发人员指南.

注意

以下区域不支持此控制。

  • 亚太地区(大阪)

  • 中国(北京)

  • 中国(宁夏)

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 1.2.1:将入站和出站流量限制为持卡人数据环境 (CDE) 所需的流量,并明确拒绝所有其他流量。

如果您使用 PCI DSS 范围内的 Lambda 函数,则不应公开访问该函数。可公开访问的函数可能会违反以下要求:仅允许与 CDE 之间的所需流量。

PCI DSS 1.3.1:实施 DMZ 以将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

如果您使用 PCI DSS 范围内的 Lambda 函数,则不应公开访问该函数。可公开访问的函数可能会违反以下要求:将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

PCI DSS 1.3.2:将入站 Internet 流量限制为 DMZ 中的 IP 地址。

如果您使用 PCI DSS 范围内的 Lambda 函数,则不应公开访问该函数。可公开访问的函数可能会违反以下要求:将入站 Internet 流量限制为 DMZ 中的 IP 地址。

PCI D3.4:不允许从持卡人数据环境到 Internet 的未经授权的出站流量。

如果您使用 PCI DSS 范围内的 Lambda 函数,则不能公开访问该函数。可公开访问的函数可能会违反以下要求:阻止从持卡人数据环境到 Internet 的未经授权的出站流量。

PCI DSS 7.2.1:为系统组件建立一个访问控制系统,以根据需要了解的内容限制访问并将其设置为” 拒绝所有”,除非明确允许。该访问控制系统必须包括以下内容:覆盖所有系统组件。

如果您使用 PCI DSS 范围内的 Lambda 函数,则不应公开访问该函数。可公开访问的函数可能会违反以下要求:确保将对包含持卡人数据的系统组件的访问限制为所需的最小权限或用户需要了解的内容。

修复

要解决该问题,您需要更新基于资源的策略以将可公开访问的 Lambda 函数更改为私有 Lambda 函数。

您只能为 Lambda 资源更新范围内的基于资源的策略。AddPermissionAddLayerVersionPermissionAPI 操作。

您无法通过 JSON 为 Lambda 资源编写策略,也无法通过 CLI 或开发工具包使用没有映射到这些操作的参数的条件。

使用Amazon CLI从中撤销函数使用权限Amazon服务或其他账户

  1. 要从 Amazon CLI 中获取 GetPolicy 输出中的语句的 ID,请运行以下命令:

    aws lambda get-policy —function-name yourfunctionname

    该命令返回与可公开访问的 Lambda 函数关联的基于 Lambda 资源的策略字符串。

  2. get-policy 命令返回的策略语句中,复制 Sid 字段的字符串值。

  3. 从 Amazon CLI 中,运行

    aws lambda remove-permission --function-name yourfunctionname —statement-id youridvalue

使用 Lambda 控制台限制对 Lambda 函数的访问

  1. 打开 Amazon Lambda 控制台,地址:https://console.aws.amazon.com/lambda/

  2. 导航到函数然后选择可公开访问的 Lambda 函数。

  3. Designer (设计器) 下面,选择左上角的钥匙图标。它具有工具提示查看权限

  4. Function policy (函数策略) 下面,如果策略允许委托人元素 “*”{“AWS”: “*”} 的操作,则可以公开访问该函数。

    请考虑添加以下 IAM 条件以将访问范围限制为仅您的账户。

    "Condition": { "StringEquals": { "AWS:SourceAccount": "<account_id>" } } }

有关其 Lambda 基于资源的策略示例允许您基于资源向其他账户授予使用权限,请参阅以下信息:Amazon Lambda中的Amazon Lambda开发人员指南.

[PCI.Lambda.2] Lambda 函数应位于 VPC 中

严重性:

资源类型: AWS::Lambda::Function

Amazon Config 规则:lambda-inside-vpc

类型:计划 已触发更改

参数:

该控制检查 Lambda 函数是否位于 VPC 中。您可能会看到 Lambda @Edge 资源的发现失败。

它不会评估 VPC 子网路由配置以确定可公开访问性。

注意

以下区域不支持此控制。

  • 亚太地区(大阪)

  • 中国(北京)

  • 中国(宁夏)

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 1.2.1:将入站和出站流量限制为持卡人数据环境 (CDE) 所需的流量,并明确拒绝所有其他流量。

默认情况下,Lambda 在可访问的安全默认 VPC 中运行函数Amazon服务和互联网。

如果您使用 PCI DSS 范围内的 Lambda 函数,可以将该函数配置为使用 VPC 终端节点。这将允许您从 VPC 内连接到 Lambda 函数,而无需 Internet 访问权限。该方法用于仅允许与 CDE 之间的所需流量。

PCI DSS 1.3.1:实施 DMZ 以将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

默认情况下,Lambda 在可访问的安全默认 VPC 中运行函数Amazon服务和互联网。

如果您使用 PCI DSS 范围内的 Lambda 函数,可以将该函数配置为使用 VPC 终端节点。您可以从 VPC 内连接到 Lambda 函数,而无需 Internet 访问权限。该方法用于将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

PCI DSS 1.3.2:将入站 Internet 流量限制为 DMZ 中的 IP 地址。

默认情况下,Lambda 在可访问的安全默认 VPC 中运行函数Amazon服务和互联网。

如果您使用 PCI DSS 范围内的 Lambda 函数,可以将该函数配置为使用 VPC 终端节点。您可以从 VPC 内连接到 Lambda 函数,而无需 Internet 访问权限。该方法用于将入站 Internet 流量限制为 DMZ 中的 IP 地址。

PCI D3.4:不允许从持卡人数据环境到 Internet 的未经授权的出站流量。

默认情况下,Lambda 在可访问的安全默认 VPC 中运行函数Amazon服务和互联网。

如果您使用 PCI DSS 范围内的 Lambda 函数,可以将该函数配置为使用 VPC 终端节点。您可以从 VPC 内连接到 Lambda 函数,而无需 Internet 访问权限。这是一种用于阻止从持卡人数据环境到 Internet 的未经授权的出站流量。

修复

配置函数以连接到您的账户的 Virtual Private Cloud (VPC) 中的私有子网

  1. 打开 Amazon Lambda 控制台,地址:https://console.aws.amazon.com/lambda/

  2. 导航到函数然后选择 Lambda 函数。

  3. 滚动到 Network (网络),然后选择一个符合函数连接要求的 VPC。

  4. 要在高可用性模式下运行函数,Security Hub 建议您至少选择两个子网。

  5. 选择至少选择一个符合函数连接要求的安全组。

  6. 选择保存

有关更多信息,请参阅中有关配置 Lambda 函数以访问 VPC 中的资源的部分。Amazon Lambda开发人员指南.

[PCI.OpenSearch .1] Amazon OpenSearch 域应位于 VPC 中

类别:保护 > 安全网络配置 > VPC 中的资源

严重性:

资源类型: AWS::OpenSearch::Domain

Amazon Config 规则:opensearch-in-vpc-only

类型:计划 已触发更改

参数:

该控制检查 Amazon OpenSearch 域是否位于 VPC 中。它不会评估 VPC 子网路由配置以确定公有访问权限。

您应该确保 Amazon OpenSearch 域未连接到公有子网。请参阅基于资源的策略中的Amazon OpenSearch Service开发人员指南 的第一个版本。

您还应该确保根据建议的最佳实践配置了 VPC。请参阅VPC 的安全最佳实践(在 Amazon VPC 用户指南 中)。

在 VPC 中部署的 Amazon OpenSearch 域可以通过私有方式与 VPC 资源进行通信Amazon网络,无需穿越公共互联网。此配置通过限制对传输中数据的访问来提高安全状况。VPC 提供了许多网络控制来保护对 Amazon OpenSearch 域的访问,包括网络 ACL 和安全组。Security Hub 建议您将公共 Amazon OpenSearch 域迁移到 VPC,以便利用这些控件。

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 1.2.1:将入站和出站流量限制为持卡人数据环境 (CDE) 所需的流量,并明确拒绝所有其他流量。

如果您的亚马逊 ES 集群包含持卡人数据,则亚马逊 ES 域名应放置在 VPC 中。这样做可以在 Amazon ES 和 VPC 中的其他服务之间进行安全通信,而无需 Internet 网关、NAT 设备或 VPN 连接端口。

该方法用于仅允许与 CDE 之间的所需流量。

PCI DSS 1.3.1:实施 DMZ 以将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

如果您的亚马逊 ES 集群包含持卡人数据,则亚马逊 ES 域名应放置在 VPC 中。这样做可以在 Amazon ES 和 VPC 中的其他服务之间进行安全通信,而无需 Internet 网关、NAT 设备或 VPN 连接端口。

该方法用于将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

PCI DSS 1.3.2:将入站 Internet 流量限制为 DMZ 中的 IP 地址。

如果您的 Amazon OpenSearch Service 集群包含持卡人数据,则应将 Amazon OpenSearch Service 域放置在 VPC 中,这样,就可以在 Amazon OpenSearch Service 和 VPC 中的其他服务之间进行安全通信,而无需使用 Internet 网关、NAT 设备或 VPN 连接端口。

该方法用于将入站 Internet 流量限制为 DMZ 中的 IP 地址。

您还可以使用基于资源的策略,并指定 IP 条件以根据源 IP 地址限制访问。查看博客文章如何控制对 Amazon Elasticsearch Service 域的访问.

PCI D3.4:不允许从持卡人数据环境到 Internet 的未经授权的出站流量。

如果您的 Amazon ES 集群包含持卡人数据,则应将 Amazon ES 域放置在 VPC 中,这样,就可以在 Amazon ES 和 VPC 中的其他服务之间进行安全通信,而无需使用 Internet 网关、NAT 设备或 VPN 连接端口。

该方法用于阻止从持卡人数据环境到 Internet 的未经授权的出站流量。

PCI D3.6:将存储持卡人数据的系统组件(例如数据库)放置在与 DMZ 和其他不受信任的网络隔离的内部网络区域中。

如果您的亚马逊 ES 集群包含持卡人数据,则亚马逊 ES 域名应放置在 VPC 中。这样做可以在 Amazon ES 和 VPC 中的其他服务之间进行安全通信,而无需 Internet 网关、NAT 设备或 VPN 连接端口。

该方法用于将存储持卡人数据的系统组件放置在与 DMZ 和其他不受信任的网络隔离的内部网络区域中。

修复

如果您创建一个具有公有终端节点的域,则以后无法将其放置在 VPC 中。您必须创建一个新的域,然后迁移数据。反之亦然。如果在 VPC 中创建一个域,则该域不能具有公有终端节点。您必须创建另一个域或禁用该控制。

请参阅在 VPC 中启动您的 Amazon OpenSearch Service 域中的Amazon OpenSearch Service开发人员指南 的第一个版本。

[PCI.OpenSearch .2] OpenSearch 域应启用静态加密

类别:保护 > 数据保护 > 静态数据加密

严重性:

资源类型: AWS::OpenSearch::Domain

Amazon Config 规则:opensearch-encrypted-at-rest

类型:计划 已触发更改

参数:

该控制检查 Amazon OpenSearch 域是否启用了静态加密配置。如果未启用静态加密,检查将失败。

为了增加 OpenSearch 中敏感数据的安全性,您应将 OpenSearch 域配置为静态加密。OpenSearch 域提供静态数据加密。该功能使用 Amazon KMS 存储和管理您的加密密钥。为执行加密,它使用具有 256 位密钥 (AES-256) 的高级加密标准算法。

要了解有关 OpenSearch 静态加密的更多信息,请参阅。Amazon OpenSearch Service 中的静态数据加密中的Amazon OpenSearch Service开发人员指南 的第一个版本。

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 3.4:使主账号 (PAN) 在存储的任意位置(包括便携式数字媒体、备份介质和日志)中不可读。

如果您使用亚马逊 OpenSearch Service 存储信用卡主账号 (PAN),应启用亚马逊 OpenSearch Service 域静态加密以保护 PAN。

如果启用,它会对域的以下方面进行加密:索引、自动快照、Amazon OpenSearch Service 日志、交换文件以及应用程序目录中的所有其他数据。

这是一种用于使 PAN 不可读的方法。

修复

默认情况下,域不对数据进行静态加密,并且您无法配置现有的域以使用该功能。要启用该功能,您必须创建另一个域并迁移数据。

有关创建域的信息,请参阅创建和管理 Amazon OpenSearch Service 服务域中的Amazon OpenSearch Service开发人员指南 的第一个版本。

请参阅在 VPC 中启动您的 Amazon OpenSearch Service 域中的Amazon OpenSearch Service开发人员指南 的第一个版本。

[PCI.RDS.1] RDS 快照应禁止公开访问

严重性:重大

资源类型: AWS::RDS::DBSnapshot

Amazon Config 规则:rds-snapshots-public-prohibited

类型:计划 已触发更改

参数:

该控制检查 Amazon RDS 数据库快照是否禁止其他账户的访问。您还应该确保将对快照的访问和更改 Amazon RDS 配置的权限限制为仅授权的委托人。

要了解有关在 Amazon RDS 中共享数据库快照的更多信息,请参阅Amazon RDS 用户指南.

请注意,如果将配置更改为允许公有访问,则 Amazon Config 规则可能在长达 12 小时内无法检测到更改。在 Amazon Config 规则检测到更改之前,即使配置违反了规则,检查也会通过。

注意

以下区域不支持此控制。

  • 非洲(开普敦)

  • 亚太地区(大阪)

  • 欧洲(米兰)

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 1.2.1:将入站和出站流量限制为持卡人数据环境 (CDE) 所需的流量,并明确拒绝所有其他流量。

RDS 快照用于备份 RDS 实例上在特定时间点的数据。它们可用于将 RDS 实例还原到之前的状态。

如果 RDS 快照存储持卡人数据,则不应与其他账户共享 RDS 快照。共享 RDS 快照将允许其他账户从快照中还原 RDS 实例。允许这样做可能会违反以下要求:仅允许与 CDE 之间的所需流量。

PCI DSS 1.3.1:实施 DMZ 以将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

RDS 快照用于备份 RDS 实例上在特定时间点的数据。它们可用于将 RDS 实例还原到之前的状态。

如果 RDS 快照存储持卡人数据,则不应与其他账户共享 RDS 快照。共享 RDS 快照将允许其他账户从快照中还原 RDS 实例。允许这会违反以下要求:将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

PCI D3.4:不允许从持卡人数据环境到 Internet 的未经授权的出站流量。

RDS 快照用于备份 RDS 实例上在特定时间点的数据。它们可用于将 RDS 实例还原到之前的状态。

如果 RDS 快照存储持卡人数据,则不应与其他账户共享 RDS 快照。共享 RDS 快照将允许其他账户从快照中还原 RDS 实例。允许这可能会违反以下要求:阻止从持卡人数据环境到 Internet 的未经授权的出站流量。

PCI D3.6:将存储持卡人数据的系统组件(例如数据库)放置在与 DMZ 和其他不受信任的网络隔离的内部网络区域中。

RDS 快照用于备份 RDS 实例上在特定时间点的数据。它们可用于将 RDS 实例还原到之前的状态。

如果 RDS 快照存储持卡人数据,则不应与其他账户共享 RDS 快照。共享 RDS 快照将允许其他账户从快照中还原 RDS 实例。允许这样做可能会违反以下要求:将存储持卡人数据的系统组件放置在与 DMZ 和其他不受信任的网络隔离的内部网络区域中。

PCI DSS 7.2.1:为系统组件建立一个访问控制系统,以根据需要了解的内容限制访问并将其设置为” 拒绝所有”,除非明确允许。该访问控制系统必须包括以下内容:覆盖所有系统组件。

RDS 快照用于备份 RDS 实例上在特定时间点的数据。它们可用于将 RDS 实例还原到之前的状态。

如果 RDS 快照存储持卡人数据,则不应与其他账户共享 RDS 快照。共享 RDS 快照将允许其他账户从快照中还原 RDS 实例。允许这样做可能会违反以下要求:确保将对包含持卡人数据的系统组件的访问限制为所需的最小权限或用户需要了解的内容。

修复

删除 Amazon RDS 快照的公有访问权限

  1. 通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 导航到 Snapshots (快照),然后选择要修改的公有快照

  3. Actions (操作) 列表中,选择 Share Snapshots (共享快照)

  4. DB snapshot visibility (数据库快照可见性) 中,选择 Private (私有)

  5. DB snapshot visibility (数据库快照可见性) 下面,选择 for all (用于所有)

  6. 选择 Save

[PCI.RDS.2] RDS 数据库实例应禁止公开访问

严重性:重大

资源类型: AWS::RDS::DBInstance

Amazon Config 规则:rds-instance-public-access-check

类型:计划 已触发更改

参数:

该控制通过评估实例配置项中的 publiclyAccessible 字段,以检查是否可以公开访问 RDS 实例。publiclyAccessible 值指示是否可以公开访问数据库实例。如果可以公开访问数据库实例,则它是一个面向 Internet 的实例并具有可公开解析的 DNS 名称,该名称解析为一个公有 IP 地址。如果无法公开访问数据库实例,则它是一个内部实例并具有解析为私有 IP 地址的 DNS 名称。

该控制不会检查 VPC 子网路由设置或安全组规则。您还应该确保 VPC 子网路由不允许公开访问,并且与 RDS 实例关联的安全组入站规则不允许不受限制的访问 (0.0.0.0/0)。您还应该限制用户修改 RDS 实例设置和资源的 IAM 权限,以确保将对 RDS 实例配置的访问限制为仅授权的用户。

有关更多信息,请参阅 。从 Internet 隐藏 VPC 中的数据库实例中的Amazon RDS 用户指南.

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 1.2.1:将入站和出站流量限制为持卡人数据环境 (CDE) 所需的流量,并明确拒绝所有其他流量。

如果您使用 PCI DSS 范围内的 RDS 实例,则不应公开访问 RDS 实例。允许这可能会违反以下要求:仅允许与 CDE 之间的所需流量。

PCI DSS 1.3.1:实施 DMZ 以将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

如果您使用 RDS 实例存储持卡人数据,则不应公开访问 RDS 实例。允许这会违反以下要求:将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

PCI DSS 1.3.2:将入站 Internet 流量限制为 DMZ 中的 IP 地址。

如果您使用 RDS 实例存储持卡人数据,则不应公开访问 RDS 实例,因为这可能会违反以下要求:将入站 Internet 流量限制为 DMZ 中的 IP 地址。

PCI D3.4:不允许从持卡人数据环境到 Internet 的未经授权的出站流量。

如果您使用 RDS 实例存储持卡人数据,则不应公开访问 RDS 实例。允许这可能会违反以下要求:阻止从持卡人数据环境到 Internet 的未经授权的出站流量。

PCI D3.6:将存储持卡人数据的系统组件(例如数据库)放置在与 DMZ 和其他不受信任的网络隔离的内部网络区域中。

如果您使用 RDS 实例存储持卡人数据,则不应公开访问 RDS 实例。允许这会违反以下要求:将存储持卡人数据的系统组件放置在与 DMZ 和其他不受信任的网络隔离的内部网络区域中。

PCI DSS 7.2.1:为系统组件建立一个访问控制系统,以根据需要了解的内容限制访问并将其设置为” 拒绝所有”,除非明确允许。该访问控制系统必须包括以下内容:覆盖所有系统组件。

如果您使用 RDS 实例存储持卡人数据,则不应公开访问 RDS 实例,因为这可能会违反以下要求:确保将对包含持卡人数据的系统组件的访问限制为所需的最小权限或用户需要了解的内容。

修复

删除 Amazon RDS 数据库的公有访问权限

  1. 通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 导航到 Databases (数据库),然后选择公有数据库。

  3. 选择修改

  4. 滚动到网络与安全.

  5. 适用于公开可用性,选择.

  6. 滚动到底部,然后选择Continue.

  7. UDE修改时间表,选择Apply immediately (立即应用).

  8. 选择修改数据库实例

有关在 VPC 中使用数据库实例的更多信息,请参阅Amazon RDS 用户指南.

[PCI.Redshift t.1] Amazon Redshift 集群应禁止公开访问

严重性:重大

资源类型: AWS::Redshift::Cluster

Amazon Config 规则:redshift-cluster-public-access-check

类型:计划 已触发更改

参数:

该控制通过评估以检查是否可以公开访问 Amazon Redshift 集群publiclyAccessible群集配置项目中的字段。

注意

在亚太地区(大阪)不支持。

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 1.2.1:将入站和出站流量限制为持卡人数据环境 (CDE) 所需的流量,并明确拒绝所有其他流量。

如果您使用 Amazon Redshift 集群存储持卡人数据,则不应公开访问该集群。允许这可能会违反以下要求:仅允许与 CDE 之间的所需流量。

PCI DSS 1.3.1:实施 DMZ 以将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

如果您使用 Amazon Redshift 集群存储持卡人数据,则不应公开访问该集群。允许这会违反以下要求:将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

PCI DSS 1.3.2:将入站 Internet 流量限制为 DMZ 中的 IP 地址。

如果您使用 Amazon Redshift 集群存储持卡人数据,则不应公开访问该集群,因为这可能会违反以下要求:将入站 Internet 流量限制为 DMZ 中的 IP 地址。

PCI D3.4:不允许从持卡人数据环境到 Internet 的未经授权的出站流量。

如果您使用 Amazon Redshift 集群存储持卡人数据,则不应公开访问该集群。允许这可能会违反以下要求:阻止从持卡人数据环境到 Internet 的未经授权的出站流量。

PCI D3.6:将存储持卡人数据的系统组件(例如数据库)放置在与 DMZ 和其他不受信任的网络隔离的内部网络区域中。

如果您使用 Amazon Redshift 集群存储持卡人数据,则不应公开访问该集群。允许这样做可能会违反以下要求:将存储持卡人数据的系统组件放置在与 DMZ 和其他不受信任的网络隔离的内部网络区域中。

修复

要禁用 Amazon Redshift 集群的公有访问权限

  1. 打开位于 https://console.aws.amazon.com/redshift/ 的 Amazon Redshift 控制台。

  2. 在导航窗格上,选择集群然后选择您的公有 Amazon Redshift 集群。

  3. 群集下拉菜单,然后选择修改集群.

  4. In公开访问,选择.

  5. 选择修改

有关在 VPC 中创建集群的更多信息,请参阅Amazon Redshift 集群管理指南.

[PCI.S3.1] S3 存储桶应禁止公开写入访问

严重性:重大

资源类型: AWS::S3::Bucket

Amazon Config 规则:s3-bucket-public-write-prohibited

类型:计划 定期和变更触发

参数:

该控制评估“阻止公开访问”设置、存储桶策略和存储桶访问控制列表 (ACL),以检查 S3 存储桶是否允许公开写入访问。

它不会检查内部委托人(例如 IAM 角色)对存储桶的写入访问。您应该确保限制仅授权的委托人可以访问存储桶。

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 1.2.1:将入站和出站流量限制为持卡人数据环境 (CDE) 所需的流量,并明确拒绝所有其他流量。

如果您使用 S3 存储桶存储持卡人数据,存储桶应禁止公开写入访问。允许公开写入访问可能会违反以下要求:仅允许与 CDE 之间的所需流量。

PCI DSS 1.3.1:实施 DMZ 以将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

如果您使用 S3 存储桶存储持卡人数据,存储桶应禁止公开写入访问。允许公开写入访问可能会违反以下要求:将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

除非您明确要求 Internet 上的每个人能够写入到 S3 存储桶,否则,应确保 S3 存储桶不能公开写入。

PCI DSS 1.3.2:将入站 Internet 流量限制为 DMZ 中的 IP 地址。

如果您使用 S3 存储桶存储持卡人数据,存储桶应禁止公开写入访问。允许公开写入访问可能会违反以下要求:将入站 Internet 流量限制为 DMZ 中的 IP 地址。

PCI D3.4:不允许从持卡人数据环境到 Internet 的未经授权的出站流量。

如果您使用 S3 存储桶存储持卡人数据,存储桶应禁止公开写入访问。允许公开写入访问可能会违反以下要求:阻止从持卡人数据环境到 Internet 的未经授权的出站流量。

PCI D3.6:将存储持卡人数据的系统组件(例如数据库)放置在与 DMZ 和其他不受信任的网络隔离的内部网络区域中。

如果您使用 S3 存储桶存储持卡人数据,存储桶应禁止公开写入访问。允许公开写入访问可能会违反以下要求:将存储持卡人数据的系统组件放置在与 DMZ 和其他不受信任的网络隔离的内部网络区域中。

PCI DSS 7.2.1:为系统组件建立一个访问控制系统,以根据需要了解的内容限制访问并将其设置为” 拒绝所有”,除非明确允许。该访问控制系统必须包括以下内容:覆盖所有系统组件。

如果您使用 S3 存储桶存储持卡人数据,存储桶应禁止公开写入访问。允许公开写入访问可能会违反以下要求:确保将对系统组件的访问限制为所需的最小权限或用户需要了解的内容。

修复

删除 S3 存储桶的公开访问权限

  1. 通过以下网址打开 Simple Storage Service(Amazon S3)控制台:https://console.aws.amazon.com/s3/

  2. 选择在结果中指定的存储桶的名称。

  3. 选择 Permissions (权限),然后选择 Public access settings (公有访问权限) 设置。

  4. 选择 Edit (编辑),选择所有四个选项,然后选择 Save (保存)

  5. 如果出现提示,输入 confirm,然后选择 Confirm (确认)

[PCI.S3.2] S3 存储桶应禁止公开读取访问

严重性:重大

资源类型: AWS::S3::Bucket

Amazon Config 规则:s3-bucket-public-read-prohibited

类型:计划 定期和变更触发

参数:

该控制评估“阻止公开访问”设置、存储桶策略和存储桶访问控制列表 (ACL),以检查 S3 存储桶是否允许公开读取访问。

除非您明确要求 Internet 上的每个人能够写入到 S3 存储桶,否则,应确保 S3 存储桶不能公开写入。

它不会检查内部委托人(例如 IAM 角色)对存储桶的读取访问。您应该确保限制仅授权的委托人可以访问存储桶。

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 1.2.1:将入站和出站流量限制为持卡人数据环境 (CDE) 所需的流量,并明确拒绝所有其他流量。

如果您使用 S3 存储桶存储持卡人数据,存储桶应禁止公开读取访问。公开读取访问可能会违反以下要求:仅允许与 CDE 之间的所需流量。

PCI DSS 1.3.1:实施 DMZ 以将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

如果您使用 S3 存储桶存储持卡人数据,存储桶应禁止公开读取访问。公开读取访问可能会违反以下要求:将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

PCI DSS 1.3.2:将入站 Internet 流量限制为 DMZ 中的 IP 地址。

如果您使用 S3 存储桶存储持卡人数据,存储桶应禁止公开读取访问。公开读取访问可能会违反以下要求:将入站 Internet 流量限制为 DMZ 中的 IP 地址。

PCI D3.6:将存储持卡人数据的系统组件(例如数据库)放置在与 DMZ 和其他不受信任的网络隔离的内部网络区域中。

如果您使用 S3 存储桶存储持卡人数据,存储桶应禁止公开读取访问。公开读取访问可能会违反以下要求:将存储持卡人数据的系统组件放置在与 DMZ 和其他不受信任的网络隔离的内部网络区域中。

PCI DSS 7.2.1:为系统组件建立一个访问控制系统,以根据需要了解的内容限制访问并将其设置为” 拒绝所有”,除非明确允许。该访问控制系统必须包括以下内容:覆盖所有系统组件。

如果您使用 S3 存储桶存储持卡人数据,存储桶应禁止公开读取访问。公开读取访问可能会违反以下要求:确保将对系统组件的访问限制为所需的最小权限或用户需要了解的内容。

修复

删除 S3 存储桶的公开访问权限

  1. 通过以下网址打开 Simple Storage Service(Amazon S3)控制台:https://console.aws.amazon.com/s3/

  2. 选择在结果中指定的存储桶的名称。

  3. 选择 Permissions (权限),然后选择 Public access settings (公有访问权限) 设置。

  4. 选择 Edit (编辑),选择所有四个选项,然后选择 Save (保存)

  5. 如果出现提示,输入 confirm,然后选择 Confirm (确认)

[PCI.S3.3] S3 存储桶应启用跨区域复制

严重性:

资源类型: AWS::S3::Bucket

Amazon Config 规则:s3-bucket-replication-enabled

类型:计划 已触发更改

参数:

该控制检查 S3 存储桶是否启用了跨区域复制。

PCI DSS 不需要使用数据复制或高可用性配置。不过,该检查符合该控制的 Amazon 最佳实践。

除了可用性以外,您还应该考虑其他系统强化设置。

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 2.2:为所有系统组件制订配置标准。确保这些标准解决了所有已知的安全漏洞,并与行业认可的系统强化标准保持一致。

在 S3 存储桶上启用跨区域复制,可以确保在不同的区域中使用多个版本的数据。这样,您就可以在甚至更远的位置中存储数据,最小限度减少延迟,提高运行效率以及防范 DDoS 和数据损坏事件。

这是一种用于实施系统强化配置的方法。

修复

启用 S3 存储桶复制

  1. 通过以下网址打开 Simple Storage Service(Amazon S3)控制台:https://console.aws.amazon.com/s3/

  2. 选择未启用跨区域复制的 S3 存储桶。

  3. 选择管理,然后选择复制.

  4. 选择 Add rule。如果尚未启用版本控制,则会提示您启用该功能。

  5. 选择源存储桶-整个存储桶.

  6. 选择目标存储桶。如果尚未在您的账户的目标存储桶上启用版本控制,则会提示您启用该功能。

  7. 选择 IAM 角色。有关设置复制权限的更多信息,请参阅Amazon Simple Storage Service 用户指南.

  8. 输入规则名称,然后选择Enabled (已启用)对于状态,然后选择下一步.

  9. 选择保存

有关复制的更多信息,请参阅Amazon Simple Storage Service 用户指南.

[PCI.S3.4] S3 存储桶应启用服务器端加密

严重性:

资源类型: AWS::S3::Bucket

Amazon Config 规则:s3-bucket-server-side-encryption-enabled

类型:计划 已触发更改

参数:

该控制检查 Amazon S3 存储桶是否启用了 Amazon S3 默认加密,或检查 S3 存储桶策略是否明确拒绝没有服务器端加密的放置对象请求。

如果在存储桶上设置默认加密,存储桶中存储的所有新对象将在存储时进行加密,包括明文 PAN 数据。

也可以使用存储桶策略强制对存储桶中存储的所有对象进行服务器端加密。有关服务器端加密的更多信息,请参阅Amazon Simple Storage Service 用户指南.

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 3.4:使主账号 (PAN) 在存储的任意位置(包括便携式数字媒体、备份介质和日志)中不可读。

如果您使用 S3 存储桶存储信用卡主账号 (PAN),要使 PAN 不可读,应启用存储桶默认加密以及/或者 S3 存储桶策略应明确拒绝没有服务器端加密的放置对象请求。

修复

对 S3 存储桶启用默认加密

  1. 通过以下网址打开 Simple Storage Service(Amazon S3)控制台:https://console.aws.amazon.com/s3/

  2. 从列表中选择存储桶。

  3. 选择 Properties (属性)

  4. 选择 Default encryption

  5. 对于加密,请选择其中的一个AES-256要么Amazon-KMS.

    • 要由 Amazon S3 管理的密钥进行默认加密,请选择AES-256. 有关使用 Amazon S3 服务器端加密对数据进行加密的更多信息,请参阅Amazon Simple Storage Service 用户指南.

    • 要使用由管理的密钥Amazon KMS对于默认加密,请选择Amazon-KMS. 然后从已创建的 Amazon KMS 主密钥列表中选择一个主密钥。

      键入要使用的 Amazon KMS 密钥的 Amazon 资源名称 (ARN)。您可以找到 ARNAmazon KMS在 IAM 控制台中键,下加密密密钥. 或者,您可以从下拉列表中选择一个键名。

      重要

      如果您将 Amazon KMS 选项用于默认加密配置,则您将受到 Amazon KMS 的 RPS(每秒请求数)限制。有关 的更多信息Amazon KMS限制以及如何请求提高限制,请参阅Amazon Key Management Service开发人员指南.

      有关创建的更多信息Amazon KMS关键,请参阅Amazon Key Management Service开发人员指南.

      有关如何使用的更多信息Amazon KMS通过 Amazon S3,请参阅Amazon Simple Storage Service 用户指南.

    在启用默认加密时,您可能需要更新存储桶策略。有关从存储桶策略更改为默认加密的更多信息,请参阅Amazon Simple Storage Service 用户指南.

  6. 选择保存

有关默认 S3 存储桶加密的更多信息,请参阅Amazon Simple Storage Service 用户指南.

[PCI.S3.5] S3 存储桶应要求请求才能使用安全套接字层

严重性:

资源类型: AWS::S3::Bucket

Amazon Config 规则:s3-bucket-ssl-requests-only

类型:计划 已触发更改

参数:

该控制检查 Amazon S3 存储桶是否具有需要请求使用安全套接字层 (SSL) 的策略。

S3 存储桶应具有要求所有请求的策略(Action: S3:*) 只接受 S3 资源策略中通过 HTTPS 传输数据,由条件键指示aws:SecureTransport.

这不会检查 SSL 或 TLS 版本。根据 PCI DSS 要求,您不应允许早期版本的 SSL 或 TLS(SSLv3、TLS1.0)。

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关。

PCI DSS 4.1 使用强大的加密和安全协议在通过开放的公共网络传输过程中保护敏感的持卡人数据。

如果您使用 S3 存储桶存储持卡人数据,请确保存储桶策略要求对存储桶的请求仅接受通过 HTTPS 传输数据。例如,您可以使用策略声明"aws:SecureTransport": "false"拒绝任何未通过 HTTPS 访问的请求。允许以未加密方式传输持卡人数据可能违反了在通过开放的公共网络传输过程中使用强大的加密和安全协议来保护敏感持卡人数据的要求。

修复

要修复此问题,请更新 S3 存储桶的权限策略。

将 S3 存储桶配置为拒绝不安全的传输

  1. 通过以下网址打开 Simple Storage Service(Amazon S3)控制台:https://console.aws.amazon.com/s3/

  2. 导航到不合规存储桶,然后选择存储桶名称。

  3. 选择 Permissions (权限),然后选择 Bucket Policy (存储桶策略)

  4. 在下面的政策中添加类似的政策声明。Replaceawsexamplebucket使用您要修改的存储桶的名称。

    { "Id": "ExamplePolicy", "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSSLRequestsOnly", "Action": "s3:*", "Effect": "Deny", "Resource": [ "arn:aws:s3:::awsexamplebucket", "arn:aws:s3:::awsexamplebucket/*" ], "Condition": { "Bool": { "aws:SecureTransport": "false" } }, "Principal": "*" } ] }
  5. 选择保存

有关更多信息,请参阅知识中心文章。我要使用什么 S3 存储桶策略来符合Amazon Config规则只有 s3-bucket-ssl 请求?.

[PCI.S3.6] 应启用 S3 阻止公有访问设置

严重性:

资源类型:S3Amazon帐户

Amazon Config 规则:s3-account-level-public-access-blocks-periodic

类型:计划 定期

参数:

  • ignorePublicAcls: true

  • blockPublicPolicy: true

  • blockPublicAcls: true

  • restrictPublicBuckets: true

该控制检查是否在账户级别配置了以下公有访问阻止设置。

  • ignorePublicAcls: true,

  • blockPublicPolicy: true

  • blockPublicAcls: true

  • restrictPublicBuckets: true

如果所有公共访问阻止设置都设置为,则控制通过true.

如果将任何设置设置为,则控件将失败false,或者如果没有配置任何设置。

作为Amazon最佳做法是,S3 存储桶应该阻止公共访问。除非您明确地要求 Internet 上的所有人能够访问 S3 存储桶,否则您应该确保 S3 存储桶不可公开访问。

注意

以下区域不支持此控制。

  • 亚太地区(大阪)

  • Europe (Milan)

  • Middle East (Bahrain)

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关。

PCI DSS 1.2.1-将入站和出站流量限制为持卡人数据环境 (CDE) 所需的流量,并明确拒绝所有其他流量。

如果您使用 S3 存储桶存储持卡人数据,请确保存储桶不允许公开访问。公开访问您的 S3 存储桶可能会违反以下要求:仅允许与 CDE 之间的所需流量。

PCI DSS 1.3.1-实施一个 DMZ,以将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

如果您使用 S3 存储桶存储持卡人数据,请确保存储桶不允许公开访问。允许公开访问 S3 存储桶可能会违反以下要求:将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

PCI DSS 1.3.2-将入站 Internet 流量限制为 DMZ 中的 IP 地址。

如果您使用 S3 存储桶存储持卡人数据,请确保存储桶不允许公开访问。允许公开访问您的 S3 存储桶可能会违反以下要求:将入站流量限制为 DMZ 中的 IP 地址。

PCI DSS 1.3.4 不允许从持卡人数据环境到 Internet 的未经授权的出站流量。

如果您使用 S3 存储桶存储持卡人数据,请确保存储桶不允许公开访问。允许公开访问 S3 存储桶可能会违反以下要求:阻止从持卡人数据环境到 Internet 的未经授权的出站流量。

PCI DSS 1.3.6 将存储持卡人数据的系统组件(例如数据库)放置在与 DMZ 和其他不受信任的网络隔离的内部网络区域中。

如果您使用 S3 存储桶存储持卡人数据,请确保存储桶不允许公开访问。允许公开访问 S3 存储桶可能会违反以下要求:将存储持卡人数据的系统组件放置在与 DMZ 和其他不受信任的网络隔离的内部网络区域中。

修复

要启用 Amazon S3 阻止公有访问

  1. 通过以下网址打开 Simple Storage Service(Amazon S3)控制台:https://console.aws.amazon.com/s3/

  2. 在导航窗格中,选择阻止公有访问(账户设置).

  3. 选择编辑。然后选择Block所有公有访问.

  4. 选择保存更改

有关更多信息,请参阅 。使用 Amazon S3 阻止公有访问中的Amazon Simple Storage Service 用户指南.

[PCI.sagemaker.1] Amazon SageMaker 笔记本实例不应直接访问互联网

严重性:

资源类型: AWS::SageMaker::NotebookInstance

Amazon Config 规则:sagemaker-notebook-no-direct-internet-access

类型:计划 定期

参数:

该控制检查 SageMaker 笔记本实例是否禁用了直接 Internet 访问。要做到这一点,它会检查是否DirectInternetAccess为笔记本实例禁用字段。

如果您在没有 VPC 的情况下配置 SageMaker 实例,则默认情况下,您的实例上启用直接互联网访问。您应该使用 VPC 配置实例并将默认设置更改为禁用 — 通过 VPC 访问 Internet.

要从笔记本电脑训练或托管模型,你需要互联网接入。要启用 Internet 访问,请确保您的 VPC 具有 NAT 网关并且安全组允许出站连接。要了解有关如何将笔记本实例连接到 VPC 中的资源的更多信息,请参阅将笔记本实例 Connect 到 VPC 中的资源中的Amazon SageMaker 开发人员指南.

您还应该确保将对 SageMaker 配置的访问限制为仅授权的用户。限制用户修改 SageMaker 设置和资源的 IAM 权限。

注意

以下区域不支持此控制。

  • 非洲(开普敦)

  • 亚太地区(大阪)

  • 中国(北京)

  • 中国(宁夏)

  • 欧洲(米兰)

  • Amazon GovCloud(美国东部)

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 1.2.1-将入站和出站流量限制为持卡人数据环境 (CDE) 所需的流量,并明确拒绝所有其他流量。

如果您在 CDE 中使用 SageMaker 笔记本实例,请确保笔记本实例不允许直接访问互联网。允许直接公开访问您的笔记本实例可能会违反以下要求:仅允许与 CDE 之间的所需流量。

PCI DSS 1.3.1-实施一个 DMZ,以将入站流量限制为仅提供授权的可公开访问服务、协议和端口的系统组件。

如果您在 CDE 中使用 SageMaker 笔记本实例,请确保笔记本实例不允许直接访问互联网。允许直接公开访问笔记本实例可能会违反以下要求:仅允许访问提供授权的可公开访问服务、协议和端口的系统组件。

PCI DSS 1.3.2-将入站 Internet 流量限制为 DMZ 中的 IP 地址。

如果您在 CDE 中使用 SageMaker 笔记本实例,请确保笔记本实例不允许直接访问互联网。允许直接公开访问您的笔记本实例可能会违反以下要求:将入站流量限制为 DMZ 中的 IP 地址。

PCI DSS 1.3.4 不允许从持卡人数据环境到 Internet 的未经授权的出站流量。

如果您在 CDE 中使用 SageMaker 笔记本实例,请确保笔记本实例不允许直接访问互联网。允许公开直接访问笔记本实例可能会违反以下要求:阻止从持卡人数据环境到 Internet 的未经授权的出站流量。

PCI DSS 1.3.6 将存储持卡人数据的系统组件(例如数据库)放置在与 DMZ 和其他不受信任的网络隔离的内部网络区域中。

如果您使用 SageMaker 笔记本实例,并且笔记本实例包含持卡人数据,请限制直接访问互联网。允许公开访问笔记本实例可能会违反以下要求:将存储持卡人数据的系统组件放置在与 DMZ 和其他不受信任的网络隔离的内部网络区域中。

修复

请注意,创建笔记本实例后,您无法更改互联网访问设置。必须停止、删除和重新创建它。

将 SageMaker 笔记本实例配置为拒绝直接访问互联网

  1. 在打开 SageMaker 控制台https://console.aws.amazon.com/sagemaker/

  2. 导航到笔记本实例.

  3. 删除启用了直接互联网访问的实例。选择实例,选择操作,然后选择停止。

    在实例停止后选择操作,然后选择删除.

  4. 选择创建笔记本实例。提供配置详细信息。

  5. 展开网络部分。然后,选择 VPC、子网和安全组。UDE直接 Internet 访问,选择禁用 — 通过 VPC 访问 Internet.

  6. 选择创建笔记本实例

有关更多信息,请参阅 。将笔记本实例 Connect 到 VPC 中的资源中的Amazon SageMaker 开发人员指南.

[PCI.SSM.1] 在安装补丁后,系统管理器管理的 Amazon EC2 实例的补丁合规性状态应该为 COMPLIANT

严重性:

资源类型: AWS::SSM::PatchComplianceAWS::EC2::Instance

Amazon Config 规则:ec2-managedinstance-patch-compliance-status-check

计划 已触发更改

参数:

该控制检查 Amazon EC2 Systems Manager 补丁合规性的合规性状态是否为COMPLIANT要么NON_COMPLIANT在实例上安装修补程序之后。

它仅检查 Amazon Systems Manager Patch Manager 管理的实例。

它不会检查是否在 PCI DSS 要求 6.2 规定的 30 天限制内应用补丁。

它也不会验证应用的补丁是否归类为安全补丁。

您应该使用相应的基准设置创建补丁组,并确保范围内的系统由 Systems Manager 中的这些补丁组进行管理。有关补丁组的更多信息,请参阅Amazon Systems Manager用户指南.

注意

以下区域不支持此控制。

  • 非洲(开普敦)

  • 亚太地区(大阪)

  • 欧洲(米兰)

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 6.2:通过安装供应商提供的适用安全补丁,确保保护所有系统组件和软件以免受到已知漏洞的攻击。请在发布后的一个月内安装重要安全补丁。

在生产环境中安装之前,应对供应商为 PCI DSS 范围内的系统发布的补丁进行测试和验证。部署后,应验证安全设置和控制,以确保部署的补丁不会影响持卡人数据环境 (CDE) 的安全性。

如果您使用由托管的 Amazon EC2 实例Amazon Systems Manager为 CDE 中的托管实例提供补丁管理,请确保成功应用了补丁。为此,请检查 Amazon EC2 Systems Manager 补丁合规性的合规性状态是否为 “COMPLIANT”。Patch Manager 可以应用操作系统和应用程序的适用补丁。

这是一种用于保护系统组件和软件以免受到已知漏洞攻击的方法。

修复

修复不合规的补丁

该规则检查 Amazon EC2 Systems Manager 补丁合规性的合规性状态是 COMPLIANT 还是 NON_COMPLIANT。要了解补丁合规性状态的更多信息,请参阅Amazon Systems Manager用户指南.

  1. 访问 https://console.aws.amazon.com/systems-manager/,打开 Amazon Systems Manager 控制台。

  2. 在导航窗格中的下节点管理,选择Run Command.

  3. 选择 Run command (运行命令)

  4. 选择 AWS-RunPatchBaseline 旁边的单选按钮,然后将 Operation (操作) 更改为 Install (安装)

  5. 选择手动选择实例然后选择不合规的实例。

  6. 滚动到底部,然后选择 Run (运行)

  7. 在该命令完成后,要监控修补的实例的新合规性状态,请在导航窗格中选择 Compliance (合规性)

请参阅Amazon Systems Manager用户指南有关以下内容的更多信息:

[PCI.SSM.2] 由系统管理器管理的实例应具有关联合规性状态COMPLIANT

严重性:

资源类型: AWS::SSM::AssociationCompliance

Amazon Config 规则:ec2-managedinstance-association-compliance-status-check

类型:计划 已触发更改

参数:

该控制检查是否有状态Amazon Systems Manager关联合规性为COMPLIANT要么NON_COMPLIANT在实例上运行关联之后。如果关联合规性状态为,则控制通过COMPLIANT.

状态管理器关联是分配给托管实例的配置。该配置定义要在实例上保持的状态。例如,关联可以指定必须在实例上安装并运行防病毒软件,或必须关闭特定端口。

创建一个或多个 State Manager 关联之后,控制台或响应中将立即出现合规性状态信息。Amazon CLI命令或相应的 Systems Manager API 操作。对于关联,配置合规性显示状态合规要么不合规以及分配给关联的严重性级别,如重大要么中等. 要了解有关州经理关联合规性的更多信息,请关于国务经理关联合规中的Amazon Systems Manager用户指南.

您必须为 Systems Manager 关联配置范围内的 EC2 实例。您还必须为补丁程序供应商的安全评级配置补丁基准,并设置自动批准日期以满足 PCI DSS 3.2.1 要求 6.2。有关如何创建关联的其他指导,请参阅创建关联中的Amazon Systems Manager用户指南. 有关在 Systems Manager 中使用修补的其他信息,请参阅Amazon Systems ManagerPatch Manager中的Amazon Systems Manager用户指南.

注意

以下区域不支持此控制。

  • 非洲(开普敦)

  • 亚太地区(大阪)

  • 欧洲(米兰)

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关。

PCI DSS 2.4 保留 PCI DSS 范围内的系统组件的清单。

如果您使用 Systems Manager 管理的 EC2 实例为持卡人数据环境 (CDE) 收集库存,请确保已成功关联实例。要执行此操作,请检查 Systems Manager 关联合规性的合规性状态是否为COMPLIANT. 使用 Systems Manager 可以帮助保留 PCI DSS 范围内的系统组件的清单。有关如何组织库存的其他指导,请参阅配置清单的资源数据同步中的Amazon Systems Manager用户指南.

修复

失败的关联可能与不同的东西有关,包括目标和 SSM 文档名称。要修复此问题,必须首先确定并调查关联。然后,您可以更新关联以更正具体问题。

您可以编辑关联以指定新名称、计划、严重级别或目标。编辑关联后,Systems Manager 将创建新版本。

调查和更新失败的关联

  1. 访问 https://console.aws.amazon.com/systems-manager/,打开 Amazon Systems Manager 控制台。

  2. 在导航窗格中的下节点管理,选择Fleet Manager.

  3. 选择具有关联状态已失败.

  4. 选择 View details (查看详细信息)

  5. 选择Associations.

  6. 注意有一个关联的名称关联状态已失败. 这是你需要调查的关联。您需要在下一个步骤中使用关联名称。

  7. 在导航窗格中的下节点管理,选择状态管理器. 搜索关联名称,然后选择关联。

    确定问题后,编辑失败的关联以纠正问题。有关如何编辑关联的信息,请参阅。编辑关联.

有关创建和编辑状态管理器关联的详细信息,请参阅在 Systems Manager 中使用关联。中的Amazon Systems Manager用户指南.

[PCI.SSM.3] EC2 实例应由管理Amazon Systems Manager

严重性:

资源类型: AWS::EC2::Instance

Amazon Config 规则:ec2-instance-managed-by-systems-manager

类型:计划 已触发更改

参数:

该控制检查您账户中的 EC2 实例是否由 Systems Manager 托管。

Amazon Systems Manager是Amazon您可以用于查看和控制Amazon基础设施。为了帮助您维护安全性和合规性,Systems Manager 会扫描您的托管实例。托管实例是一个已配置为与 Systems Manager 一起使用的机器。然后,Systems Manager 就检测到的任何策略违规行为报告或采取纠正措施。Systems Manager 还帮助您配置和维护托管实例。需要在 Systems Manager 中进行额外的配置,才能将补丁部署到托管 EC2 实例。

要了解有关更多信息,请参阅 Amazon Systems Manager 用户指南

相关的 PCI DSS 要求

该控制与以下 PCI DSS 要求相关:

PCI DSS 2.4 保留 PCI DSS 范围内的系统组件的清单。

如果您使用 Systems Manager 管理的 EC2 实例来收集持卡人数据环境 (CDE) 的库存,请确保这些实例由 Systems Manager 管理。使用 Systems Manager 可以帮助保留 PCI DSS 范围内的系统组件的清单。有关如何组织库存的其他指导,请参阅为库存配置资源数据同步中的Amazon Systems Manager用户指南.

PCI DSS 6.2 通过安装供应商提供的适用安全补丁,确保保护所有系统组件和软件以免受到已知漏洞的攻击。请在发布后的一个月内安装重要安全补丁。

对于在 PCI DSS 范围内的系统,在生产环境中安装供应商修补程序之前,应对其进行测试和验证。部署补丁后,请验证安全设置和控制,以确保部署的补丁未影响 CDE 的安全性。如果您使用系统管理器管理的 EC2 实例修补 CDE 中的托管实例,请确保该实例由系统管理器管理。Systems Manager 部署系统补丁,以帮助保护系统组件和软件以免受到已知漏洞攻击。

修复

您可以使用 Systems Manager 快速设置设置 Systems Manager 以管理您的 EC2 实例。

要确定您的实例是否可以支持 Systems Manager 关联,请参阅。Systems Manager 的先决条件中的Amazon Systems Manager用户指南.

确保 EC2 实例由 Systems Manager 管理

  1. 访问 https://console.aws.amazon.com/systems-manager/,打开 Amazon Systems Manager 控制台。

  2. 在导航窗格中,选择快速设置.

  3. 在配置屏幕上,保留默认选项。

  4. 选择 Set up Systems Manager (设置 Systems Manager)