CIS AWS 基金会运营最佳实践基准 v1.4 第 1 级 - AWS Config

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

CIS AWS 基金会运营最佳实践基准 v1.4 第 1 级

Conformance Pack 提供了一个通用的合规框架,旨在使您能够使用托管或自定义 AWS Config 规则和 AWS Config 补救措施来创建安全、运营或成本优化治理检查。作为示例模板,合规包并不是为了完全确保遵守特定的治理或合规标准而设计的。您有责任自行评估自己对服务的使用是否符合适用的法律和监管要求。

以下提供了互联网安全中心 (CIS) Amazon Web Services Foundation v1.4 第 1 级与 AWS 托管配置规则/ AWS Config 流程检查之间的映射示例。每条 Config 规则都适用于特定 AWS 资源,并与一个或多个 CIS Amazon Web Services Foundation v1.4 第 1 级控制相关。一个 CIS Amazon Web Services Foundation v1.4 Level 1 控制可以与多个 Config 规则相关联。有关这些映射的更多详细信息和指导,请参阅下表。

有关流程检查的更多信息,请参阅 process-checks

控制 ID 控制描述 AWS Config 规则 指南
1.1 维护最新的联系人详细信息 account-contact-details-configured (过程检查) 确保 AWS 账户的联系人电子邮件和电话号码是最新的,并映射到组织中的多个人员。在控制台的“我的账户”部分,确保在“联系信息”部分指定了正确的信息。有关该控制审计的更多详情,请参阅 CIS Amazon Web Services Foundations Benchmark 版本 1.4.0 文档,网址为 https://www.cisecurity.org/benchmark/amazon_web_services/
1.2 确保注册安全联系人信息 account-security-contact-configured (流程检查) 确保贵组织安全团队的联系电子邮件和电话号码是最新的。在 AWS 管理控制台的 “我的帐户” 部分中,确保在 “安全” 部分中指定了正确的信息。有关该控制审计的更多详情,请参阅 CIS Amazon Web Services Foundations Benchmark 版本 1.4.0 文档,网址为 https://www.cisecurity.org/benchmark/amazon_web_services/
1.4 确保不存在“root”用户访问密钥

iam-root-access-key-检查

通过检查根用户的 AWS 身份和访问管理 (IAM) 角色是否没有附加访问密钥,可以控制对系统和资产的访问。确保删除根访问密钥。相反,创建和使用基于角色的 AWS 帐户来帮助整合功能最少的原则。
1.5 确保为“root”用户启用 MFA

root-account-mfa-enabled

通过确保为根用户启用 MFA 来管理对 AWS 云中资源的访问权限。root 用户是 AWS 账户中权限最高的用户。MFA 为用户名和密码增加了一层额外的保护。通过要求根用户进行 MFA,可以减少账户被盗 AWS 的事件。
1.7 无需使用“root”用户执行管理和日常任务 root-account-regular-use (流程检查) 确保避免在日常任务中使用根账户。在 IAM 中,运行凭证报告以检查上次使用根用户的时间。有关该控制审计的更多详情,请参阅 CIS Amazon Web Services Foundations Benchmark 版本 1.4.0 文档,网址为 https://www.cisecurity.org/benchmark/amazon_web_services/
1.8 确保 IAM 密码策略要求最短长度不低于 14

iam-password-policy

身份和凭证是根据组织 IAM 密码策略颁发、管理和验证的。它们符合或超过了 NIST SP 800-63 和密码强度 AWS 基础安全最佳实践标准规定的要求。此规则允许您选择为自己的 IAM 设置 RequireUppercaseCharacters (AWS 基础安全最佳实践值:true)、 RequireLowercaseCharacters (AWS 基础安全最佳实践值:true)、 RequireSymbols (AWS 基础安全最佳实践值:true)、 RequireNumbers (AWS 基础安全最佳实践值:true)、 MinimumPasswordLength (AWS 基础安全最佳实践值:14)、 PasswordReusePrevention(AWS 基础安全最佳实践值:24)和 MaxPasswordAge(AWS 基础安全最佳实践值:90)密码政策。实际值应反映贵组织的策略。
1.9 确保 IAM 密码策略阻止重复使用密码

iam-password-policy

