ACSC Essential 8 操作最佳实践 - AWS Config

ACSC Essential 8 操作最佳实践

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

下面提供了澳大利亚网络安全中心(ACSC)Essential Eight Maturity Model(八大基本成熟度模型)与 AWS 托管 Config 规则之间的映射示例。每条 Config 规则都适用于特定的 AWS 资源,并与一个或多个 ACSC Essential Eight 控制相关。一个 ACSC Essential Eight 控制可以与多个 Config 规则相关联。有关这些映射的更多详细信息和指导,请参阅下表。配置规则的一些映射是针对高阶部分(例如“限制网络安全事件范围的缓解策略”),而不是更加规范性的部分。

此示例合规性包模板包含与 ACSC Essential 8 中控制的映射,ACSC Essential 8 由澳大利亚联邦创建,可在 ACSC | Essential Eight 上找到。有关知识共享署名 4.0 国际公共许可证下的框架许可和该框架的版权信息(包括免责声明),请访问 ACSC | 版权

控制 ID AWS Config 规则 指南
Application_control

alb-waf-enabled

确保在 Elastic Load Balancers(ELB)上启用 AWS WAF,以帮助保护 Web 应用程序。WAF 有助于保护您的 Web 应用程序或 API 免遭常见 Web 漏洞的侵害。这些 Web 漏洞可能会影响可用性、损害安全性或消耗环境中过多的资源。
Application_control

api-gw-associated-with-waf

通过 AWS WAF,您可以配置一组规则(称为 Web 访问控制列表,即 Web ACL),基于可自定义的 Web 安全规则以及您定义的条件,允许、阻止 Web 请求或统计 Web 请求数量。确保您的 Amazon API Gateway 阶段与某个 WAF Web ACL 关联,以保护其免受恶意攻击
Application_control cloudwatch-log-group-encrypted

检查 Amazon CloudWatch 日志组是否使用任何 AWS KMS 密钥或指定的 AWS KMS 密钥 ID 进行加密。如果 CloudWatch 日志组未使用 KMS 密钥加密,或者使用规则参数中未提供的 KMS 密钥进行加密,则此规则为 NON_COMPLIANT。

Application_control

ec2-instance-managed-by-systems-manager

利用 AWS Systems Manager 管理 Amazon Elastic Compute Cloud(Amazon EC2)实例,可以清点组织中的软件平台和应用程序。使用 AWS Systems Manager 提供详细的系统配置、操作系统补丁级别、服务名称和类型、软件安装、应用程序名称、发布者和版本以及有关您的环境的其他详细信息。
Application_control

waf-regional-rule-not-empty

确保您的 AWS WAF 有一条不为空的规则。不含条件的规则可能会导致意外行为。
Application_control

waf-regional-rulegroup-not-empty

确保您的 AWS WAF 有一个不为空的规则组。空规则组可能会导致意外行为。
Application_control

waf-regional-webacl-not-empty

连接到 AWS WAF 的 Web ACL 可以包含一组用于检查和控制 Web 请求的规则和规则组。如果 Web ACL 为空,Web 流量将直接通过,而不会被 WAF 检测或处理。
Application_control

ec2-managedinstance-association-compliance-status-check

使用 AWS Systems Manager Associations 来帮助清点组织内的软件平台和应用程序。AWSSystems Manager 会为您的托管实例分配配置状态,并允许您设置操作系统补丁级别、软件安装、应用程序配置以及有关您的环境的其他详细信息的基准。
Patch_applications

ec2-imdsv2-check

确保启用实例元数据服务版本 2(IMDSv2)方法,以帮助保护对 Amazon Elastic Compute Cloud(Amazon EC2)实例元数据的访问和控制。IMDSv2 方法使用基于会话的控制。使用 IMDSv2,可以实施控制来限制对实例元数据的更改。
Patch_applications

ec2-instance-managed-by-systems-manager

利用 AWS Systems Manager 管理 Amazon Elastic Compute Cloud(Amazon EC2)实例,可以清点组织中的软件平台和应用程序。使用 AWS Systems Manager 提供详细的系统配置、操作系统补丁级别、服务名称和类型、软件安装、应用程序名称、发布者和版本以及有关您的环境的其他详细信息。
Patch_applications

ecs-fargate-latest-platform-version

AWS Fargate 任务的安全更新和补丁将自动部署。如果安全问题影响 AWS Fargate 平台版本,AWS 将为平台版本提供补丁。为了帮助管理运行 AWS Fargate 的 Amazon Elastic Container Service(ECS)任务的补丁,请将您的服务独立任务更新为使用最新平台版本。
Patch_applications ec2-instance-launched-with-allowed-ami

