p } ?>

实施 NIST SP 800

2026-01-27 13:58:01 31

NIST SP 80053 Rev 5 合规与报告策略实施

关键要点

本文介绍如何利用 AWS 工具实施合规和报告策略,确保遵循 NIST SP 80053 Rev 5 标准。通过搭建检测、预防、主动、响应和报告控制层次,使组织得以持续合规。关键工具包括 AWS Security Hub、Prowler、CloudFormation Guard 等,适用于各类安全需求。

在遵循安全标准如 NIST SP 80053 Rev 5 操作最佳实践方面,亚马逊网络服务AWS提供简化自动化和监控的工具。组织可以设置预防性和主动性控制,以确保不合规资源不被部署。同时,通过侦测和响应控制,即使错配置发生,也能立即通知相关方并自动修复,从而减少解决时间TTR。

通过层次化本文所介绍的解决方案,您可以提高部署持续遵循国家标准与技术研究院NISTSP 80053 安全标准 的概率,并简化合规报告。在本文中,我们将引导您使用以下工具开始您的持续合规之旅:

侦测控制 AWS Security Hub Prowler

预防控制 服务控制策略 (SCPs) AWS 身份与访问管理 (IAM)

主动控制 AWS CloudFormation Guard (Guard) CDKNag

响应控制 AWS 自动安全响应 (ASR)

报告控制 合规团队的只读角色 安全中心合规分析器 (SCHA)

实施说明

本文涵盖多种解决方案,这些解决方案在 AWS 理想架构框架的安全支柱中发挥作用。实现期望的结果可能需要多次迭代,但我们鼓励您从小处着手,找到关注领域,并通过分层的迭代变更来解决这些区域。

例如,如果您的组织曾经历过涉及公开 亚马逊简单存储服务 (Amazon S3) 存储桶的事件,导致数据暴露,请首先集中精力解决该问题。然后再转向其他领域。步骤可能如下所示:

使用 Security Hub 和 Prowler 查找您的公开桶,并在预定时间段内监控模式,以发现趋势和可能的组织根本原因。针对特定的组织单元OU和主体应用 IAM 策略和 SCP,以帮助防止公开桶的创建及 AWS 账户级控制的更改。在 AWS 上设置自动安全响应ASR,然后仅对 S3 发现测试并实施自动修复功能。移除对生产账户和组织单元的直接人工访问。要求基础设施作为代码IaC通过管道处理,在部署到生产环境之前,CloudFormation Guard 检查 IaC 是否存在错误配置。

侦测控制

首先实施侦测控制。利用它们进行错误配置识别和优先区域的解决。侦测控制是旨在检测、记录和警报事件发生后的安全控制。这些押金是治理框架的基础部分,作为第二道防线,通知您已绕过预防控制的安全问题。

Security Hub NIST SP 80053 安全标准

Security Hub 消耗、聚合和分析来自各种支持的 AWS 和第三方产品的安全发现。它在您的 AWS 环境中充当安全和合规的仪表板。Security Hub 还通过对规则运行自动化和持续安全检查生成自己的发现。这些规则通过安全控制表现出来。控制可能会在一个或多个安全标准中启用。控制帮助您确定是否满足标准中的要求。Security Hub 提供支持特定 NIST SP 80053 要求的控制。与其他框架不同,NIST SP 80053 并未规定如何评估其要求。相反,该框架提供了指导,Security Hub NIST SP 80053 控制则代表服务对它们的理解。

按照此逐步指南,在 AWS 组织中 启用 Security Hub。使用新的集中配置功能,为所有需要监控合规的账户配置 NIST SP 80053 安全标准,或者如果您的组织使用 AWS GovCloud (US),则使用此多账户脚本。使用来自 NIST SP 80053 安全标准的发现来监控整个组织或特定账户的 NIST SP 80053 合规性。

在此控制台页面,您可以选择 Security Hub 安全标准所检查的每项控制,例如 NIST 80053 Rev 5 标准,以找到关于检查的详细信息以及它映射到的 NIST 控制信息,如图 2 所示。

实施 NIST SP 800