身份和凭证是根据组织 IAM 密码策略颁发、管理和验证的。它们符合或超过了 NIST SP 800-63 和密码强度 AWS 基础安全最佳实践标准规定的要求。此规则允许您选择为自己的 IAM 设置 RequireUppercaseCharacters (AWS 基础安全最佳实践值:true)、 RequireLowercaseCharacters (AWS 基础安全最佳实践值:true)、 RequireSymbols (AWS 基础安全最佳实践值:true)、 RequireNumbers (AWS 基础安全最佳实践值:true)、 MinimumPasswordLength (AWS 基础安全最佳实践值:14)、 PasswordReusePrevention(AWS 基础安全最佳实践值:24)和 MaxPasswordAge(AWS 基础安全最佳实践值:90)密码政策。实际值应反映贵组织的策略。
1.10 确保为拥有控制台密码的所有用户启用多重身份验证 (MFA)

mfa-enabled-for-iam-控制台访问权限

确保所有拥有控制台密码的 AWS 身份和访问管理 (IAM) Access Management 用户都启用 MFA,从而管理对 AWS 云中资源的访问权限。MFA 在登录凭证之上添加一层额外的保护。通过要求用户进行 MFA,您可以减少账户被盗事件,防止未经授权的用户访问敏感数据。
1.11 在初始用户设置期间,不要为具有控制台密码的所有用户设置访问密钥 iam-user-console-and-api-access-at-creation (过程检查) 在初始用户设置期间,确保不要为具有控制台密码的所有用户设置访问密钥。对于所有具有控制台访问权限的用户,请将用户的“创建时间”与访问密钥“创建”日期进行比较。有关该控制审计的更多详情,请参阅 CIS Amazon Web Services Foundations Benchmark 版本 1.4.0 文档,网址为 https://www.cisecurity.org/benchmark/amazon_web_services/
1.12 确保禁用 45 天或更长时间未使用的凭证

iam-user-unused-credentials-检查

AWS 身份与访问管理 (IAM) Access Management 可以通过检查指定时间段内未使用的 IAM 密码和访问密钥来帮助您获得访问权限和授权。如果发现这些未使用的凭证,则应禁用和/或删除这些凭证,因为这可能违反最低权限原则。此规则要求您为 “ maxCredentialUsage年龄” 设置一个值(CIS 标准值:45)。实际值应反映贵组织的策略。
1.13 确保只有一个有效的访问密钥可供任何一个用户使用 iam-user-single-access-key(进程检查) 确保只有一个有效的访问密钥可供任何一个用户使用。对于所有用户,请检查 IAM 中每个用户的“安全凭证”选项卡中是否只使用了一个活动密钥。有关该控制审计的更多详情,请参阅 CIS Amazon Web Services Foundations Benchmark 版本 1.4.0 文档,网址为 https://www.cisecurity.org/benchmark/amazon_web_services/
1.14 确保访问密钥每 90 天或更短时间轮换一次

access-keys-rotated

通过确保按照组织政策轮换 IAM 访问密钥,对授权的设备、用户和流程的凭证进行审核。定期更改访问密钥是一种安全最佳实践。它会缩短访问密钥的有效期,并降低密钥泄露时对业务的影响。此规则需要访问密钥轮换值(配置默认值:90)。实际值应反映贵组织的策略。
1.15 确保用户只能通过组获得权限

iam-user-no-policies-检查

该规则确保 AWS 身份和访问管理 (IAM) Access Management 策略仅附加到组或角色以控制对系统和资产的访问权限。在组或角色级别分配权限有助于减少身份获得或保留过多权限的机会。
1.15 确保用户只能通过组获得权限

iam-no-inline-policy-检查

确保 AWS 身份和访问管理 (IAM) Access Management 用户、IAM 角色或 IAM 群组没有控制系统和资产访问权限的内联策略。 AWS 建议使用托管策略而不是内联策略。托管策略允许可重用性、版本控制、回滚和委托权限管理。
1.15 确保用户只能通过组获得权限

iam-user-group-membership-检查

AWS 身份与访问管理 (IAM) Access Management 可通过确保用户至少属于一个群组来帮助您限制访问权限和授权。允许用户拥有超过完成任务所需的权限,可能会违反最低权限和职责分离的原则。
1.16 确保未附加允许完全“*:*”管理权限的 IAM 策略

iam-policy-no-statements-with-admin-access