检查正在运行或已停止的 EC2 实例是否使用符合“允许的 AMI”标准的亚马逊机器映像(AMI)启动。如果 AMI 不符合“允许的 AMI”标准,并且未禁用“允许的 AMI”设置,则此规则为 NON_COMPLIANT。

Patch_applications

elastic-beanstalk-managed-updates-enabled

为 Amazon Elastic Beanstalk 环境启用受管平台更新可确保安装环境的最新可用平台修复、更新和功能。及时安装补丁是保护系统的最佳实践。
Patch_applications

rds-automatic-minor-version-upgrade-enabled

启用 Amazon Relational Database Service(RDS)实例的自动次要版本升级,以确保安装关系数据库管理系统(RDBMS)的最新次要版本更新,其中可能包括安全补丁和错误修复。
Patch_applications

ec2-managedinstance-association-compliance-status-check

使用 AWS Systems Manager Associations 来帮助清点组织内的软件平台和应用程序。AWSSystems Manager 会为您的托管实例分配配置状态,并允许您设置操作系统补丁级别、软件安装、应用程序配置以及有关您的环境的其他详细信息的基准。
Patch_applications

redshift-cluster-maintenancesettings-check

此规则可确保 Amazon Redshift 集群具有适合贵组织的首选设置。具体而言,就是确保它们有首选的数据库维护窗口和自动快照保留期。此规则要求您设置 allowVersionUpgrade。默认值为 true。它还允许您选择设置 preferredMaintenanceWindow(默认值为 sat:16:00-sat:16:30)和 automatedSnapshotRetentionPeriod(默认值为 1)。实际值应反映贵组织的策略。
Restrict_administrative_privileges

iam-no-inline-policy-check

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

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

AWS Identity and Access Management(IAM)可以帮助您将最低权限和职责分离原则与访问权限和授权相结合,限制策略包含 "Effect": "Allow" with "Action": "*" over "Resource": "*"。允许用户拥有超过完成任务所需的权限,可能会违反最低权限和职责分离的原则。
Restrict_administrative_privileges

iam-root-access-key-check

通过检查根用户的 AWS Identity and Access Management(IAM)角色是否拥有访问密钥,可以控制对系统和资产的访问。确保删除根访问密钥。相反,创建和使用基于角色的 AWS 账户来帮助纳入最少功能原则。
Restrict_administrative_privileges

codebuild-project-environment-privileged-check

为了帮助实现最低权限原则,请确保您的 Amazon CodeBuild 项目环境未启用特权模式。应禁用此设置,以防止意外访问 Docker API 及容器的底层硬件。
Restrict_administrative_privileges

ecs-containers-nonprivileged

为了帮助实施最低权限原则,Amazon Elastic Container Service(Amazon ECS)任务定义不应启用提升权限。在该参数为 true 时,将为该容器提供提升的主机容器实例权限(类似于根用户)。
Restrict_administrative_privileges

ecs-containers-readonly-access

启用对 Amazon Elastic Container Service(ECS)容器的只读访问有助于遵守最低权限原则。此选项可以减少攻击载体,因为除非容器实例具有明确的读写权限,否则无法修改其文件系统。
Restrict_administrative_privileges

ecs-task-definition-nonroot-user

为了帮助实施最低权限原则,请确保指定非根用户来访问您的 Amazon Elastic Container Service(Amazon ECS)任务定义。
Restrict_administrative_privileges

efs-access-point-enforce-user-identity

为了帮助实施最低权限原则,请确保为您的 Amazon Elastic File System(Amazon EFS)启用用户强制执行。启用后,Amazon EFS 会将 NFS 客户端的用户和组 ID 替换为接入点上为所有文件系统操作配置的身份,并只向此强制用户身份授予访问权限。
Restrict_administrative_privileges

iam-user-group-membership-check

AWS Identity and Access Management(IAM)可通过确保用户至少属于一个组来帮助您限制访问权限和授权。允许用户拥有超过完成任务所需的权限,可能会违反最低权限和职责分离的原则。
Restrict_administrative_privileges

iam-user-unused-credentials-check

AWS Identity and Access Management(IAM)可以通过检查指定时间段内未使用的 IAM 密码和访问密钥,来帮助您获得访问权限和授权。如果发现这些未使用的凭证,则应禁用和/或删除这些凭证,因为这可能违反最低权限原则。此规则要求您为 maxCredentialUsageAge 设置一个值(Config 默认值:90)。实际值应反映贵组织的策略。
Restrict_administrative_privileges

