Trivy帮您发现AWS CloudFormation模板中的安全风险

DevOps
网络安全
安全漏洞
0
0
{"value":"Aqua Security的开源项目Trivy,通过扫描[AWS CloudFormation](https://aws.amazon.com/cn/cloudformation/?trk=cndc-detail)模板,可以帮助开发者更好地发现并解决基础设施即代码(IaC)模板内的问题。现在,开发者可以利用基于常用开源项目tfsec的技术和规则集构建的Trivy,来评估本地或流水线内的[AWS CloudFormation](https://aws.amazon.com/cn/cloudformation/?trk=cndc-detail)代码的解决配置问题,以及因违反最佳实践策略而导致的问题。\n\n对于DevOps来说,基础设施即代码(IaC)是基石。[AWS CloudFormation](https://aws.amazon.com/cn/cloudformation/?trk=cndc-detail)、HashiCorp Terraform、Azure Resource Manager和Red Hat Ansible等工具赋能开发者实现基础设施的自动化配置,同时确保部署过程的一致性。随着IaC的利用率不断攀升,安全风险也呈上升趋势:如果没有准备好正确的保障措施和指南说明,IaC工具往往会将错误的配置自动化,并对其进行扩展。\n\n我们制定了更广泛的战略来帮助团队利用开源工具进一步安全左移,其中最具有代表性的就是利用IaC安全检查和Trivy规则集,对容器、artifact漏洞以及配置错误进行扫描。一段时间以来,我们一直计划为更多的文件类型提供支持,让团队能够通过全面的方法,在所有的文件类型和IaC工具集中更轻松地发现错误配置及潜在的运行时安全问题。\n\n#### 如何运用Trivy IaC扫描?\n\n无论是在开发者的主机上手动运行,还是在CI流水线中自动运行,Trivy都可以扫描YAML和JSON [AWS CloudFormation](https://aws.amazon.com/cn/cloudformation/?trk=cndc-detail)文件(如果发现其它的IaC文件也可以扫描),不仅如此,它还可以就已发现的安全问题提供丰富的信息,包括对[AWS CloudFormation](https://aws.amazon.com/cn/cloudformation/?trk=cndc-detail)内置功能进行分析。[AWS CloudFormation](https://aws.amazon.com/cn/cloudformation/?trk=cndc-detail)内置功能的作用是将运行时获取的模板与动态生成值结合在一起。\n\n基于完整文件检查以及对开发者友好的输出,Trivy帮助团队快速、高效地检测并修复策略问题。\n\n开发者可以在他们的CI/CD 工具中嵌入Trivy扫描功能,包括GitLab CI、 Travis、Jenkins、CircleCI、GitHub Actions和Bitbucket Pipes构建。\n\n\n![640 1.png](https://dev-media.amazoncloud.cn/38ad4a78271546828aef28d9a3f87594_640%20%281%29.png)\n::: hljs-center\n\n*AWS S3 bucket和[Amazon EBS](https://aws.amazon.com/cn/ebs/?trk=cndc-detail) volume文件的扫描输出样本*\n\n:::\n\n\n![640 2.png](https://dev-media.amazoncloud.cn/8713c5ae867e428faa4fd4165728cbb7_640%20%282%29.png)\n::: hljs-center\n\n*AWS S3 bucket和[Amazon EBS](https://aws.amazon.com/cn/ebs/?trk=cndc-detail) volume CloudFormation\n文件扫描输出样本及发现*\n\n:::\n\n#### 确保在部署的整个流程中正确理解IaC\n\nIaC安全工具一眼看上去就简单明了。它通过分析模板来评估配置是否满足了策略和安全最佳实践的要求。基于这些分析结果,工具通知用户哪里需要进行进一步加固以提高环境的安全水平,以及如何避免常见的配置错误,从而防止攻击的发生。\n\n利用字符串匹配的静态分析方法检测IaC文件中的配置问题是一个非常好的开始,不过,在文件中进行字符串迭代,仅能识别出针对单个配置设置的问题,而不能识别出执行代码后部署状态中的潜在问题。\n\n了解部署状态的关键在于评估整个堆栈,以及基于运行时模板的动态功能。 Trivy的[AWS CloudFormation](https://aws.amazon.com/cn/cloudformation/?trk=cndc-detail)扫描功能进一步拓宽了tfsec团队的工作成果,采用模拟部署的方式,进而在Terraform中识别依赖项或环境变量的安全问题,并会在同时评估内置功能。\n\n[AWS CloudFormation](https://aws.amazon.com/cn/cloudformation/?trk=cndc-detail)模板利用内置功能给属性指定值(这些属性在运行时之前都不可用),并确定堆栈资源的条件。内置功能可用于资源属性、输出、元数据属性,并可更新策略属性。若不使用内置功能,开发者仅可在模板内编写基本的资源堆栈。然而,基于字符串匹配的扫描仅能评估执行内置功能的潜在安全性和风险结果,以及维持有效的反馈环(feedback loop),从而避免将来可能出现的配置错误。\n\n在处理过程中评估这些功能,使得Trivy能精确呈现CloudFormation模板的意图,同时可以更加详尽地显示全栈和最终的部署状态。\n\n随着团队越来越成熟地掌握DevSecOps,他们不仅能通过IaC扫描发现单独的配置问题,达到减少攻击表面的目的,而且还能搞清楚风险是如何进入IaC代码的,以及如何演变成运行时安全问题。利用对文件架构的洞见以及内置功能对部署状态的影响,DevSecOps团队可以更高效地识别导致配置错误的条件,进而通过协作遏制这些风险。\n\n#### 利用Trivy扫描 [AWS CloudFormation](https://aws.amazon.com/cn/cloudformation/?trk=cndc-detail)代码\n\nIaC安全的基本原理是显而易见的。在开始阶段,只需较少的资源就可以预防错误的发生,但如果到生产环境才着手解决错误引发的后果,付出的代价则要高得多。采用IaC的依据包括速度、自动化、一致性和固定成本,真正的难点就在于:如何在不改变这些依据的情况下识别错误。\n\n支持tfsec的社区经过重重努力,已经改进了使用性并提高了扫描及修复速度。现在, [AWS CloudFormation](https://aws.amazon.com/cn/cloudformation/?trk=cndc-detail)用户可以充分应用Trivy并为该项目做出贡献。\n\n##### 关于Aqua Security\n\nAqua Security让云原生威胁无所遁形,是业界唯一拥有百万美元云原生安全担保方案的公司。作为全球最大的云原生安全厂商和云原生安全领导者,Aqua 致力帮助客户通过各种方式探索创新,引领数字业务的精彩未来。 Aqua 拥有业界集成度最高的云原生应用保护平台 (CNAPP),通过预防、检测和响应机制保护整个应用生命周期的安全。 Aqua 成立于 2015 年,总部位于马萨诸塞州波士顿和以色列拉马特甘,目前服务覆盖了全球40 多个国家和地区的财富 1000 强客户。如需了解更多信息,请访问公司官网www.aquasec.com或关注官方微信公众号“AquaSecurity”。\n\n[点击查看](https://www.aquasec.com/cloud-native-academy/)由Aqua整理的云原生安全百科Cloud Native Wiki\n\n[点击查看](https://github.com/aquasecurity/trivy)Aqua开源工具Trivy","render":"<p>Aqua Security的开源项目Trivy,通过扫描AWS CloudFormation模板,可以帮助开发者更好地发现并解决基础设施即代码(IaC)模板内的问题。现在,开发者可以利用基于常用开源项目tfsec的技术和规则集构建的Trivy,来评估本地或流水线内的AWS CloudFormation代码的解决配置问题,以及因违反最佳实践策略而导致的问题。</p>\n<p>对于DevOps来说,基础设施即代码(IaC)是基石。AWS CloudFormation、HashiCorp Terraform、Azure Resource Manager和Red Hat Ansible等工具赋能开发者实现基础设施的自动化配置,同时确保部署过程的一致性。随着IaC的利用率不断攀升,安全风险也呈上升趋势:如果没有准备好正确的保障措施和指南说明,IaC工具往往会将错误的配置自动化,并对其进行扩展。</p>\n<p>我们制定了更广泛的战略来帮助团队利用开源工具进一步安全左移,其中最具有代表性的就是利用IaC安全检查和Trivy规则集,对容器、artifact漏洞以及配置错误进行扫描。一段时间以来,我们一直计划为更多的文件类型提供支持,让团队能够通过全面的方法,在所有的文件类型和IaC工具集中更轻松地发现错误配置及潜在的运行时安全问题。</p>\n<h4><a id=\\"Trivy_IaC_6\\"></a>如何运用Trivy IaC扫描?</h4>\\n<p>无论是在开发者的主机上手动运行,还是在CI流水线中自动运行,Trivy都可以扫描YAML和JSON AWS CloudFormation文件(如果发现其它的IaC文件也可以扫描),不仅如此,它还可以就已发现的安全问题提供丰富的信息,包括对AWS CloudFormation内置功能进行分析。AWS CloudFormation内置功能的作用是将运行时获取的模板与动态生成值结合在一起。</p>\n<p>基于完整文件检查以及对开发者友好的输出,Trivy帮助团队快速、高效地检测并修复策略问题。</p>\n<p>开发者可以在他们的CI/CD 工具中嵌入Trivy扫描功能,包括GitLab CI、 Travis、Jenkins、CircleCI、GitHub Actions和Bitbucket Pipes构建。</p>\n<p><img src=\\"https://dev-media.amazoncloud.cn/38ad4a78271546828aef28d9a3f87594_640%20%281%29.png\\" alt=\\"640 1.png\\" /></p>\n<div class=\\"hljs-center\\">\\n<p><em>AWS S3 bucket和Amazon EBS volume文件的扫描输出样本</em></p>\\n</div>\n<p><img src=\\"https://dev-media.amazoncloud.cn/8713c5ae867e428faa4fd4165728cbb7_640%20%282%29.png\\" alt=\\"640 2.png\\" /></p>\n<div class=\\"hljs-center\\">\\n<p><em>AWS S3 bucket和Amazon EBS volume CloudFormation<br />\\n文件扫描输出样本及发现</em></p>\\n</div>\n<h4><a id=\\"IaC_31\\"></a>确保在部署的整个流程中正确理解IaC</h4>\\n<p>IaC安全工具一眼看上去就简单明了。它通过分析模板来评估配置是否满足了策略和安全最佳实践的要求。基于这些分析结果,工具通知用户哪里需要进行进一步加固以提高环境的安全水平,以及如何避免常见的配置错误,从而防止攻击的发生。</p>\n<p>利用字符串匹配的静态分析方法检测IaC文件中的配置问题是一个非常好的开始,不过,在文件中进行字符串迭代,仅能识别出针对单个配置设置的问题,而不能识别出执行代码后部署状态中的潜在问题。</p>\n<p>了解部署状态的关键在于评估整个堆栈,以及基于运行时模板的动态功能。 Trivy的AWS CloudFormation扫描功能进一步拓宽了tfsec团队的工作成果,采用模拟部署的方式,进而在Terraform中识别依赖项或环境变量的安全问题,并会在同时评估内置功能。</p>\n<p>AWS CloudFormation模板利用内置功能给属性指定值(这些属性在运行时之前都不可用),并确定堆栈资源的条件。内置功能可用于资源属性、输出、元数据属性,并可更新策略属性。若不使用内置功能,开发者仅可在模板内编写基本的资源堆栈。然而,基于字符串匹配的扫描仅能评估执行内置功能的潜在安全性和风险结果,以及维持有效的反馈环(feedback loop),从而避免将来可能出现的配置错误。</p>\n<p>在处理过程中评估这些功能,使得Trivy能精确呈现CloudFormation模板的意图,同时可以更加详尽地显示全栈和最终的部署状态。</p>\n<p>随着团队越来越成熟地掌握DevSecOps,他们不仅能通过IaC扫描发现单独的配置问题,达到减少攻击表面的目的,而且还能搞清楚风险是如何进入IaC代码的,以及如何演变成运行时安全问题。利用对文件架构的洞见以及内置功能对部署状态的影响,DevSecOps团队可以更高效地识别导致配置错误的条件,进而通过协作遏制这些风险。</p>\n<h4><a id=\\"Trivy_AWS_CloudFormation_45\\"></a>利用Trivy扫描 [AWS CloudFormation](https://aws.amazon.com/cn/cloudformation/?trk=cndc-detail)代码</h4>\\n<p>IaC安全的基本原理是显而易见的。在开始阶段,只需较少的资源就可以预防错误的发生,但如果到生产环境才着手解决错误引发的后果,付出的代价则要高得多。采用IaC的依据包括速度、自动化、一致性和固定成本,真正的难点就在于:如何在不改变这些依据的情况下识别错误。</p>\n<p>支持tfsec的社区经过重重努力,已经改进了使用性并提高了扫描及修复速度。现在, AWS CloudFormation用户可以充分应用Trivy并为该项目做出贡献。</p>\n<h5><a id=\\"Aqua_Security_51\\"></a>关于Aqua Security</h5>\\n<p>Aqua Security让云原生威胁无所遁形,是业界唯一拥有百万美元云原生安全担保方案的公司。作为全球最大的云原生安全厂商和云原生安全领导者,Aqua 致力帮助客户通过各种方式探索创新,引领数字业务的精彩未来。 Aqua 拥有业界集成度最高的云原生应用保护平台 (CNAPP),通过预防、检测和响应机制保护整个应用生命周期的安全。 Aqua 成立于 2015 年,总部位于马萨诸塞州波士顿和以色列拉马特甘,目前服务覆盖了全球40 多个国家和地区的财富 1000 强客户。如需了解更多信息,请访问公司官网www.aquasec.com或关注官方微信公众号“AquaSecurity”。</p>\n<p><a href=\\"https://www.aquasec.com/cloud-native-academy/\\" target=\\"_blank\\">点击查看</a>由Aqua整理的云原生安全百科Cloud Native Wiki</p>\\n<p><a href=\\"https://github.com/aquasecurity/trivy\\" target=\\"_blank\\">点击查看</a>Aqua开源工具Trivy</p>\n"}
0
目录
关闭