コンテナイメージスキャニング、12のベストプラクティス――Sysdigが解説:Kubernetesアドミッションコントローラーの利用など
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のベストプラクティスを自動化して実行することで、セキュリティを確保しながら、アプリケーションを迅速にデプロイできるとしている。
1:イメージスキャニングをCI/CDパイプラインに組み込む
イメージをビルドする際は、公開前に注意深くスキャンする必要がある。そのためには、DevOpsワークフローの既存のCI/CDパイプラインに、イメージスキャニングを行うステップを追加すればよい。
コードをテストし、ビルドしたら、イメージをステージングリポジトリにプッシュし、このイメージに対してイメージスキャニングツールを実行する。こうしたツールは通常、見つかった問題を列挙し、それぞれの深刻度を評価したレポートを返す。こうしたイメージスキャニング結果をチェックし、重大な問題がある場合は、そのビルドを「失敗」とする。
このプロセスを自動化してCI/CDパイプラインに組み込むことで、脆弱性がレジストリに混入するのを防げる。
2:インラインスキャニングを導入し、プライバシーを管理する
ステージングリポジトリを使わずに、CI/CDパイプラインからイメージを直接スキャンするインラインイメージスキャニングを行うこともできる。
インラインイメージスキャニングでは、スキャン用のメタデータだけがスキャニングツールに送られる。この手法はプライバシー管理に役立つ。
Sysdigは、一般的なCI/CDツールでインラインイメージスキャニングを実行する方法のガイドを提供している。これらのツールには、「Gitlab」「GitHub Actions」「AWS CodePipeline」「Azure Pipelines」「CircleCI」「Jenkins」「Atlassian Bamboo」「Tekton」が含まれる。
3:レジストリでイメージスキャニングを実行する
デプロイするイメージは、全てレジストリからプルされる。レジストリでイメージをスキャンすれば、少なくとも、実行するイメージは、前もってスキャンされていることが分かる。
4:Kubernetesアドミッションコントローラーを利用する
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- コンテナを標的にしたマルウェア、Aqua Security Softwareが攻撃手法を解説
Aqua Security Softwareは、コンテナ環境を標的にした「kinsing」マルウェア攻撃の脅威について、レポートを発表した。Docker APIポートの設定ミスにつけ込み、多数のコンテナに感染しながら、仮想通貨の発掘を試みる攻撃だ。クラウドネイティブ環境では何に気を付ければよいのかもまとめている。 - 「コンテナセキュリティ」とは――コンテナを活用する人が知っておくべき6つのポイント
エンジニアならば避けては通れない技術となった「コンテナ」に“脅威”はないのだろうか? “コンテナセキュリティ”が考慮すべき6つのポイントや、どこで脅威が混入する可能性があるのかをトレンドマイクロに聞いた。 - コンテナ・DevOps時代のセキュア開発を問う――セキュリティバイデザインがもう避けては通れない理由
クラウドやコンテナ、マイクロサービスが主流になりつつある現在、セキュリティバイデザインという考え方をどのように発展させ、適用させていけばいいのだろうか。