エージェントベースの Kubernetes ワークロードスキャン

注意: エージェントベースのスキャンは、Cloud Vulnerability Management ライセンスでは使用できません。

クラウドワークロード保護には、 エージェントベース または エージェントレス のスキャンを使用できます。それぞれ、セキュリティのニーズ、コンプライアンス要件、運用上の制約に応じて異なる利点があります。この記事では 、エージェントベースのスキャンについて説明します。エージェントレスのワークロードスキャンの詳細については、「 エージェントレスワークロードスキャンを参照してください。2 つの手法の比較については、エージェントレススキャンとエージェントベーススキャンの比較を参照してください。

必要なライセンス: この機能は Enterprise ライセンスでのみ利用できます。詳細については、ライセンスを参照してください。

この記事では、Tenable One Cloud Exposure で使用される特定のスキャン方法の詳細について説明します。さまざまなリソースタイプと運用段階で使用されるすべてのスキャンおよび同期方法 (コード、データ、ワークロードなどの異なるターゲットで使用されるエージェントレス、エージェントベース、パイプライン手法を含む) の広範な概要については、スキャン方法を参照してください。

  • 接続中に、 Tenable はそのアプリケーション専用の KMS キーを生成します。このキーは、仮想マシンを作成し、スナップショットからボリュームをアタッチするために必要です。Tenable アウトポストではこのキーのみが使用され、カスタマーマネージドキーは共有されません。KMS キーへのアクセスはアプリケーションに制限され、スナップショットの作成に人間が介入することを防ぎます。スナップショットの作成は完全に自動化されているため、悪意のあるアクティビティのリスクが最小限に抑えられます。
  • スナップショットの作成中に、 Tenable によって各スナップショットに次のタグが自動的に適用されます。
    • ErmeticContext: WorkloadAnalysis
    • ErmeticNamespace: Prd<Region><Deployment> 例: PrdUse2Dep2、 PrdAps1Dep1

エージェントベースの Kubernetes ワークロードスキャンについて

Helm チャートコマンドを活用して環境内の関連するクラスタを接続することで、次の Kubernetes ワークロード の脆弱性をスキャンできます。

  • クラウドマネージド (EKS/AKS/GKE/OKE)
  • アンマネージド (Kubernetes クラスタを実行している仮想マシン)

この機能は、コマンドを使用してクラスタ内にセンサーをインストールすることで有効にできます。

センサーは package-manager とインストールされているライブラリのクエリを実行し、ホストにインストールされているソフトウェアと、ノードで実行されているコンテナイメージを特定します。その後、センサーはこのソフトウェアインベントリをさらに分析するために Tenable に送信します。

注意: センサーは、新しいコンテナイメージがないかクラスタノードを継続的に監視し、新しいイメージごとに約 30 分以内にスキャンします。これには、CronJob やその他の一時的な Pod によって作成されたものなど、有効期間の短いイメージが含まれます。検出結果のアップデートは、オーケストレーションサイクルによって異なります。
注意: センサーは、設計要件に応じて、 Kubernetes と Red Hat OpenShift の 両方のコンテナオーケストレーションプラットフォームにデプロイできます。Kubernetes はオープンソースプラットフォームであり、コンテナオーケストレーションの基盤として機能します。一方、OpenShift は追加機能で Kubernetes を拡張します。

はじめに:
ワークロードKubernetesの脆弱性をスキャンするを参照してください。

データ出力:
このスキャンプロセスにより、次のデータ出力が作成され、 Tenable One Cloud Exposure コンソールのワークロード保護領域に表示されます。

  • ソフトウェアパッケージ
  • 脆弱性
注意: Tenable は NVD API を使用していますが、NVD の推奨または認定を受けていません。

スキャンのワークフロー図

次の図は、 クラウドサイバーエクスポージャー センサーが DaemonSet として各 Kubernetes ノードにインストールされる方法を示しています。これらのセンサーは、ノードをホストしている仮想マシンを含む、オンプレミスの Kubernetes 環境をスキャンします。スキャンプロセスが完了すると、収集されたソフトウェアインベントリ (SBOM) は脆弱性評価のために Tenable に送信されます。

Diagram: Tenable sensors on on-premises Kubernetes nodes send the software inventory for vulnerability assessment

Tenable によるスキャナーの更新方法

