IaCスキャンとは?

コードとしてのインフラストラクチャ (IaC) スキャンは、インフラストラクチャを自動的にプロビジョニングして構成するスクリプトを分析するプロセスです。 アプリケーションコードに重点を置いた従来のコードスキャンとは異なり、IaCスキャンはクラウド環境の宣言に使用される特定の構文と構造を対象としています。 これは、安全で効率的なクラウド運用を維持するための重要なツールになっています。

IaCスキャンは先制的に識別します 設定ミス そして、展開できるようになる前のコンプライアンスの問題。 継続的インテグレーションと継続的デプロイメント(CI/CD)の領域では、IaCスキャンは重要なチェックポイントとして機能し、どちらもインフラストラクチャのデプロイメントが セキュア・バイ・デザイン また、インフラストラクチャの変更を迅速かつ安全に反復することを促進します。

この記事では、'は、IaCセキュリティスキャンの複雑さをナビゲートし、その重要性とスキャンプロセスを詳しく見ていきます。 また、基本的な概念を確認し、オープンソースの IaC スキャン ツールを探索し、これらのツールがインフラストラクチャをどのように強化できるかについての洞察を提供します'sのセキュリティ体制。

Get the IaC Security Best Practices [Cheat Sheet]

Scan early, fix at the source. Get the IaC Best Practices Cheat Sheet and discover how to embed scanning, remediation, feedback loops, and drift prevention into your infrastructure workflow.

IaCスキャンの主要な概念

させる'まず、IaC コード スキャンを最新のインフラストラクチャ管理に不可欠なツールにしている 2 つの基本的な要素について見ていきます。

  • コードとしてのポリシー: コードとしてのポリシー (PaC) これにより、チームはインフラストラクチャを明示的に指定して管理できます'の運用ポリシーとセキュリティポリシーをコードベース内で定義します。 IaCスキャンでは、PaCを使用して、これらのポリシーへの準拠を自動的に検証および適用し、プロビジョニングされたインフラストラクチャが組織および規制の基準に準拠していることを確認します。

  • セキュリティとコンプライアンスの態勢: IaCスキャンは組織に直接影響します'IaC スクリプト内の潜在的なセキュリティの脅威とコンプライアンス違反を体系的に検出して修正することにより、セキュリティとコンプライアンスの体制を確立します。 つまり、このプロアクティブな対策により、インフラストラクチャが保護され、インフラストラクチャの基盤にコンプライアンスが組み込まれます'sコード。

次のセクションでは、IaC スキャン プロセスについて説明し、開発ライフサイクル内でどのように適合するかを示します。

Catch code risks before you deploy

Learn how Wiz Code scans IaC, containers, and pipelines to stop misconfigurations and vulnerabilities before they hit your cloud.

Wiz がお客様の個人データをどのように取り扱うかについては、当社のプライバシーポリシーをご確認下さい: プライバシーポリシー.

IaC スキャン プロセス

IaC スキャンには 6 つの体系的な段階があり、それぞれがクラウド インフラストラクチャの保護と最適化に不可欠な部分です。

StepDescription
Step 1: InitializationSelecting the appropriate policies to scan against is critical, as it sets the standard for security and compliance from the start. The goal is to ensure that the systems adhere to the necessary regulations and best practices, providing a foundation for robust security posture.
Step 2: IntegrationIntegrating IaC scanning into version control systems and CI/CD pipelines ensures that scans are an automated part of the build process, providing continuous oversight and timely detection of potential issues.
Step 3: ExecutionDuring execution, scanning tools assess the IaC against predefined rules, identifying potential security misconfigurations or compliance issues that could jeopardize the infrastructure's integrity.
Step 4: ReviewPost-scan, it is imperative to review the results closely to understand the context of each finding and prioritize issues based on their severity in order to address vulnerabilities promptly.
Step 5: RemediationRemediation involves taking actionable steps to address identified vulnerabilities, including modifying IaC scripts or incorporating modular, verified code snippets to fortify your infrastructure's security.
Step 6: Feedback loopEstablishing a feedback loop empowers developers to refine IaC scanning policies and processes. This iterative process allows continuous improvement based on historical scans and emerging threats, fostering a culture of security and vigilance.

オープンソースのIaCスキャンツールとソリューション

オープンソースの IaC スキャン ツールの選択は、組織固有のインフラストラクチャによって異なります。 このセクションでは、いくつかの主要なオープンソースIaCスキャンツールに焦点を当て、ビジネスに適した選択をするために必要な洞察を提供します。

テラスキャン

テラスキャン は、Terraform テンプレートのセキュリティ問題を先制的に特定できる包括的な IaC スキャン ツールです。 他とは一線を画すのは、CISベンチマークに沿った広範なポリシーライブラリであり、コンプライアンスを確保するための手ごわいツールとなっています。

インストールプロセスは簡単で、Terrascanはポリシー違反のインスタンスを検出するために自動化されたパイプラインで頻繁に使用されます。 スキャン結果は理解しやすく、重大度の高い過度に寛容な S3 バケットアクセスなどの違反が詳細に示されています。