AWS Identity and Access Management (IAM) 可以帮助您将最低权限和职责分离原则与访问权限和授权相结合,限制策略包含 “效果”:“允许” 和 “操作”:“*” 而不是 “资源”:“*”。允许用户拥有超过完成任务所需的权限,可能会违反最低权限和职责分离的原则。
1.17 确保已创建支持角色来管理与 AWS Support 发生的事件

iam-policy-in-use

AWS Identity and Access Management 可确保将 IAM 策略分配给相应的用户、角色或群组,从而帮助您管理访问权限和授权。限制这些策略还包括最低权限和职责分离原则。此规则要求你将 policYarn 设置为 arn: aws: iam:: aws: policy/,以便使用 Support 进行事件管理AWSSupportAccess。 AWS
1.19 确保移除存储在 AWS IAM 中的所有过期 SSL/TLS 证书 iam-expired-certificates (流程检查) 确保移除存储在 IAM 中的所有过期 SSL/TLS 证书。在安装了 AWS CLI 的命令行中运行 “i AWS a list-server-certificates m” 命令并确定是否有任何过期的服务器证书。有关该控制审计的更多详情,请参阅 CIS Amazon Web Services Foundations Benchmark 版本 1.4.0 文档,网址为 https://www.cisecurity.org/benchmark/amazon_web_services/
1.20 确保已启用 AWS IAM 访问分析器 iam-access-analyzer-enabled (流程检查) 确保启用 IAM Access Analyzer。在控制台的 IAM 部分中,选择 Access Analyzer 并确保将“状态”设置为“活动”。有关该控制审计的更多详情,请参阅 CIS Amazon Web Services Foundations Benchmark 版本 1.4.0 文档,网址为 https://www.cisecurity.org/benchmark/amazon_web_services/
2.1.3 确保在 S3 存储桶上启用 MFA 删除

s3-bucket-versioning-enabled

Amazon Simple Storage Service (Amazon S3) 存储桶版本控制有助于将对象的多个变体保存在同一 Amazon S3 存储桶中。向 S3 存储桶添加多重身份验证 (MFA) 删除需要额外的身份验证因素,才能更改存储桶的版本状态或删除对象版本。MFA 删除可以在安全凭据泄露或未经授权的访问被批准的情况下增加一层安全保护。
2.1.5 确保 S3 存储桶配置“阻止公开访问权限(存储桶设置)”

s3--account-level-public-access 区块-周期性

确保无法公开访问亚马逊简单存储服务 (Amazon S3) 存储桶,从而管理对 AWS 云端资源的访问权限。该规则通过防止公众访问,来帮助保护敏感数据免受未经授权的远程用户的访问。此规则允许您选择设置(配置默认值:True)、 ignorePublicAcls (配置默认值:True)、 blockPublicPolicy (配置默认值:True)和参数 blockPublicAcls (配置默认值:True)和 restrictPublicBuckets 参数(配置默认值:True)。实际值应反映贵组织的策略。
2.1.5 确保 S3 存储桶配置“阻止公开访问权限(存储桶设置)”

s3-bucket-level-public-access-禁止使用

确保无法公开访问亚马逊简单存储服务 (Amazon S3) 存储桶,从而管理对 AWS 云端资源的访问权限。该规则通过在存储桶级别防止公众访问,来帮助保护敏感数据免受未经授权的远程用户的访问。
2.2.1 确保已启用 EBS 卷加密

encrypted-volumes

由于可能存在敏感数据,并且为了帮助保护静态数据,应确保您的 Amazon Elastic Block Store (Amazon EBS) 卷启用了加密。
2.2.1 确保已启用 EBS 卷加密

ec2-ebs-encryption-by-default

为了帮助保护静态数据,请确保为您的 Amazon Elastic Block Store (Amazon EBS) 卷启用加密。由于这些卷中可能存在敏感的静态数据,因此应启用静态加密以帮助保护这些数据。
2.3.1 确保已为 RDS 实例启用加密

rds-snapshot-encrypted

确保为 Amazon Relational Database Service (Amazon RDS) 快照启用加密。由于可能存在敏感的静态数据,因此应启用静态加密以帮助保护这些数据。
2.3.1 确保已为 RDS 实例启用加密

rds-storage-encrypted