センサーは、クラウドサイバーエクスポージャー の新しいバージョンがリリースされるたびに自動的に更新されます。互換性とスキャン機能を維持するために、最新バージョンに更新する必要があります。
更新プロセスは以下のようになっています。

  1. 各バージョンのリリースに合わせて、クラウドサイバーエクスポージャー は更新されたセンサーイメージを提供します。
  2. 実行中のセンサーは古くなったことを検出し、自身のプロセスを終了して、ポッドの再起動をトリガーします。
  3. 再起動時に、daemonset は最新のイメージをプルするように設定され、リポジトリの新しいバージョンを指します。AWS ECR の Tenable のプライベートコンテナレジストリからこのイメージを取得し、Tenable バックエンドからトークンを介して認証を行います。
  4. ポッドは新しいイメージを使用して再起動し、センサーがスキャンを再開して結果を Tenable バックエンドに送信できるようになります。

Tenable の検出対象

クラウドサイバーエクスポージャー は現在、以下のワークロードコンポーネントをスキャンできます。

要素 スキャン Tenable 対象
プラットフォームタイプ
  • オンプレミス
  • AWS
  • Azure
  • GCP
ワークロード ホストを含む Kubernetes ノードと、ノード上で実行されているコンテナイメージ。
オペレーティングシステム Linux
注意: Tenable はコンテナのノードもスキャンします
  • これらのノードで見つかったコンテナは、関連するパッケージと脆弱性とともに、Tenable の仮想マシンとして表示されます。
  • Tenableモニタリングするクラウドベースのコンテナレジストリ (Amazon ECR、 Azure ACR など) でコンテナがホストされている場合、リポジトリへのリンクが表示されます。
警告: OCI センサーベースエージェントベースのスキャンはサポートされていません。

これらの各コンポーネントについて、 Tenable は以下を検出します。

  • 一般情報 (OS のタイプやバージョンなど)
  • どのソフトウェアがインストールされていますか?
  • ソフトウェアまたは OS カーネルは攻撃に対して脆弱か?
  • 脆弱である場合、どの脆弱性に当てはまるか。
  • OS が古いまたは EOL か (そのため、アップグレードする必要がありますか)

これらの機能は継続的に更新されます。使用している特定のワークロードまたはコンポーネントがあり、Tenable がサポートしているか確認するには、テクニカルサポートまでお問い合わせください。サポートへの問い合わせ。

スキャンで使用されるポリシー

_ワークロード保護_カテゴリに属する以下の組み込みクラウドサイバーエクスポージャーポリシーは、環境のスキャンに使用されます。クラウドサイバーエクスポージャー でのポリシーの操作方法に関する詳細については、「クラウドポリシーを参照してください。

プラットフォーム カテゴリ 名前
AWS/Azure/GCP/オンプレミス ワークロード保護 コンテナイメージのオペレーティングシステムのサポート期間が終了、または終了が近づいています
コンテナイメージのオペレーティングシステムにパッチが適用されていません
コンテナイメージに、対処する必要がある脆弱性が含まれています
仮想マシンのオペレーティングシステムのサポート期間が終了、または終了が近づいています
仮想マシンのオペレーティングシステムにパッチが適用されていません
仮想マシンに、対処する必要がある脆弱性が含まれています
注意: パッチ未適用のオペレーティングシステムに関連するポリシーは、既知の修正がある脆弱性のみに警告を発します。

Tenable がソフトウェアと脆弱性を特定する方法

Tenable は、幅広い公開データソース (Windows の場合は MSRC、Linux の場合は NVD など) から既知の脆弱性情報を抽出し、次のような完全な脆弱性データベースをコンパイルします。

  • 脆弱なオペレーティングシステム/ソフトウェアバージョン
  • これらの脆弱性に対処する KB またはアップグレードバージョン (可能な場合)

並行して、Tenable は仮想マシン (すべての Windows ユーザーアカウント/プロファイルを含む) のレジストリ/パッケージマネージャーから次の情報を抽出します。

Tenable はその後、マシンにインストールされている OS のバージョンと既知の脆弱性のリストを比較し、特定の VM に関連する脆弱性のリストと、推奨される修正を強調表示します。

データソースの選択

