checkov@脆弱性診断¶
はじめに¶
本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。
01. checkovの仕組み¶
検出内容¶
IaC (Kubernetes、Terraform、Dockerfile) で報告されたCVEに基づいて、そのツールの設定ファイルの実装方法に起因する脆弱性を検証する。
PythonやYAMLでカスタムポリシーを実装できる。
対象ツール¶
検査できるツールは、--framework
オプションの説明から確認できる。
02. セットアップ¶
インストール¶
$ pip3 install checkov
$ brew install checkov
03. オプション¶
--compact¶
問題のあるコード箇所を非表示にして、結果を表示する。
--compact
オプションを有効化しない場合、問題のあるコード箇所を表示する。
$ checkov -f <IaCファイル> --compact
-d¶
ディレクトリ内のファイルを再帰的に処理する。
$ checkov -d <ディレクトリ名>
--framework¶
検査するツール名を設定する。
$ checkov --framework <ツール名>
-f¶
単一のファイルを処理する。
$ checkov -f <IaCファイル>
マニフェスト管理ツール (Helm、Kustomize) の作成したマニフェストファイルを渡しても良い。
$ helm template . -f foo-values.yaml -f foo-secrets.yaml > manifest.yaml
$ checkov -f manifest.yaml
--quiet¶
失敗した項目のみを結果として出力する。
--quiet
オプションを有効化しない場合は、成功と失敗の両方の項目を出力する。
$ checkov -f <IaCファイル> --quiet
--skip-check¶
検出から除外する重要度レベル (LOW,MEDIUM,HIGH) やCVEのIDを設定する。
BC-APIキーが必要で、これはBridgecrewダッシュボードから取得する必要がある。
$ checkov -f <IaCファイル> --skip-check HIGH,CKV_*** --bc-api-key <BC-APIキー>