欢迎光临
我们一直在努力

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

这篇文章将为大家详细讲解有关怎样使用TFsec来对你的Terraform代码进行安全扫描,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

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来对你的Terraform代码进行安全扫描就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。