启用 Security Hub 以及 NIST SP 80053 安全标准后,您可以将响应控制如后面讨论的自动安全响应 ASR链接到 Amazon EventBridge 规则,以监听 Security Hub 发现的实时动态。

Prowler

Prowler 是一个开源安全工具,可以用于执行针对 AWS 云安全建议的评估,包括审计、事件响应、持续监控、强化和取证准备。该工具是一个 Python 脚本,可以在任意更新版 Python 安装的地方运行这可以是工作站、亚马逊弹性计算云 (Amazon EC2) 实例、AWS Fargate 或其他容器、AWS CodeBuild、AWS CloudShell、AWS Cloud9 或其他计算选项。

Prowler 与 Security Hub NIST SP 80053 Rev 5 安全标准良好互补。该工具具有原生 Security Hub 集成功能,可以将其发现结果发送到 Security Hub 发现仪表板。您也可以在尚未提供 Security Hub 或安全标准的部分,利用 Prowler 作为独立合规扫描工具。

在撰写本文时,Prowler 已经提供超过 300 项对于 64 个 AWS 服务的检查。

除了与 Security Hub 和基于计算的输出整合外,Prowler 还可以生成完全交互式的 HTML 报告,您可以用来排序、过滤和深入分析发现。然后,您可以将这些合规状态报告分享给合规人员。一些组织定期自动运行 Prowler 报告,并使用 亚马逊简单通知服务 (Amazon SNS) 直接向合规人员发送结果。

通过查看 Prowler 开源文档,开始使用 Prowler,其中包含特定提供者的教程和可以复制粘贴的命令。

预防控制

预防控制是旨在防止事件发生的安全控制。这些护栏是第一道防线,有助于防止未经授权的访问或对网络的不必要更改。服务控制策略SCPs和 IAM 控制是防止 AWS 环境中的主体无论是人为还是非人为创建不合规或配置错误资源的最佳方式。

IAM

在理想环境中,主体包括人为和非人为仅拥有完成操作目标所需的最少权限。理想情况下,人类在生产环境中最多只拥有只读权限。AWS 资源应通过 IaC 生成,该 IaC 通过 DevSecOps 管道运行,在资源部署之前由政策代码检查对合规性的审查。DevSecOps 管道角色应拥有 IAM 策略,这些政策能够阻止部署不符合您组织合规策略的资源。尽可能使用 IAM 条件,以确保只有符合特定、预定义参数的请求被允许。

以下策略是一个简单示例,使用 Amazon 关系数据库服务Amazon RDS条件键,以帮助防止创建未加密的 RDS 实例和集群。大多数 AWS 服务支持条件键,允许评估特定服务设置的存在。在资源创建调用中使用这些条件键,以确保在此过程中设置关键安全功能,比如加密。

json{ Version 20121017 Statement [ { Sid DenyUnencryptedRDSResourceCreation Effect Deny Action [ rdsCreateDBInstance rdsCreateDBCluster ] Resource Condition { BoolIfExists { rdsStorageEncrypted false } } } ]}

服务控制策略

您可以使用 SCP 来指定组织中成员账户的最大权限。您可以限制每个成员账户中的用户和角色可以访问的 AWS 服务、资源和个别 API 动作。还可以定义限制访问 AWS 服务、资源和 API 动作的条件。如果您之前未使用 SCP,想深入了解详情,请见 如何使用服务控制策略在您的 AWS 组织中设置权限护栏。

利用 SCP 可以帮助您防止与 NIST SP 80053 控制相关的常见配置错误,如下所示:

防止受管账户退出组织或关闭安全监控服务。在特权主体周围建立保护和上下文访问控制。通过强制数据范围并要求静态数据加密来减小数据处理不当的风险。

虽然 SCP 不是防止每个配置错误的最佳选择,但它们可以帮助防止其中许多。作为 AWS Organizations 的功能,SCP 提供可继承的控制,适用于其应用的 OUs 的成员账户。对于在 AWS Organizations 不可用的区域,可以使用 IAM 策略和权限边界,以实现类似 SCP 的预防功能。