Tenable は、適切な OS ベンダーのアドバイザリデータベースを使用します。たとえば、yum (Amazon Linux) からインストールされた Python パッケージの場合、Tenable は ALAS のアドバイザリのみを取得します。OS パッケージマネージャーからインストールされたパッケージ (dpkg、yum、apk など) の場合、これは誤検出を防ぐのに役立ちます。その理由は、OS ベンダーは通常、新しいアップストリームバージョンから以前のバージョンに修正をバックポートしており、修正されたバージョンが上流の修正済みバージョンと異なる可能性があるためです。
パッケージマネージャー以外でインストールされた製品の場合、アドバイザリは通常、脆弱性が最初に公開される場所であるため、可能な限り最速のカバレッジを提供することができます。

CVSS 深刻度の基本値

注意: 深刻度は、選択した深刻度メトリクスに基づいて計算されます。深刻度メトリクスを設定するには、脆弱性の深刻度のメトリクスを参照してください。

深刻度は以下のように CVSS スコアに基づいて決定されます。

基本値範囲 深刻度
0.1 ~ 3.9 低
4.0 ~ 6.9 中
7.0 ~ 8.9 高
9.0 ~ 10.0 重大
  • CVSS スコアもない場合は、NVD の深刻度が使用されます。

Linux

Linux OS のバージョン

は Tenable 、 以下の Linux バージョンの脆弱性を特定し、 検出 します。

OS 対応バージョン パッケージマネージャー
Alpine Linux 2.2 - 2.7、3.0 - 3.18、edge apk
Wolfi Linux (該当なし) apk
Chainguard (該当なし) apk
Red Hat Enterprise Linux 6、7、8、9 dnf/yum/rpm
Red Hat Enterprise Linux CoreOS 4.x (該当なし)
CentOS 6, 7, 8 dnf/yum/rpm
AlmaLinux 8、9 dnf/yum/rpm
Rocky Linux 8、9 dnf/yum/rpm
Oracle Linux 5、6、7、8、9 dnf/yum/rpm
CBL-Mariner 1.0、2.0、3.0 dnf/yum/rpm
Amazon Linux 1、2、2023 dnf/yum/rpm
openSUSE Leap 42、15 zypper/rpm
SUSE Enterprise Linux 11、12、15 zypper/rpm
Photon OS 1.0、2.0、3.0、4.0 tndf/yum/rpm
Debian GNU/Linux 7、8、9、10、11、12、13 apt/dpkg
Ubuntu
  • 24.04 LTS (Noble Numbat)
  • 22.04 LTS (Jammy Jellyfish)
  • 20.04 LTS (Focal Fossa)
  • 18.04 LTS (Bionic Beaver)
  • 16.04 LTS (Xenial Xerus)
  • 14.04 LTS (Trusty Tahr)
apt/dpkg
Bottlerocket 注意: この OS は、拡張ディスクスキャンが有効になっている場合 (デフォルト) にスキャンされます。[設定] > [セキュリティ] > [ワークロード] の順に移動し、[拡張ディスクスキャン] をオンにします。 (該当なし)
Google Container-Optimized OS (COS) 注意: サポートは、ソフトウェアインベントリの可視性に限定されます。Tenable One Cloud Exposure は Google COS ホスト上にインストールされているすべてのパッケージとコンポーネントを正確に検出して報告しますが、このオペレーティングシステム向けのアドバイザリベースの脆弱性診断も開発中です。現時点では、誤検出をなくすため、Google COS の脆弱性検出結果が意図的に制限されています。完全な脆弱性検出は、今後のリリースで利用可能になる予定です。 (該当なし)

Linux 対応言語

Tenable では、ソフトウェアおよび Linux マシンの脆弱性に関して、次の言語をサポートしています。

言語 CI/CD スキャン レジストリスキャン ワークロードスキャン
DotNet ✔ ✔ ✔
移動 ✔ ✔ ✔
Java ✔ ✔ ✔
JavaScript ✔ ✔ ✔
PHP ✔ ✔ ✔
Python ✔ ✔ ✔
Ruby ✔ ✔ ✔
Rust ✔ ✔ ✔

Linux でサポートされるファイルシステム

Tenable は、標準 (非 LVM) と LVM の両方の設定で、XFS および ext4 ファイルシステムを使用するクラウドワークロードのスキャンをサポートしています。
詳細については、 論理ボリューム・マネージャー (Linux)を参照してください。