rds-instance-iam-authentication-enabled

确保在 Amazon Relational Database Service(Amazon RDS) 实例上启用 AWS Identity and Access Management(IAM)身份验证,以控制对系统和资产的访问。这会强制进出数据库的网络流量使用安全套接字层(SSL)进行加密。您无需将用户凭证存储在数据库中,因为身份验证在外部进行管理。
Restrict_administrative_privileges

ec2-instance-profile-attached

EC2 实例配置文件将 IAM 角色传递给 EC2 实例。将实例配置文件附加到您的实例可以帮助实现最低权限和权限管理。
Restrict_administrative_privileges

ecs-task-definition-user-for-host-mode-check

如果任务定义具有提升的权限,那是因为客户专门选择了这些配置。当任务定义启用了主机联网,但客户未选择使用提升权限时,此控制会检查权限是否意外提升。
Restrict_administrative_privileges

iam-customer-policy-blocked-kms-actions

AWS Identity and Access Management(IAM)可以帮助您将最低权限和职责分离原则与访问权限和授权相结合,从而限制策略包含对所有 AWS Key Management Service 密钥的阻止操作。拥有超过完成任务所需的权限可能会违反最低权限和职责分离的原则。该规则允许您设置 blockedActionsPatterns 参数。(AWS 基础安全最佳实践值:kms:Decrypt、kms:ReEncryptFrom)。实际值应反映贵组织的策略
Restrict_administrative_privileges

iam-inline-policy-blocked-kms-actions

确保 AWS Identity and Access Management(IAM)用户、IAM 角色或 IAM 组没有允许对所有 AWS Key Management Service 密钥执行阻止操作的内联策略。AWS 建议使用托管策略而不是内联策略。托管策略允许可重用性、版本控制、回滚和委托权限管理。该规则允许您设置 blockedActionsPatterns 参数。(AWS 基础安全最佳实践值:kms:Decrypt、kms:ReEncryptFrom)。实际值应反映贵组织的策略。
Restrict_administrative_privileges

iam-policy-no-statements-with-full-access

确保 IAM 操作仅限于需要的那些操作。允许用户拥有超过完成任务所需的权限,可能会违反最低权限和职责分离的原则。
Patch_operating_systems

ec2-managedinstance-patch-compliance-status-check

启用此规则以帮助识别和记录 Amazon Elastic Compute Cloud(Amazon EC2)漏洞。此规则根据贵组织的政策和程序的要求检查 AWS Systems Manager 中的 Amazon EC2 实例补丁是否合规。
Multi-factor_authentication

iam-root-access-key-check

通过检查根用户的 AWS Identity and Access Management(IAM)角色是否拥有访问密钥,可以控制对系统和资产的访问。确保删除根访问密钥。相反,创建和使用基于角色的 AWS 账户来帮助纳入最少功能原则。
Multi-factor_authentication

iam-user-mfa-enabled

启用此规则可限制对 AWS 云中资源的访问。此规则可确保为所有用户启用多重身份验证(MFA)。MFA 在用户名和密码之上增加了一层额外的防护。要求用户进行多重身份验证,从而减少账户被盗事件。
Multi-factor_authentication

mfa-enabled-for-iam-console-access

通过确保为所有拥有控制台密码的 AWS Identity and Access Management(IAM)用户启用 MFA,来管理对 AWS 云中资源的访问。MFA 在登录凭证之上添加一层额外的保护。通过要求用户进行 MFA,您可以减少账户被盗事件,防止未经授权的用户访问敏感数据。
Multi-factor_authentication

root-account-hardware-mfa-enabled

通过确保为根用户启用硬件 MFA,来管理对 AWS 云中资源的访问。根用户是 AWS 账户中权限最高的用户。MFA 为登录凭证增加了一层额外的保护。通过要求根用户进行 MFA,可以减少 AWS 账户被盗的事件。
Multi-factor_authentication

root-account-mfa-enabled

通过确保为根用户启用 MFA,来管理对 AWS 云中资源的访问。根用户是 AWS 账户中权限最高的用户。MFA 为用户名和密码增加了一层额外的保护。通过要求根用户进行 MFA,可以减少 AWS 账户被盗的事件。
Regular_backups

db-instance-backup-enabled

Amazon RDS 的备份功能可创建数据库和事务日志的备份。Amazon RDS 会自动创建数据库实例的存储卷快照,备份整个数据库实例。系统允许您设置特定的保留期以满足您的弹性要求。
Regular_backups

dynamodb-in-backup-plan

