当前位置:网站首页 > 网络安全培训 > 正文

Checkov:一款针对基础设施即代码(IaC)的静态代码安全分析工具

freebuffreebuf 2022-03-15 505 0

本文来源:Alpha_h4ck

关于Checkov

Checkov是一款针对基础设施即代码(IaC)的静态代码安全分析工具,在该工具的帮助下,广大研究人员可以在在Terraform、CloudFormation、Kubernetes、Serverless Framework和其他基础设施的构建期间,轻松检测出云端代码安全问题。

Checkov使用了基于图表的扫描技术来扫描那些使用了TerraformTerraform planCloudformationAWS SAMKubernetesHelm chartsKustomizeDockerfileServerlessBicepARM模板配置的云基础设施,并尝试检测出潜在的安全性问题或合规性错误配置。

功能介绍

1、内置了超过1000种针对AWS、Azure和Google Cloud的安全和合规性最佳实践策略

2、支持扫描Terraform、Terraform Plan、CloudFormation、AWS SAM、Kubernetes、Dockerfile、Serverless Framework、Bicep和ARM模板文件。

3、支持基于内存扫描的上下文感知策略。

4、属性策略支持Python格式,属性和混合策略支持YAML格式。

5、支持检测EC2用户数据、Lambda环境变量和Terraform中的AWS凭据

6、使用正则表达式、关键字和基于熵的检测来识别敏感数据

7、评估Terraform提供商设置,以规范那些通过Terraform管理的IaaS、PaaS或SaaS的创建、管理和更新行为。

8、支持以CLI、CycloneDX、JSON、JUnit XML、SARIF和Github Markdown等形式输出结果

工具要求

1、Python >= 3.7

2、Terraform >= 0.12

工具安装

pip3 install checkov

Alpine安装

pip3 install --upgrade pip && pip3 install --upgrade setuptools  pip3 install checkov

Ubuntu 18.04安装

sudo apt update  sudo apt install software-properties-common  sudo add-apt-repository ppa:deadsnakes/ppa  sudo apt install python3.7  sudo apt install python3-pip  sudo python3.7 -m pip install -U checkov #to install or upgrade checkov)

Homebrew安装(macOS)

brew install checkov

brew upgrade checkov

工具使用样例

执行两种特定的安全检测:

checkov --directory . --check CKV_AWS_20,CKV_AWS_57

运行所有的检测(排除一个):

checkov -d . --skip-check CKV_AWS_20

运行所有中危或高危问题检测(需要API密钥):

checkov -d . --check MEDIUM --bc-api-key ...

运行所有中危或高危问题检测,并检测CKV_123:

checkov -d . --check MEDIUM,CKV_123 --bc-api-key ...

跳过所有的中危或低危问题检测:

checkov -d . --skip-check MEDIUM --bc-api-key ...

跳过所有的中危或低危问题,以及CKV_789的检测:

checkov -d . --skip-check MEDIUM,CKV_789 --bc-api-key ...

工具配置

工具的配置文件config.yaml样例如下:

branch: develop  check:    - CKV_DOCKER_1  compact: true  directory:    - test-dir  docker-image: sample-image  dockerfile-path: Dockerfile  download-external-modules: true  evaluate-variables: true  external-checks-dir:    - sample-dir  external-modules-download-path: .external_modules  framework:    - all  no-guide: true  output: cli  quiet: true  repo-id: bridgecrew/sample-repo  skip-check:    - CKV_DOCKER_3    - CKV_DOCKER_2  skip-fixes: true  skip-framework:    - dockerfile    - secrets  skip-suppressions: true  soft-fail: true

我们可以通过命令行参数传递一个config配置文件的路径:

checkov --config-file path/to/config.yaml

或者使用“--create-config”命令来创建一个配置文件:

checkov --compact --directory test-dir --docker-image sample-image --dockerfile-path Dockerfile --download-external-modules True --external-checks-dir sample-dir --no-guide --quiet --repo-id bridgecrew/sample-repo --skip-check CKV_DOCKER_3,CKV_DOCKER_2 --skip-fixes --skip-framework dockerfile secrets --skip-suppressions --soft-fail --branch develop --check CKV_DOCKER_1 --create-config /Users/sample/config.yml

工具运行截图

许可证协议

本项目的开发与发布遵循Apache-2.0开源许可证协议。

项目地址

Checkov:GitHub传送门

参考资料

https://docs.bridgecrew.io/docs/aws-policy-index

https://github.com/bridgecrewio/checkov/blob/master/docs/1.Welcome/Quick%20Start.md

https://bridgecrew.io/?utm_source=github&utm_medium=organic_oss&utm_campaign=checkov

转载请注明来自网盾网络安全培训,本文标题:《Checkov:一款针对基础设施即代码(IaC)的静态代码安全分析工具》

标签:

关于我

欢迎关注微信公众号

关于我们

网络安全培训,黑客培训,渗透培训,ctf,攻防

标签列表