扫描安全漏洞和格式错误 - AWS 规范性指导

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

扫描安全漏洞和格式错误

基础设施即代码(IaC)和自动化已成为企业所必不可少的。鉴于 IaC 如此强大,您在管理安全风险方面责任重大。常见的 IaC 安全风险可能包括:

  • 过度宽松 AWS Identity and Access Management (IAM) 权限

  • 开放安全组

  • 未加密资源

  • 未打开访问日志

安全方法和工具

我们建议您采用以下安全方法:

  • 开发中的漏洞检测 - 由于开发和分发软件修补程序的复杂性,修复生产中的漏洞既昂贵又耗时。此外,生产中的漏洞也有被利用的风险。我们建议您对 IaC 资源使用代码扫描,以便在发布到生产环境之前可以检测和修复漏洞。

  • 合规性和自动修复- AWS Config 提供 AWS 托管规则。这些规则可帮助您强制合规,并允许您尝试使用AWS Systems Manager 自动化进行自动修复。您还可以使用 AWS Config 规则创建和关联自定义自动化文档。

常见开发工具

本节介绍的工具可帮助您使用自定义规则扩展内置功能。我们建议您将自定义规则与组织的标准保持一致。以下是一些值得考虑的常见开发工具:

  • 使用 cfn-nag 识别模板中的基础设施安全问题,例如宽松的 IAM 规则或密码文字。 CloudFormation 有关更多信息,请参阅 Stelligent 的 GitHub cfn-nag 存储库。

  • 使用受 cfn-nag 启发的 cdk-nag 来验证给定范围内的构造是否符合定义的规则集。您还可以将 cdk-nag 用于规则抑制和合规性报告。cdk-nag 工具通过扩展中的各个方面来验证构造。 AWS CDK有关更多信息,请参阅博客中的使用和 cdk-nag 管理应用程序的安全性和合规性。 AWS Cloud Development Kit (AWS CDK) AWS DevOps

  • 使用开源工具 Checkov 对您的 IaC 环境执行静态分析。Checkov 通过在 Kubernetes、Terraform 或中扫描你的基础设施代码来帮助识别云端配置错误。 CloudFormation您可以使用 Checkov 获取不同格式的输出,包括 JSON、JUnit XML 或 CLI。Checkov 可通过构建显示动态代码依赖关系的图形来有效地处理变量。欲了解更多信息,请参阅 Bridg GitHub ecrew 的 Checkov 存储库。

  • 使用 TFLint 检查错误和已弃用的语法,帮助您实施最佳实践。请注意,TFLint 可能无法验证特定于提供者的问题。有关 tfLint 的更多信息,请参阅 Terraform Linter GitHub s 的 tfLint 存储库。

  • 使用 Amazon CodeWhisperer 执行安全扫描。 CodeWhisperer 是一款由 AI 驱动的生产力工具,可以实时生成代码建议。它可以帮助您识别安全问题,遵循最佳实践,并提高代码部署的生产力。