パブリッククラウドにおける脆弱性管理:ユースケースに応じてネットワークスキャナ、エージェント、エージェントレスを使い分ける

クラウドワークロードの脆弱性管理にはさまざまなアプローチがあり、どの脆弱性スキャン方法を使うかを把握することが、成功の鍵となります。 ただし、あらゆる状況で使える「正しい選択肢」は存在しません。どうすれば自分に最適なアプローチを見極められるのでしょうか。
ネットワークベース、エージェントベース、エージェントレスの脆弱性スキャンはどれも脆弱性を特定するものです。しかし、それぞれに長所と短所があり、理想的なアプローチは組織固有のユースケース、要件、制約によって異なります。 このブログでは、それぞれの方法を紹介し、仮想マシンとコンテナ化されたワークロードに対するその適用について説明します。
クラウド脆弱性管理の概要

(Tenable Cloud Security: Vulnerability Management ダッシュボードのウィジェット)
クラウドの脆弱性管理は、Linux や Windows などの基本オペレーティングシステムや、クラウドインスタンスにインストールされているその他のソフトウェアをスキャンし、脆弱性を特定することに重点を置いています。 脆弱性管理は何十年も前から行われてきましたが、パブリッククラウドのワークロードには別のアプローチのほうが効果がある場合があります。
Tenable の Nessus Agent のようなネットワークスキャンやエージェントのインストールといった従来のスキャン方法は、パブリッククラウド環境における長時間稼働する仮想マシンの場合、実行可能な選択肢となるかもしれません。 しかし、これらの方法は、一時的な仮想マシンやコンテナ化されたワークロードには適していません。 結局のところ、個別のユースケースごとに、脆弱性データを取得する最善のアプローチを見極めることが重要になります。
パブリッククラウド仮想マシンのスキャン
パブリッククラウドの仮想マシンの中には、デプロイ方法、構成、存続期間の点でオンプレミスの仮想マシンと非常に似ているものがあります。 逆に、よりクラウドネイティブな特徴を持つ仮想マシンもあります。 大半の組織にはその両方が存在します。 どのような仮想マシンがあるかは、多くの場合、デプロイメントがクラウドセキュリティの成熟度モデルのどの段階にあるかによって決まります。
パブリッククラウドの仮想マシンのユースケースに最適な脆弱性スキャン方法を選択する場合、仮想マシンの存続期間、サイズ、アクセスしやすさなどの要因を考慮する必要があります。