为了帮助保护静态数据,请确保您的 Amazon Relational Database Service (Amazon RDS) 实例启用了加密。由于 Amazon RDS 实例中可能存在敏感的静态数据,因此应启用静态加密以帮助保护这些数据。
3.1 确保 CloudTrail 在所有地区都已启用

multi-region-cloudtrail-enabled

AWS CloudTrail 记录 AWS 管理控制台操作和 API 调用。您可以识别哪些用户和帐户拨打了电话 AWS、发出呼叫的源 IP 地址以及呼叫发生的时间。 CloudTrail 如果启用了 MULTI_REGION_CLOUD_TRAIL_ENABLED,则会将来自所有 AWS 区域的日志文件传输到您的 S3 存储桶。此外, AWS 启动新区域时, CloudTrail 将在新区域中创建相同的跟踪。因此,您无需采取任何措施,即可收到包含新区域的 API 活动的日志文件。
3.3 确保用于存储 CloudTrail 日志的 S3 存储桶不可公开访问

s3-bucket-public-read-prohibited

仅允许授权用户、进程和设备访问亚马逊简单存储服务 (Amazon S3) 存储桶,从而管理对 AWS 云端资源的访问权限。访问管理应与数据的分类保持一致。
3.3 确保用于存储 CloudTrail 日志的 S3 存储桶不可公开访问

s3-bucket-public-write-prohibited

仅允许授权用户、进程和设备访问亚马逊简单存储服务 (Amazon S3) 存储桶,从而管理对 AWS 云端资源的访问权限。访问管理应与数据的分类保持一致。
3.3 确保用于存储 CloudTrail 日志的 S3 存储桶不可公开访问

s3-bucket-level-public-access-禁止使用

确保无法公开访问亚马逊简单存储服务 (Amazon S3) 存储桶,从而管理对 AWS 云端资源的访问权限。该规则通过在存储桶级别防止公众访问,来帮助保护敏感数据免受未经授权的远程用户的访问。
3.4 确保 CloudTrail 跟踪与 CloudWatch日志集成

cloud-trail-cloud-watch-启用日志

使用 Amazon CloudWatch 集中收集和管理日志事件活动。包含 AWS CloudTrail 数据可提供您 AWS 账户中 API 调用活动的详细信息。
3.6 确保在 S3 存储桶上启用 CloudTrail S3 存储桶访问日志记录

s3-bucket-logging-enabled