$ Terrascanスキャン
デフォルトでは、Terrascanは調査結果を人間にわかりやすい形式で出力します。
違反の詳細 -

  説明 : S3バケット アクセスは、すべてのAWSアカウントユーザーに許可されます。
  ファイル : modules/storage/main.tf
  ライン : 124
  重大度 : 高
...

チェコフ

チェコフ'最新のイテレーションは、グラフベースのスキャンエンジンを誇り、パフォーマンスと精度が大幅に向上しています。 Checkov は、新しいエンジンにより、Terraform 内の複雑な依存関係を効率的に解決し、Dockerfile 構成を分析して、IaC スキャンへの包括的なアプローチを提供します。

PyPIからCheckovをインストールし、Terraformプランファイルを含むディレクトリをスキャンすると、出力に各チェックのコンプライアンスステータスが明確に表示され、準拠している構成と準拠していない構成を識別できます。

Figure 1: A Checkov result in Jenkins (Source: GitHub)

KICSの

KICSの は、さまざまなIaCフォーマットを処理できる汎用性の高いスキャナーです。 CI/CDパイプラインとの統合が容易なため、開発者にとって使いやすいツールとなっています。'高いセキュリティ基準を維持しながら、開発プロセスを中断します。

KICSは、Dockerを使用してディレクトリと個々のファイルの両方をスキャンする利便性を提供します。

$ docker run -t -v を実行します。 {path_to_host_folder_to_scan}:/path checkmarx/kics:latest scan -p /path -o "/パス/"
$ docker run -t -v を実行します。 {path_to_host_folder}:/path checkmarx/kics:latest scan -p /path/{filename}.{extension} -o "/パス/"

また、脆弱性の原因を示すことで、開発者にわかりやすいレポートを提供します。

Figure 2: KICS example PDF report (Source: KICS Docs)

TFSECの

Terraformを中心に、 TFSECの は、コミュニティ主導の静的解析ツールです。 そのユニークなセールスポイントは、コミュニティによって定期的に更新されるセキュリティチェックの深さであり、ツールがセキュリティのベストプラクティスの最先端にとどまることを保証します。

tfsecスキャナーは、システム上で実行することも、Dockerコンテナとして実行することもでき、指定されたディレクトリをスキャンして問題がないか調べます。

$ tfsec . 
$ docker run --rm -it -v を実行します。 "$(pwd):/src" アクアセック/TFSEC/SRC

終了ステータスは、スキャン中に問題が見つかったかどうかを判断するのに役立ちます。

Figure 3: tfsec output (Source: GitHub)

TFLint (英語)

Terraformのリンターとして、 TFLint (英語) 開発者が開発サイクルの早い段階でエラーをキャッチできるように支援します。 高品質のコードベースを維持するために重要なコーディング標準とポリシーコンプライアンスへの準拠を強調しています。

TFLint は、bash スクリプト、Homebrew、または Docker を使用してさまざまなプラットフォームにインストールできます。'は、ベストプラクティスを適用し、エラーを見つけるために使用されます。

$ docker run --rm -v を実行します。 $(pwd):/data -t ghcr.io/terraform-linters/tflint

TFLint は、各機能がプラグインによって提供されるプラグ可能なアーキテクチャで知られており、高度にカスタマイズ可能で、さまざまなニーズに適応できます。

Figure 4: TFLint in GitHub Actions (Source: GitHub)

これまで見てきたように、オープンソース ツールを CI/CD パイプラインに統合することで、開発サイクルの早い段階で潜在的な問題を発見し、インフラストラクチャを保護できます。 これらのツールが提供する使いやすさと詳細なドキュメントにより、開発者やセキュリティ専門家がアクセスでき、 シフトレフトアプローチ 組織内。

Wiz'IaCスキャンへのアプローチ

Wizコード は、インフラストラクチャコードのセキュリティの脆弱性とコンプライアンスの問題を特定して修復するのに役立つ包括的なIaCスキャンソリューションを提供します。 Wiz'の IaC スキャナーは、Terraform、AWS CloudFormation、Azure Resource Manager テンプレート、Kubernetes マニフェストなど、さまざまな IaC 形式をスキャンできます。 Wizは、IaCセキュリティ体制の管理に役立つ次のようなさまざまな機能も提供します。

  • ポリシーの適用:Wizは、ポリシーに違反するコードに自動的にフラグを立てることで、セキュリティポリシーを適用できます。

  • 脆弱性スキャン:Wizは、コードをスキャンして既知の脆弱性を検出し、修復ガイダンスを提供できます。

  • コンプライアンスチェック:Wizは、PCI DSSやSOC 2などの業界標準に準拠しているかどうかをコードでチェックできます。

Wiz'のIaCスキャナーは、IaCテンプレート、コンテナイメージ、VMイメージの脆弱性、シークレット、設定ミスを検出し、開発の初期段階からセキュリティを強化します。 Wizは、すべてのクラウド環境とコードに単一のポリシーを提供することで、開発者とセキュリティチームを団結させ、サイロを排除し、クラウドセキュリティへの調和のとれたアプローチを確保します。

Wizを使用すると、ソースから本番環境までのインフラストラクチャを保護し、ランタイムから学習し、これまでにない効率と精度でコードを適用できます。 Wizの実際の動作をご覧ください。 デモのスケジュール 今日。