(Tenable Cloud Security: 脆弱性のある仮想マシン)
ネットワークベースのスキャン
ネットワークベースのスキャンでは、各仮想プライベートクラウドまたは仮想ネットワーク内に個別のスキャナー仮想マシンをデプロイすることで、必要なアクセスを提供しながら分離を保証します。 包括的な結果を得るには、管理者認証情報が必要です。管理者認証情報がない場合、スキャンは、開いているポート、サービスバージョン、オペレーティングシステムバージョンなどの外部ビューに制限されます。
このアプローチは、スキャナーがすべてのポートとプロトコルのターゲットに到達できるようにする OS レベルの管理者認証情報とネットワークアクセス性を備えたパブリッククラウドの仮想マシンに適しています。 各ネットワークスキャナーは、一般的には大規模で長時間稼働する仮想マシンとしてデプロイされます。 しかし、こういったスキャナー仮想マシンは、顧客のクラウド運用コストを膨張させます。
メリット:
- 管理者認証情報が提供された場合には最も包括的なスキャンタイプである
- エージェントの導入が不要
- ネットワークデバイスなど、エージェントを使用してスキャンできないデバイスをサポート
- オンプレミスのワークロードもスキャンするユーザー向けの一貫したスキャン方法
考慮事項:
- スキャンターゲットごとに管理者認証情報が必要
- スキャナー仮想マシンは、通常は仮想プライベートクラウド (VPC) / 仮想ネットワーク (VNET) ごとにクラウドアカウント内に導入する必要があり、コストがかかる
- スキャンがターゲットのパフォーマンスに影響を及ぼす可能性がある (調整は可能)
- 完全に開放されたポートおよびプロトコルでスキャナーからスキャンターゲットにアクセスする必要がある
- ターゲットは、スキャン時に IP アドレス経由で実行中かつ使用可能でなければならない
- ネットワークベースのスキャンは、手動でスケジュールされるタスクである
一般的なユースケース:
- 管理者アクセスおよびネットワークのアクセス性を備えた、長時間稼働する仮想マシン
エージェントベースのスキャン
エージェントベースのスキャンでは、エージェント (Nessus エージェントやクラウドプロバイダーエージェントなど) を各ターゲット仮想マシンにインストールします。 エージェントは各クラウド仮想マシン内で実行され、実行されている仮想マシンに関する検出結果のみを報告します。
このアプローチが適しているのは、エージェントは許可されているものの OS 認証情報は提供されない大規模な仮想マシンです。 エージェントを使用すると、個別のスキャナー仮想マシンをホストする必要がなくなるため、複雑さとコストが軽減されます。 エージェントのインストールと設定は、通常、パブリッククラウドの仮想マシンのデプロイ中に自動的に行うことができます。
メリット:
- スキャナー仮想マシンの導入と管理が不要
- VPC/VNET ごとにスキャナー仮想マシンを導入する場合との比較でコスト減
- 認証情報の管理が不要
- マイクロセグメント環境に対応
考慮事項:
- エージェントは各ワークロードに必須であり、管理が必要
- エージェントにはエージェントマネージャーへの接続性が必要 (通常はアウトバンド TCP:443)
- ターゲットは、スキャン時に実行中かつ使用可能でなければならない
- 一時的なワークロードには適さない
- エージェントはリモートのみでのチェックを行うことはできない
- 最低システム要件 (2 CPU/1GB RAM) が必要
- エージェントベースのスキャンは、手動でスケジュールされるタスクである
一般的なユースケース:
- OS レベルの認証情報が提供されない長時間稼働する仮想マシン
- 高度にセグメント化/マイクロセグメント化された環境における仮想マシン
エージェントレス
エージェントレススキャンは、クラウドサービスプロバイダーのパブリック API を利用して仮想マシンに関する情報を収集するクラウドネイティブなアプローチです。 この方法では、クラウド権限を作成し、認証されたクラウドプロバイダー API へのアクセスを許可する必要があります。 エージェントレススキャンでは、ネットワークスキャナーやエージェントは不要です。
このアプローチは、認証情報管理方法やセグメンテーションレベルに関わらず、ほとんどのパブリッククラウド仮想マシンに適しています。 エージェントレスの場合は、API を利用して仮想マシンに接続し、そのストレージボリュームのスナップショットを作成します。 その後、これらのボリュームは、脆弱性スキャンを実行する一時的な仮想マシンにマウントされます。 そして、実行中の仮想マシンに影響を与えることなく、すべての仮想マシンとその欠陥を可視化します。 OS レベルの認証情報とポートへのアクセス権限が不要なため、運用オーバーヘッドが削減され、スケーラビリティが向上します。
メリット:
- クラウドネイティブで API 駆動型
- スキャナーやエージェントの導入と管理が不要
- 認証情報の管理やポートへのアクセス性が不要
- あらゆる規模の仮想マシンで動作可能
- 仮想マシンへの影響なし
- スキャナー仮想マシンが不要であるため、コストを削減可能
- クラウド権限によるアクセス許可
- 停止中の仮想マシンで使用可能
考慮事項:
- エージェントレスアプローチは通常、従来の脆弱性管理ツールではなく、クラウドセキュリティツールの機能である
- エージェントレススキャンの結果は、通常は CVE ベースである
- エージェントレスのアプローチは通常、ネットワークベースやエージェントベースのアプローチほど詳細な情報を提供しない
- エージェントレススキャンは、1 日 1 回、自動的に実行されることが多い
一般的なユースケース:
- OS レベルの認証情報が提供されず、エージェントが許可されていない、または望ましくない仮想マシン
- 一時的な仮想マシン
パブリッククラウドのコンテナ化されたワークロードのスキャン
コンテナ化されたワークロードは仮想マシンとは大きく異なるため、脆弱性をスキャンする際には、一時的であるというワークロードの性質に適応する必要があります。 パブリッククラウドのコンテナ化されたワークロードのユースケースに対して、最適な脆弱性スキャン方法を選択する場合、コンテナのオーケストレーション状況や脆弱性管理要件などの要因を考慮する必要があります。

