如何使用TFsec来对你的Terraform代码进行安全扫描

TFsec TFsec是一个专门针对Terraform代码的安全扫描工具,该工具能够对Terraform模板执行静态扫描分析,并检查出潜在的安全问题,当前版本的TFsec支持Terraform v0.12+版本。 功能介绍 检查...

TFsec

TFsec是一个专门针对Terraform代码的安全扫描工具,该工具能够对Terraform模板执行静态扫描分析,并检查出潜在的安全问题,当前版本的TFsec支持Terraform v0.12+版本。

功能介绍

检查所有提供的程序中是否包含敏感数据;

检查目标代码是否违反了AWS、Azure和GCP安全最佳实践建议;

扫描功能模块(目前只支持本地模块);

计算表达式和值;

评估Terraform的功能函数,比如说concat()等等;

工具安装

广大研究人员可以使用下列实用工具来安装TFsec。

使用Brew或Linuxbrew安装:

brew install tfsec

使用Chocolatey安装:

choco install tfsec

除此之外,我们还可以直接访问该项目GitHub库的【Releases页面】来下载针对自己系统平台的工具源码。

当然了,我们也可以使用go get来安装该工具:

go get -u github.com/tfsec/tfsec/cmd/tfsec

工具使用

TFsec可以扫描指定的目录,如果没有指定需要扫描的目录,那么TFsec将扫描当前所在的工作目录。如果TFsec发现了安全问题,则退出状态将为非零,否则退出状态将为零:

tfsec .

Docker使用

如果你不想在你的系统中安装和运行TFsec的话,你还可以选择在一个Docker容器中运行TFsec:

docker run --rm -it -v "$(pwd):/src" liamg/tfsec /src

禁用检测

在某些情况下,我们可能需要在运行过程中排除某些检测,我们可以通过添加新的参数来运行我们的cmd命令,比如说-e CHECK1,CHECK2等等:

tfsec . -e GEN001,GCP001,GCP002

从.tfvars获取值

我们还可以在扫描中从一个tfvars文件中获取值,比如说:

--tfvars-file terraform.tfvars

在CI中运行

TFsec可以在一个CI观到中运行,如果检测到了潜在的安全问题,该工具将会以非零退出码退出运行。如果你不想要输出有颜色高亮显示的话,还可以使用下列参数:

--no-colour

输出选项

TFsec的输出格式支持 JSON、CSV、Checkstyle、Sarif、JUnit以及其他人类可读的数据格式,我们可以使用--format参数来进行指定。

GitHub安全警报

如果你想整合GitHub安全警报的话,我们还可以使用tfsec-sarif-actionGitHub Action来运行静态分析,并将分析结果上传至GitHub安全警报标签中:

工具运行截图

项目地址

TFsec:【GitHub传送门】

  • 发表于 2021-04-15 17:31
  • 阅读 ( 213 )
  • 分类:互联网

0 条评论

请先 登录 后评论
i小鹏
i小鹏

722 篇文章

你可能感兴趣的文章

相关问题