コンテナイメージスキャニング、12のベストプラクティス――Sysdigが解説Kubernetesアドミッションコントローラーの利用など

Sysdigがコンテナイメージスキャニングの12のベストプラクティスを公式ブログで解説した。

» 2020年07月31日 10時55分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 クラウドネイティブアプリケーションを本番環境で保護、運用するためのソリューションを提供するSysdigは2020年7月21日(米国時間)、コンテナイメージスキャニングのベストプラクティスを公式ブログで解説した。

 コンテナイメージスキャニングは、開発から本番環境の運用までのアプリケーションライフサイクル全体にセキュリティとモニタリングを統合する「DevSecOps」の主要ワークフローの一つだという。

 Sysdigは、DevOpsの大きな課題の一つとして、アプリケーションデリバリーを遅らせることなく、セキュリティリスクを管理することを挙げ、この課題に迅速に対処する方法の一つが、DevSecOpsワークフローの導入だと説明している。

DevSecOpsの5つの基本ワークフロー(出典:Sysdig)

コンテナイメージスキャニングとは?

 コンテナイメージスキャニングは、セキュリティ上の問題点や、脆弱(ぜいじゃく)性、バッドプラクティスの検出を目的に、コンテナイメージ(以下、イメージ)の内容とビルドプロセスを分析することを指す。

 コンテナイメージスキャニングのためのツールは通常、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パイプラインにおけるイメージスキャニング(出典:Sysdig)

 コードをテストし、ビルドしたら、イメージをステージングリポジトリにプッシュし、このイメージに対してイメージスキャニングツールを実行する。こうしたツールは通常、見つかった問題を列挙し、それぞれの深刻度を評価したレポートを返す。こうしたイメージスキャニング結果をチェックし、重大な問題がある場合は、そのビルドを「失敗」とする。

 このプロセスを自動化してCI/CDパイプラインに組み込むことで、脆弱性がレジストリに混入するのを防げる。

2:インラインスキャニングを導入し、プライバシーを管理する

 ステージングリポジトリを使わずに、CI/CDパイプラインからイメージを直接スキャンするインラインイメージスキャニングを行うこともできる。

 インラインイメージスキャニングでは、スキャン用のメタデータだけがスキャニングツールに送られる。この手法はプライバシー管理に役立つ。

CI/CDパイプライン内でイメージをスキャンするインラインイメージスキャニング(出典:Sysdig)

 Sysdigは、一般的なCI/CDツールでインラインイメージスキャニングを実行する方法のガイドを提供している。これらのツールには、「Gitlab」「GitHub Actions」「AWS CodePipeline」「Azure Pipelines」「CircleCI」「Jenkins」「Atlassian Bamboo」「Tekton」が含まれる。

3:レジストリでイメージスキャニングを実行する

レジストリにおけるイメージスキャニング(出典:Sysdig)

 デプロイするイメージは、全てレジストリからプルされる。レジストリでイメージをスキャンすれば、少なくとも、実行するイメージは、前もってスキャンされていることが分かる。

4:Kubernetesアドミッションコントローラーを利用する

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。