以下是一个将策略映射语句到 NIST 控制或控制系列的示例。请注意占位符值,在使用前需要替换为您自己的信息。请注意,SID 映射到 Security Hub NIST 80053 安全标准控制编号或 NIST 控制系列。

json{ Version 20121017 Statement [ { Sid Account1 Action [ organizationsLeaveOrganization ] Effect Deny Resource } { Sid NISTAccessControlFederation Effect Deny Action [ iamCreateOpenIDConnectProvider iamCreateSAMLProvider iamDeleteOpenIDConnectProvider iamDeleteSAMLProvider iamUpdateOpenIDConnectProviderThumbprint iamUpdateSAMLProvider ] Resource Condition { ArnNotLike { awsPrincipalARN arnawsiam{Account}role/[PRIVILEGEDROLE] } } } { Sid CloudTrail1 Effect Deny Action [ cloudtrailDeleteTrail cloudtrailPutEventSelectors cloudtrailStopLogging cloudtrailUpdateTrail cloudtrailCreateTrail ] Resource arnawscloudtrail{Region}{Account}trail/[CLOUDTRAILNAME] Condition { ArnNotLike { awsPrincipalARN arnawsiam{Account}role/[PRIVILEGEDROLE] } } } { Sid Config1 Effect Deny Action [ configDeleteConfigurationAggregator configDeleteConfigurationRecorder configDeleteDeliveryChannel configDeleteConfigRule configDeleteOrganizationConfigRule configDeleteRetentionConfiguration configStopConfigurationRecorder configDeleteAggregationAuthorization configDeleteEvaluationResults ] Resource Condition { ArnNotLike { awsPrincipalARN arnawsiam{Account}role/[PRIVILEGEDROLE] } } } // 为简化,省略部分策略,可按需添加 ]}

有关可供测试、修改和采用的 SCP 示例,可查看 servicecontrolpolicyexamples GitHub 存储库,提供了区域和服务限制的示例。

若需深入了解 SCP 最佳实践,请查看 利用设计理念实现 AWS 组织 SCP 的运营卓越。

您应在开发 OU 和账户中全面测试 SCP,然后再将其部署到生产 OU 和账户中。

主动控制

主动控制是旨在防止创建不合规资源的安全控制。这些控制可以减少由响应和侦测控制处理的安全事件数量。这些控制有助于确保已部署资源在部署之前即遵从;因此,无需发生检测事件来进行响应或修复。

蓝快加速器官方网站

CloudFormation Guard

CloudFormation Guardcfnguard是一个开源的通用政策代码评估工具。使用 cfnguard 在资源部署到环境之前,扫描作为代码的信息IaC以确保它无误。对于 CloudFormation 模板、Terraform 计划、Kubernetes 配置以及 AWS 云开发工具包 (AWS CDK) 输出,cfnguard 均可进行扫描。cfnguard 完全可扩展,因此您的团队可以选择想要执行的规则,甚至使用基于 YAML 的格式编写自己的声明规则。理想情况下,部署到 AWS 生产环境中的资源应通过 DevSecOps 管道流程。可以在管道中使用 cfnguard 来定义哪些是可接受的,哪些是不可接受的,以帮助防止错误配置资源的部署。开发者也可以在本地命令行上使用 cfnguard,或作为提交前钩子,以更早地获得反馈。

使用政策代码来帮助防止部署不合规资源。在 DevOps 循环中实施政策代码可以帮助缩短开发和反馈周期,减轻安全团队的负担。CloudFormation 团队维护一个 cfnguard 规则和映射的 GitHub 仓库,供您的团队快速测试和采纳。

您应该将政策代码实现为预提交检查,以便开发者获得迅速的反馈,并在 DevSecOps 管道中帮助阻止不合规资源的部署。这些检查通常作为 Bash 脚本运行在 AWS CodeBuild 或 GitLab CI 等持续集成和交付CI/CD管道中。如需了解更多信息,请参阅 将 AWS CloudFormation Guard 集成至 CI/CD 管道。

要开始使用,请参见 [CloudFormation Guard 用户指南](