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

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

扫描安全漏洞和格式错误

基础设施即代码 (iaC) 和自动化已成为企业必不可少的东西。由于 iAC 如此强大,您肩负着管理安全风险的重大责任。常见的 iaC 安全风险可能包括以下内容:

  • 过于宽容的 AWS Identity and Access Management ent (IAM) 权限

  • 打开安全组

  • 未加密的资源

  • 未开启访问日志

安全方法和工具

我们建议您实施以下安全实践:

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

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

常见开发工具

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

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

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

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

  • 使用 TFLint 检查错误和过时的语法,并帮助您实施最佳实践。请注意,TFLint 可能无法验证特定于提供商的问题。有关 TFLint 的更多信息,请参阅 Terra GitHub form Linters 的 TFLint 存储库。