エージェントベースの Kubernetes ワークロードスキャン
クラウドワークロード保護には、 エージェントベース または エージェントレス のスキャンを使用できます。それぞれ、セキュリティのニーズ、コンプライアンス要件、運用上の制約に応じて異なる利点があります。この記事では 、エージェントベースのスキャンについて説明します。エージェントレスのワークロードスキャンの詳細については、「 エージェントレスワークロードスキャンを参照してください。2 つの手法の比較については、エージェントレススキャンとエージェントベーススキャンの比較を参照してください。
必要なライセンス: この機能は Enterprise ライセンスでのみ利用できます。詳細については、ライセンスを参照してください。
この記事では、Tenable One Cloud Exposure で使用される特定のスキャン方法の詳細について説明します。さまざまなリソースタイプと運用段階で使用されるすべてのスキャンおよび同期方法 (コード、データ、ワークロードなどの異なるターゲットで使用されるエージェントレス、エージェントベース、パイプライン手法を含む) の広範な概要については、スキャン方法を参照してください。
- 接続中に、 Tenable はそのアプリケーション専用の KMS キーを生成します。このキーは、仮想マシンを作成し、スナップショットからボリュームをアタッチするために必要です。Tenable アウトポストではこのキーのみが使用され、カスタマーマネージドキーは共有されません。KMS キーへのアクセスはアプリケーションに制限され、スナップショットの作成に人間が介入することを防ぎます。スナップショットの作成は完全に自動化されているため、悪意のあるアクティビティのリスクが最小限に抑えられます。
-
スナップショットの作成中に、 Tenable によって各スナップショットに次のタグが自動的に適用されます。
- ErmeticContext: WorkloadAnalysis
- ErmeticNamespace: Prd<Region><Deployment> 例: PrdUse2Dep2、 PrdAps1Dep1
エージェントベースの Kubernetes ワークロードスキャンについて
Helm チャートコマンドを活用して環境内の関連するクラスタを接続することで、次の Kubernetes ワークロード の脆弱性をスキャンできます。
この機能は、コマンドを使用してクラスタ内にセンサーをインストールすることで有効にできます。
センサーは package-manager とインストールされているライブラリのクエリを実行し、ホストにインストールされているソフトウェアと、ノードで実行されているコンテナイメージを特定します。その後、センサーはこのソフトウェアインベントリをさらに分析するために Tenable に送信します。
はじめに:
ワークロードKubernetesの脆弱性をスキャンするを参照してください。
データ出力:
このスキャンプロセスにより、次のデータ出力が作成され、 Tenable One Cloud Exposure コンソールのワークロード保護領域に表示されます。
- ソフトウェアパッケージ
- 脆弱性
スキャンのワークフロー図
次の図は、 クラウドサイバーエクスポージャー センサーが DaemonSet として各 Kubernetes ノードにインストールされる方法を示しています。これらのセンサーは、ノードをホストしている仮想マシンを含む、オンプレミスの Kubernetes 環境をスキャンします。スキャンプロセスが完了すると、収集されたソフトウェアインベントリ (SBOM) は脆弱性評価のために Tenable に送信されます。
Tenable によるスキャナーの更新方法
センサーは、クラウドサイバーエクスポージャー の新しいバージョンがリリースされるたびに自動的に更新されます。互換性とスキャン機能を維持するために、最新バージョンに更新する必要があります。
更新プロセスは以下のようになっています。
- 各バージョンのリリースに合わせて、クラウドサイバーエクスポージャー は更新されたセンサーイメージを提供します。
- 実行中のセンサーは古くなったことを検出し、自身のプロセスを終了して、ポッドの再起動をトリガーします。
- 再起動時に、daemonset は最新のイメージをプルするように設定され、リポジトリの新しいバージョンを指します。AWS ECR の Tenable のプライベートコンテナレジストリからこのイメージを取得し、Tenable バックエンドからトークンを介して認証を行います。
- ポッドは新しいイメージを使用して再起動し、センサーがスキャンを再開して結果を Tenable バックエンドに送信できるようになります。
Tenable の検出対象
クラウドサイバーエクスポージャー は現在、以下のワークロードコンポーネントをスキャンできます。
| 要素 | スキャン Tenable 対象 |
|---|---|
| プラットフォームタイプ |
|
| ワークロード | ホストを含む Kubernetes ノードと、ノード上で実行されているコンテナイメージ。 |
| オペレーティングシステム | Linux |
これらの各コンポーネントについて、 Tenable は以下を検出します。
- 一般情報 (OS のタイプやバージョンなど)
- どのソフトウェアがインストールされていますか?
- ソフトウェアまたは OS カーネルは攻撃に対して脆弱か?
- 脆弱である場合、どの脆弱性に当てはまるか。
- OS が古いまたは EOL か (そのため、アップグレードする必要がありますか)
これらの機能は継続的に更新されます。使用している特定のワークロードまたはコンポーネントがあり、Tenable がサポートしているか確認するには、テクニカルサポートまでお問い合わせください。サポートへの問い合わせ。
スキャンで使用されるポリシー
_ワークロード保護_カテゴリに属する以下の組み込みクラウドサイバーエクスポージャーポリシーは、環境のスキャンに使用されます。クラウドサイバーエクスポージャー でのポリシーの操作方法に関する詳細については、「クラウドポリシーを参照してください。
| プラットフォーム | カテゴリ | 名前 |
|---|---|---|
| AWS/Azure/GCP/オンプレミス | ワークロード保護 | コンテナイメージのオペレーティングシステムのサポート期間が終了、または終了が近づいています |
| コンテナイメージのオペレーティングシステムにパッチが適用されていません | ||
| コンテナイメージに、対処する必要がある脆弱性が含まれています | ||
| 仮想マシンのオペレーティングシステムのサポート期間が終了、または終了が近づいています | ||
| 仮想マシンのオペレーティングシステムにパッチが適用されていません | ||
| 仮想マシンに、対処する必要がある脆弱性が含まれています |
Tenable がソフトウェアと脆弱性を特定する方法
Tenable は、幅広い公開データソース (Windows の場合は MSRC、Linux の場合は NVD など) から既知の脆弱性情報を抽出し、次のような完全な脆弱性データベースをコンパイルします。
- 脆弱なオペレーティングシステム/ソフトウェアバージョン
- これらの脆弱性に対処する KB またはアップグレードバージョン (可能な場合)
並行して、Tenable は仮想マシン (すべての Windows ユーザーアカウント/プロファイルを含む) のレジストリ/パッケージマネージャーから次の情報を抽出します。
- OS 情報 (CPU アーキテクチャ、バージョンなど)
- インストールされている KB のリスト (Windows のみ)
- インストール済みのソフトウェアのリスト (Windows Workloads にあるファーストパーティとサードパーティのアプリを参照)
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 |
|
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)を参照してください。
