Sysdigがコンテナイメージスキャニングの12のベストプラクティスを公式ブログで解説した。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
クラウドネイティブアプリケーションを本番環境で保護、運用するためのソリューションを提供するSysdigは2020年7月21日(米国時間)、コンテナイメージスキャニングのベストプラクティスを公式ブログで解説した。
コンテナイメージスキャニングは、開発から本番環境の運用までのアプリケーションライフサイクル全体にセキュリティとモニタリングを統合する「DevSecOps」の主要ワークフローの一つだという。
Sysdigは、DevOpsの大きな課題の一つとして、アプリケーションデリバリーを遅らせることなく、セキュリティリスクを管理することを挙げ、この課題に迅速に対処する方法の一つが、DevSecOpsワークフローの導入だと説明している。
コンテナイメージスキャニングは、セキュリティ上の問題点や、脆弱(ぜいじゃく)性、バッドプラクティスの検出を目的に、コンテナイメージ(以下、イメージ)の内容とビルドプロセスを分析することを指す。
コンテナイメージスキャニングのためのツールは通常、NVD(National Vulnerability Database)やAlpine、Canonicalなど、さまざまなソースからCVE(Common Vulnerabilities and Exposures)情報を収集し、イメージが脆弱かどうかチェックする。一部のツールは、よくあるセキュリティ問題やバッドプラクティスをチェックするスキャニングルールも標準で提供する。
イメージスキャニングは、DevSecOpsワークフローの幾つかのステップに統合できる。例えば、「CI/CD(継続的インテグレーション/継続的デプロイ)パイプラインに統合し、脆弱性がレジストリに到達するのを防ぐ」「レジストリに統合し、サードパーティーイメージの脆弱性を防御する」「ランタイムに統合し、新たに発見されたCVEから保護する」といったことが可能だ。
Sysdigは、イメージスキャニングの12のベストプラクティスを自動化して実行することで、セキュリティを確保しながら、アプリケーションを迅速にデプロイできるとしている。
イメージをビルドする際は、公開前に注意深くスキャンする必要がある。そのためには、DevOpsワークフローの既存のCI/CDパイプラインに、イメージスキャニングを行うステップを追加すればよい。
コードをテストし、ビルドしたら、イメージをステージングリポジトリにプッシュし、このイメージに対してイメージスキャニングツールを実行する。こうしたツールは通常、見つかった問題を列挙し、それぞれの深刻度を評価したレポートを返す。こうしたイメージスキャニング結果をチェックし、重大な問題がある場合は、そのビルドを「失敗」とする。
このプロセスを自動化してCI/CDパイプラインに組み込むことで、脆弱性がレジストリに混入するのを防げる。
ステージングリポジトリを使わずに、CI/CDパイプラインからイメージを直接スキャンするインラインイメージスキャニングを行うこともできる。
インラインイメージスキャニングでは、スキャン用のメタデータだけがスキャニングツールに送られる。この手法はプライバシー管理に役立つ。
Sysdigは、一般的なCI/CDツールでインラインイメージスキャニングを実行する方法のガイドを提供している。これらのツールには、「Gitlab」「GitHub Actions」「AWS CodePipeline」「Azure Pipelines」「CircleCI」「Jenkins」「Atlassian Bamboo」「Tekton」が含まれる。
デプロイするイメージは、全てレジストリからプルされる。レジストリでイメージをスキャンすれば、少なくとも、実行するイメージは、前もってスキャンされていることが分かる。
Copyright © ITmedia, Inc. All Rights Reserved.