概要
- 機能:IaCスキャンは、本番環境に到達する前にインフラストラクチャ設定ファイルの構成ミス、ポリシー違反、ハードコードされたシークレットを特定します。Kubernetesマニフェスト、Terraformファイル、Dockerfile、CloudFormationテンプレートなどのIaC形式をスキャンし、重大度評価と修正ガイダンスを含む詳細な結果を提供します。
- 対象ユーザー:DevOpsエンジニア、クラウドアーキテクト、セキュリティチーム、Infrastructure as Codeを管理するプラットフォームエンジニアを対象としています。クラウドネイティブの手法やGitOpsワークフローを採用し、インフラストラクチャのデプロイでコンプライアンス要件を満たす必要があるチームに特に有用です。
主な特徴と利点
- 包括的なIaCカバレッジ:Kubernetes、Docker、Terraform、CloudFormation、Azure ARMテンプレート、Helmチャートなど複数のプラットフォームとフォーマットにわたるインフラコードをスキャンします
-
デュアル検知能力:
- 誤設定検出:安全でない構成、欠如したセキュリティ制御、過剰な権限、コンプライアンス違反を特定
- シークレット・ディテクション:インフラコードに埋め込まれたハードコード化された認証情報、APIキー、トークン、機密データを検出します
-
リッチ・ファインディング・インテリジェンス:詳細情報を提供します:
- 構成問題の説明とセキュリティへの影響
- 重大度評価(重大、高、中、低)
- 影響を受けるリソースおよびファイル位置
- 修復ガイダンスおよびベストプラクティスの推奨
- スマート検出:リポジトリ内のIaCファイルを自動で識別し、ファイルタイプに基づいて適切なセキュリティチェックを適用します
サポートされたインフラストラクチャタイプ
Kubernetes
Kubernetes
ファイルパターン:
*.yml, *.yaml, *.json以下のような問題を検出します:- 特権コンテナと安全でない機能
- リソース制限やセキュリティコンテキストの欠如
- マニフェスト内の露出したシークレット
- ネットワークポリシーの誤設定
Docker
Docker
ファイルパターン:
Dockerfile、 Containerfile以下のような問題を検出します:- ルートユーザーとして実行
- 健康チェックの欠如
- ビルド引数に露出したシークレット
- 安全でないベースイメージ
テラフォーム
テラフォーム
ファイルパターン:
*.tf, *.tf.json, *.tfvars, tfplan, *.tfplan以下のような問題を検出します:- 公開可能なクラウドリソース
- 暗号化されていないストレージおよびデータベース
- 過度に寛容なIAMポリシー
- ログ記録や監視の欠如
クラウドフォーメーション
クラウドフォーメーション
ファイルパターン:
*.yml, *.yaml, *.json以下のような問題を検出します:- オープンセキュリティグループ
- 暗号化されていないS3バケット
- CloudTrailのログミッシング
- セキュリティの低いAWSリソース構成
Azure ARM Templates
Azure ARM Templates
ファイルパターン:
*.json以下のような問題を検出します:- パブリックブロブロックコンテナ
- 暗号化無効化
- 弱いネットワークセキュリティルール
- 診断設定の欠如
ヘルムチャート
ヘルムチャート
ファイルパターン:
*.yaml, *.tpl, *.tar.gzKubernetesのマニフェストチェックに似たHelmテンプレートの問題を検出しますセットアップ手順
IaCスキャンはデフォルトで有効になっていません。この機能を有効にするにはサポートに連絡してください。
プロジェクトには、インフラスキャンを可能にするために少なくとも1つのサポートされているIaCファイルが含まれている必要があります。
設定ステップ
1
ファイルの検証IaC
プロジェクトに上記の形式のいずれかで対応可能なインフラストラクチャファイルが含まれていることを確認してください
2
スキャンスコープの設定
IaCスキャンを完全スキャンに含めるか部分的に含めるかを選びます
3
通知の設定
重大な設定ミスや露出したシークレットに対してアラートを設定する
使用ガイド
主要なワークフロー
- 自動検出:システムはリポジトリ内のIaCファイルを自動で識別します
- 構成解析:ファイルタイプに基づくセキュリティチェックおよびコンプライアンスルールを適用します
- 誤設定検出:セキュリティ問題、ポリシー違反、ベストプラクティスの逸脱を特定する
- シークレット検出:ハードコードされた認証情報や機密情報のスキャン
- 問題作成:各検出ごとに追跡可能なセキュリティ問題を作成します
- レポート:優先順位を付けた修復ガイダンスを含む詳細な脆弱性レポートを生成します
よくある誤設定の例
重大度の内訳
- 高い:デプロイ前に対処すべきであり、重大なセキュリティリスクがあります
- 中:定期的なメンテナンスで対応し、中程度のセキュリティ影響を重視します
- 低:ベストプラクティスの改善、即時リスクの最小化
ベストプラクティス
- セキュリティシフト左:デプロイ前だけでなく開発中にインフラコードをスキャンする
- ポリシーをコードとして:組織固有のセキュリティポリシーを定義し、施行する
- バージョン管理:監査トレイルのためにすべてのインフラコードをバージョン管理に保存
- 最小権限:すべてのリソースに対して最小限必要な権限を設定する
- 暗号化:すべての機密リソースで、保存時と転送時の暗号化を有効にする
- 定期レビュー:定期的にIaCのセキュリティポリシーを見直し更新
- シークレット管理:ハードコーディングの代わりにシークレット管理ツール(Vault、AWS Secrets Manager)を使用してください
- コンプライアンスアライメント:検出結果を関連するコンプライアンスフレームワーク(CIS、SOC2など)にマッピング
トラブルシューティング
問題は見つかりませんでしたが、 IaC ファイルは存在します
問題は見つかりませんでしたが、 IaC ファイルは存在します
解決策:IaCファイルがサポートされているフォーマットで、有効な設定構文が含まれているか確認します確認:ファイルが破損していないか、解析エラーが発生していないかを確認します
重大度「低」の検出結果が多すぎます
重大度「低」の検出結果が多すぎます
解決策:まず重大かつ重大な問題に焦点を当て、その後に軽度の項目に取り組む確認:組織のリスク許容度に基づいて、重大度のしきい値を調整することを検討します
誤検知の誤構成
誤検知の誤構成
解決策:具体的な構成コンテキストを見直す - 一部の検出結果はあなたのユースケースに当てはまらないかもしれません確認:意図的な設定には、抑制コメントまたはポリシー例外を使用します
スキャンですべての IaC ファイルを検出できない
スキャンですべての IaC ファイルを検出できない
解決策:ファイル拡張子がサポートされているパターンと一致しているか確認してください確認:ファイルが無視対象のディレクトリ(.gitignore)に含まれていないかを確認します
関連機能
- シークレットスキャン - すべてのファイル形式にまたがる専用のシークレット検出
- 依存関係スキャン(SCA) - サードパーティ依存関係の脆弱性スキャン
- AIネイティブ SAST (BLAST) - ソースコードのアプリケーションセキュリティテスト
