Githubのリポジトリに乗っていたcheckovについて導入、調べてみた
checkovとは?
静的コード解析ツール
セキュリティまたはコンプライアンスの問題につながる可能性のある構成コードを自動で発見してくれる
設定ミスをチェックするための750を超えるポリシーがある
サポートされているサービス
- Terraform (for AWS, GCP and Azure)
- CloudFormation
- Azure Resource Manager (ARM)
- Kubernetes
- Docker
導入(Macの場合)
$ brew install checkov
$ terraform init
$ terraform plan --out tfplan.binary
$ terraform show -json tfplan.binary > tfplan.json
$ checkov -f tfplan.json
実際に使ってみた
指摘箇所
- メタデータサービスボリューム1が適用されている→2に変更する
- EC2インスタンスの詳細なモニタリングが無効になっています→有効にする
- EC2がEBSに最適化されていることを確認してください→有効化する
- Launch構成のEBSに保存されているすべてのデータが確実に暗号化されていること→有効化
メリット
- 知らないオプションを知ることができた
デメリット
- 解析内容を実際に修正すべきか判断できる知識がないと使いこなすのは難しい
まとめ
- 指摘箇所へのリンクも表示してくれるので親切
- 自分のレベルでは指摘されていることが実際に
どれくらいのリスク
があるかがわからないためある程度知識がないと使いこなすのは難しい。 - 「ログに書いてあったから」という理由で脳死で変更することは危険