(Tenable Cloud Security: 脆弱性のあるコンテナ化されたワークロード)
ネットワークベースのスキャン
一般に、ネットワークベースのスキャンを、コンテナ化されたワークロードに適用することはできません。 Tenable を含むいくつかのベンダーは、スキャン対象のホストにおける Docker の実行の有無は検出しますが、Docker ホスト上で実行されているコンテナの脆弱性をスキャンすることはありません。
Kubernetes エージェントベースのスキャン
エージェントベースのスキャンは、コンテナ化されたワークロードにおいては別の意味を持ちます。 従来の脆弱性スキャンエージェントの場合、エージェントサイズ、リソース要件、ネットワーク接続要件の面でコンテナ上での実行にはあまり適していません。
しかし、通常、Docker コンテナを管理するのは Kubernetes のようなコンテナオーケストレーションプラットフォームです。 Kubernetes エージェントベースのスキャンは、各 Kubernetes ワークロードに Helm チャートを介して軽量センサーをデプロイすることで、深い可視性とリアルタイムのセキュリティを提供します。したがって、コンテナ化されたワークロードを継続的に監視するのに最適です。
メリット:
- 重いエージェントソフトウェアの導入や管理が不要
- Helm チャート経由でデプロイ
- クラウドで管理される Kubernetes (EKS、AKS、GKE など) だけでなく、セルフマネージド型の Kubernetes や Red Hat OpenShift の環境でも動作
- Kubernetes エージェントベースのスキャンは通常、1 時間ごとに自動的に実行
考慮事項:
- Kubernetes エージェントベースのスキャンは通常、従来の脆弱性管理ツールではなく、クラウドセキュリティツールの機能である
- Kubernetes エージェントレススキャンの結果は、通常は CVE ベースである
一般的なユースケース:
- Kubernetes または Red Hat OpenShift のコンテナオーケストレーションプラットフォーム内でのコンテナ化されたワークロード
エージェントレス
パブリッククラウド環境内のコンテナ化されたワークロードは、通常、Kubernetes のようなコンテナオーケストレーションプラットフォームによって管理されています。 Kubernetes ノード (コンテナが実行されるホスト) は、パブリッククラウド環境で稼働する仮想マシンです。 そのため、エージェントレスの方法は、「パブリッククラウド仮想マシンのスキャン」のセクションで前述したものと同じですが、Kubernetes ノード上で実行されているコンテナの特定という更なるメリットがあります。 この方法を使用すると、ソフトウェア部品表 (SBOM) と、Kubernetes ノード上で実行されている各コンテナに関連する脆弱性も特定できます。
メリット:
- クラウドネイティブで API 駆動型
- スキャナーやエージェントの導入と管理が不要
- クラウドで管理される Kubernetes ノードをサポート
- クラウド権限経由でのアクセス権源付与
- 停止中の Kubernetes ノード (仮想マシン) で使用可能
考慮事項:
- エージェントレスアプローチは通常、従来の脆弱性管理ツールではなく、クラウドセキュリティツールの機能である
- エージェントレススキャンの結果は、通常は CVE ベースである
- エージェントレススキャンは、Kubernetes のエージェントベーススキャンよりもスキャン頻度が低い
一般的なユースケース:
- クラウドで管理される Kubernetes コンテナオーケストレーションプラットフォーム (EKS、AKS、GKE など) 内のコンテナ化されたワークロード
コンテナイメージについての注意
コンテナは、コンテナイメージの実行インスタンスです。 このブログではパブリッククラウドのワークロードに焦点を当てており、コンテナイメージはワークロードではありません。 しかし、イメージそのものはスキャンも可能であることは注目に値します。 これは通常、CI/CD パイプライン内のコンテナイメージをスキャンし、コンテナイメージレジストリと統合して、その中に保存されているすべてのコンテナイメージをスキャンすることで可能になります。
まとめ
パブリッククラウドのワークロードに適した脆弱性スキャン方法の選択は非常に重要ですが、それは特定のユースケースや要件によって大きく異なります。 それぞれの方法には、仮想マシンとコンテナ化されたワークロードの両方に対して固有のメリットや検討事項があります。 これらの違いを理解し、ワークロードの存続期間、アクセス性、全体的な脆弱性管理戦略と整合させることが不可欠です。 Tenable は、あらゆる環境における脆弱性の特定、文脈化、優先順位付け、修正に役立つよう、これらの方法をすべて提供しています。
クラウドにおける脆弱性管理の詳細については、ウェビナー 「A Cyber Pro's Guide to Cloud-Native Vulnerability Management: Start, Scale, and Secure with Confidence (サイバー専門家によるクラウドネイティブ脆弱性管理ガイド: 自信を持って開始、拡張、保護)」および、データシート「Vulnerability Management Built for Multi-Cloud Environments (マルチクラウド環境向けに構築された脆弱性管理)」をご覧ください。
- Cloud
- Risk-based Vulnerability Management
- Vulnerability Management
- Cloud
- Risk-based Vulnerability Management
- Tenable Vulnerability Management
- Vulnerability Management
- Vulnerability Scanning