Chef 在 InSpec 2.0 增强了云安全的自动化功能

  • Helen Beal
  • 张卫滨

2018 年 3 月 11 日

话题:持续集成DevOps持续交付

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

持续自动化厂商Chef发布了InSpec 2.0,这是 Chef 新版本的开源工具,该工具能够让 DevOps 与跨功能的应用、基础设施和安全团队以代码和资产的形式表述安全和合规规则,并且在整个软件交付生命周期中纠正合规的问题。

InSpec 2.0 提供了对 Amazon Web Services(AWS)和 Microsoft Azure 的云配置支持,该特性能够让用户根据自定义的合规策略,使用 API 来编写针对云资源的合规规则。新版本的工具包含了对三十多种新资源的支持,允许用户为通用的应用和配置文件编写合规规则,无需任何的编程知识。它们包括 Docker、安全 key(RSA/DSA/x509)、Web 服务器(IIS/nginx/Apache)配置、包(既包括系统包也包括 Perl/R/etc 等)、PostgreSQL 与 MySQL 数据库配置、XML 配置文件中的 XPath 匹配以及 ZFS 存储池配置。

现在,InSpec 的结果可以导出为 JUnit 格式,以便于集成到像 Jenkins 这样的持续交付工具中,合规 profile 可以从 Chef Automate 中拉取。之前宣布的与Amazon Systems Manager (SSM)的集成能够让 InSpec 进一步增强云环境的支持能力。在最新版本中,也有多项性能方面的提升:在 Windows 下,InSpec 2.0 比 InSpec 1.0 快 90%,在 Linux 下能够快 30%。

InSpec 是使用 Ruby 编程语言构建的,可以运行在 Windows 和很多 Linux 分发版本中,也能运行在 Docker 容器上。InSpec 试图将它的 test 变成人类可阅读的,对于使用过RSpecServerSpec这些测试工具的人来说,对 InSpec 应该会感到很熟悉。

InSpec 通过两阶段的处理实现合规和安全性的目标:探测(detect)和纠正(correct)。在第一个阶段,即探测中,它会尝试掌握系统在什么地方可能会违规或者有潜在的安全漏洞。在第二个阶段,即纠正中,它会修复在探测阶段所识别出来的合规失败的问题。InSpec 将这些步骤实现了自动化。

InSpec test 被称为 control,多个 control 可以分组到profile中。一般来讲,InSpec 是通过 CLI 来运行的,并且在目标或要监控的目标系统上远程运行。在扫描 Linux 系统时,InSpec 会使用 SSH 协议,在扫描 Windows 系统时,会使用 WinRM 协议。InSpec 不需要在目标系统上安装软件。InSpec profile 可以通过Chef Supermarket或 InSpec CLI 来查看。

niu Solutions的 CTOJon Williams这样说到:

InSpec 帮助我们统一了合规、安全和 DevOps 团队,改进了审计,减少了员工的工作时间,并且在整个过程中消除了重复的工作和数据。它让这些团队能够更好地控制合规策略,让业务单元更加积极地维护自己的环境。最为关键的是,它允许我们持续地监控合规的审计情况,维持想要的状态并消除节点之间的变更漂移。

InSpec 是通过收购VulcanoSec创建的,这是一家德国的合规与安全公司,Chef 在 2015 年收购了它。InSpec 2.0 是开源的,可以通过Github下载。

查看英文原文Chef Enhances Cloud Security Automation in InSpec 2.0

持续集成DevOps持续交付