项目介绍:Terrascan
Terrascan 是一个用于基础设施即代码(Infrastructure as Code, IaC)的静态代码分析工具。它专为检测基础设施代码中的错误配置和安全漏洞而设计,帮助开发者在云端环境部署之前快速发现潜在的安全和合规性问题。
关键功能
- 500 多项安全最佳实践策略:Terrascan 提供了一系列完整的策略集用于指导和优化安全性。
- 多云环境支持:它支持扫描以下格式的基础设施配置:
- Terraform (HCL2)
- AWS CloudFormation Templates (CFT)
- Azure Resource Manager (ARM)
- Kubernetes (JSON/YAML)
- Helm v3
- Kustomize
- Dockerfiles
- 安全与合规性检查:支持 AWS、Azure、GCP、Kubernetes、Dockerfile 和 GitHub 的政策扫描。
- 集成 Docker 镜像漏洞扫描:与 AWS、Azure、GCP 和容器注册库 Harbor 兼容。
- CI/CD 集成:Terrascan 能够与 CI/CD 流水线集成,确保在整个开发周期中实施安全最佳实践。
快速开始
安装
Terrascan 提供多种安装方式,包括使用 Docker 镜像。可从其 GitHub 发布页面获取最新版本。
-
本地可执行文件安装:
$ curl -L "$(curl -s https://api.github.com/repos/tenable/terrascan/releases/latest | grep -o -E "https://.+?_Darwin_x86_64.tar.gz")" > terrascan.tar.gz $ tar -xf terrascan.tar.gz terrascan && rm terrascan.tar.gz $ install terrascan /usr/local/bin && rm terrascan $ terrascan
-
使用 ArchLinux / Manjaro 的 AUR 安装:
yay -S terrascan
-
使用 Homebrew 安装:
$ brew install terrascan
-
使用 Docker 镜像运行:
$ docker run tenable/terrascan
扫描代码
开始扫描代码以查找安全问题:
$ terrascan scan
扫描定制化
用户可以通过配置文件,来选择性地包含或排除特定的策略或资源,从而自定义扫描的范围。
Terrascan 的开发和社区
Terrascan 是开源项目,使用 Apache 2.0 许可协议。欢迎社区成员参与开发和贡献。项目附带有[贡献者行为准则],确保开放和包容的社区环境。
构建 Terrascan
开发者可以本地构建 Terrascan,这需要安装 gcc 和 Go (1.19 或更高版本)。
$ git clone git@github.com:tenable/terrascan.git
$ cd terrascan
$ make build
$ ./bin/terrascan
通过以上步骤和功能介绍,你可以快速上手使用 Terrascan 来保护你的云基础设施代码,从而构建更安全的云环境。