为了帮助完成数据备份流程,请确保 AWS 备份计划中包含您的 Amazon DynamoDB 表。AWSBackup 是一项完全托管式备份服务,具有基于策略的备份解决方案。该解决方案可简化您的备份管理,使您能够满足业务和监管备份合规性要求。
Regular_backups

ebs-in-backup-plan

为了帮助完成数据备份流程,请确保 AWS 备份计划中包含您的 Amazon Elastic Block Store(Amazon EBS)卷。AWSBackup 是一项完全托管式备份服务,具有基于策略的备份解决方案。该解决方案可简化您的备份管理,使您能够满足业务和监管备份合规性要求。
Regular_backups

efs-in-backup-plan

为了帮助完成数据备份流程,请确保 AWS 备份计划中包含您的 Amazon Elastic File System(Amazon EFS)文件系统。AWSBackup 是一项完全托管式备份服务,具有基于策略的备份解决方案。该解决方案可简化您的备份管理,使您能够满足业务和监管备份合规性要求。
Regular_backups

elasticache-redis-cluster-automatic-backup-check

启用自动备份后,Amazon ElastiCache 会每天为集群创建一个备份。备份可保留的天数由贵组织规定。自动备份可以帮助防止数据丢失。发生故障时,您可以通过从最新的备份还原数据来创建新集群。
Regular_backups

rds-in-backup-plan

为了帮助完成数据备份流程,请确保 AWS 备份计划中包含您的 Amazon Relational Database Service(Amazon RDS)实例。AWSBackup 是一项完全托管式备份服务,具有基于策略的备份解决方案。该解决方案可简化您的备份管理,使您能够满足业务和监管备份合规性要求。
Regular_backups s3-bucket-default-lock-enabled

检查默认情况下 S3 存储桶是否启用了锁定。如果锁定未启用,则规则为 NON_COMPLIANT。

Regular_backups

s3-bucket-replication-enabled

Amazon Simple Storage Service(Amazon S3)跨区域复制(CRR)支持保持足够的容量和可用性。CRR 可在 Amazon S3 存储桶间自动异步复制对象,以帮助确保数据的可用性。
Regular_backups

s3-bucket-versioning-enabled

Amazon Simple Storage Service(Amazon S3)存储桶版本控制有助于将对象的多个变体保存在同一 Amazon S3 存储桶中。对于 Amazon S3 存储桶中存储的每个对象,使用版本控制功能来保存、检索和还原它们的各个版本。版本控制功能可帮助您轻松地从用户意外操作和应用程序故障中恢复。
Regular_backups

aurora-resources-protected-by-backup-plan

为了帮助完成数据备份流程,请确保 AWS 备份计划中包含您的 Amazon Aurora 资源。AWSBackup 是一项完全托管式备份服务,具有基于策略的备份解决方案。该解决方案可简化您的备份管理,使您能够满足业务和监管备份合规性要求。
Regular_backups

backup-plan-min-frequency-and-min-retention-check

为了帮助完成数据备份流程,请确保为 AWS Backup 计划设置最低频率和保留期。AWSBackup 是一项完全托管式备份服务,具有基于策略的备份解决方案。该解决方案可简化您的备份管理,使您能够满足业务和监管备份合规性要求。此规则允许您设置 requiredFrequencyValue(Config 默认值:1)、requiredRetentionDays(Config 默认值:35)和 requiredFrequencyUnit(Config 默认值:days)参数。实际值应反映贵组织的需求。
Regular_backups

backup-recovery-point-manual-deletion-disabled

确保您的 AWS Backup 恢复点附加了基于资源的策略,以防止删除恢复点。使用基于资源的策略来防止删除恢复点有助于防止意外或故意删除。
Regular_backups

ec2-resources-protected-by-backup-plan

为了帮助完成数据备份流程,请确保 AWS 备份计划中包含您的 Amazon Elastic Compute Cloud(Amazon EC2)资源。AWSBackup 是一项完全托管式备份服务,具有基于策略的备份解决方案。该解决方案可简化您的备份管理,使您能够满足业务和监管备份合规性要求。
Regular_backups

redshift-backup-enabled

为了帮助完成数据备份流程,请确保您的 Amazon Redshift 集群具有自动快照。当某个集群的自动快照处于启用状态时,Redshift 会定期拍摄该集群的快照。默认情况下,Redshift 大约每 8 小时或在每节点数据更改达到 5 GB 时拍摄一次快照,以先到者为准。

模板

该模板可在 GitHub 上找到:ACSC Essential 8 操作最佳实践