Amazon Simple Storage Service (Amazon S3) 服务器访问日志记录可提供一种监控网络中是否存在潜在网络安全事件的方法。通过捕获向 Amazon S3 存储桶发出的请求的详细记录,来监控事件。每条访问日志记录都提供有关单个访问请求的详细信息。这些详细信息包括请求者、存储桶名称、请求时间、请求操作、响应状态和错误代码(如果相关)。
4.1 确保存在关于未经授权的 API 调用的日志指标筛选条件和警报 alarm-unauthorized-api-calls (流程检查) 确保存在关于未经授权的 API 调用的日志指标筛选条件和警报 有关该控制审计的更多详情,请参阅 CIS Amazon Web Services Foundations Benchmark 版本 1.4.0 文档,网址为 https://www.cisecurity.org/benchmark/amazon_web_services/
4.2 确保存在关于无 MFA 的管理控制台登录的日志指标筛选条件和警报 alarm-sign-in-without-mfa(流程检查) 确保存在关于无多重身份验证 (MFA) 的 AWS 管理控制台登录的日志指标筛选条件和警报。有关该控制审计的更多详情,请参阅 CIS Amazon Web Services Foundations Benchmark 版本 1.4.0 文档,网址为 https://www.cisecurity.org/benchmark/amazon_web_services/
4.3 确保存在关于使用“根”账户的日志指标筛选条件和警报 alarm-root-account-use (流程检查) 确保存在关于使用根账户的日志指标筛选条件和警报。有关该控制审计的更多详情,请参阅 CIS Amazon Web Services Foundations Benchmark 版本 1.4.0 文档,网址为 https://www.cisecurity.org/benchmark/amazon_web_services/
4.4 确保存在关于 IAM 策略更改的日志指标筛选条件和警报 alarm-iam-policy-change (流程检查) 确保存在关于 IAM 策略更改的日志指标筛选条件和警报。有关该控制审计的更多详情,请参阅 CIS Amazon Web Services Foundations Benchmark 版本 1.4.0 文档,网址为 https://www.cisecurity.org/benchmark/amazon_web_services/
4.5 确保存在关于 CloudTrail 配置更改的日志指标筛选条件和警报 alarm-cloudtrail-config-change (流程检查) 确保有日志指标筛选器,并且存在 AWS CloudTrail 配置更改警报。有关该控制审计的更多详情,请参阅 CIS Amazon Web Services Foundations Benchmark 版本 1.4.0 文档,网址为 https://www.cisecurity.org/benchmark/amazon_web_services/
4.8 确保存在关于 S3 存储桶策略更改的日志指标筛选条件和警报 alarm-s3-bucket-policy-change (进程检查) 确保存在关于 Amazon S3 存储桶策略更改的日志指标筛选条件和警报。有关该控制审计的更多详情,请参阅 CIS Amazon Web Services Foundations Benchmark 版本 1.4.0 文档,网址为 https://www.cisecurity.org/benchmark/amazon_web_services/
4.12 确保存在关于网络网关更改的日志指标筛选条件和警报 alarm-vpc-network-gateway-change(流程检查) 确保存在关于网络网关更改的日志指标筛选条件和警报。有关该控制审计的更多详情,请参阅 CIS Amazon Web Services Foundations Benchmark 版本 1.4.0 文档,网址为 https://www.cisecurity.org/benchmark/amazon_web_services/
4.13 确保存在关于路由表更改的日志指标筛选条件和警报 alarm-vpc-route-table-change(流程检查) 确保存在关于路由表更改的日志指标筛选条件和警报 有关该控制审计的更多详情,请参阅 CIS Amazon Web Services Foundations Benchmark 版本 1.4.0 文档,网址为 https://www.cisecurity.org/benchmark/amazon_web_services/
4.14 确保存在关于 VPC 更改的日志指标筛选条件和警报 alarm-vpc-change (流程检查) 确保存在关于 Amazon Virtual Private Cloud (VPC) 更改的日志指标筛选条件和警报。有关该控制审计的更多详情,请参阅 CIS Amazon Web Services Foundations Benchmark 版本 1.4.0 文档,网址为 https://www.cisecurity.org/benchmark/amazon_web_services/
4.15 确保存在关于 AWS Organizations 更改的日志指标筛选条件和警报 alarm-organizations-change (流程检查) 确保存在关于 AWS Organizations 更改的日志指标筛选条件和警报。有关该控制审计的更多详情,请参阅 CIS Amazon Web Services Foundations Benchmark 版本 1.4.0 文档,网址为 https://www.cisecurity.org/benchmark/amazon_web_services/
5.1 确保没有网络 ACL 允许从 0.0.0.0/0 进入远程服务器管理端口

nacl-no-unrestricted-ssh-rdp

确保没有网络 ACL 允许远程服务器管理端口的公共入口。在控制台的 VPC 部分,确保有源为“0.0.0.0/0”的网络 ACL,允许使用包括远程服务器管理端口在内的端口或端口范围。有关该控制审计的更多详情,请参阅 CIS Amazon Web Services Foundations Benchmark 版本 1.4.0 文档,网址为 https://www.cisecurity.org/benchmark/amazon_web_services/
5.2 确保没有安全组允许从 0.0.0.0/0 进入远程服务器管理端口

restricted-ssh

Amazon Elastic Compute Cloud (Amazon EC2) 安全组可以对资源的入口和出口网络流量进行状态筛选,从而帮助管理网络访问。 AWS 不允许您资源上的入口(或远程)流量从 0.0.0.0/0 进入端口 22 有助于限制远程访问。
5.2 确保没有安全组允许从 0.0.0.0/0 进入远程服务器管理端口

restricted-common-ports

通过确保限制亚马逊弹性计算 AWS 云 (Amazon EC2) 安全组的常用端口,管理对云中资源的访问。如果不将端口访问限制为可信来源,可能会导致针对系统可用性、完整性和机密性的攻击。此规则允许您选择设置 blockedPort1 - blockedPort5 参数(CIS 标准值:3389)。实际值应反映贵组织的策略。

模板

该模板可在以下网址获得 GitHub:CIS AWS 基金会运营最佳实践基准 v1.4 第 1 级