前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用TFsec来对你的Terraform代码进行安全扫描

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

作者头像
FB客服
发布2021-01-25 15:00:03
1.8K0
发布2021-01-25 15:00:03
举报
文章被收录于专栏:FreeBufFreeBuf

TFsec

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

功能介绍

检查所有提供的程序中是否包含敏感数据; 检查目标代码是否违反了AWS、Azure和GCP安全最佳实践建议; 扫描功能模块(目前只支持本地模块); 计算表达式和值; 评估Terraform的功能函数,比如说concat()等等;

工具安装

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

使用Brew或Linuxbrew安装:

代码语言:javascript
复制
brew install tfsec

使用Chocolatey安装:

代码语言:javascript
复制
choco install tfsec

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

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

代码语言:javascript
复制
go get -u github.com/tfsec/tfsec/cmd/tfsec
代码语言:javascript
复制
工具使用

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

代码语言:javascript
复制
tfsec .

Docker使用

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

代码语言:javascript
复制
docker run --rm -it -v "$(pwd):/src" liamg/tfsec /src

禁用检测

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

代码语言:javascript
复制
tfsec . -e GEN001,GCP001,GCP002

从.tfvars获取值

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

代码语言:javascript
复制
--tfvars-file terraform.tfvars

在CI中运行

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

代码语言:javascript
复制
--no-colour

输出选项

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

GitHub安全警报

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

工具运行截图

项目地址

TFsec:https://github.com/tfsec/tfsec

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • TFsec
  • 功能介绍
  • 工具安装
    • 使用Brew或Linuxbrew安装:
      • 使用Chocolatey安装:
        • 当然了,我们也可以使用go get来安装该工具:
        • Docker使用
        • 禁用检测
        • 从.tfvars获取值
        • 在CI中运行
        • 输出选项
        • GitHub安全警报
        • 工具运行截图
        • 项目地址
        相关产品与服务
        容器服务
        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档