ランタイム脆弱性検索の設定
ランタイムの脆弱性検索では、 Container Security がインストールされているクラスタで実行されているコンテナの一部である、オペレーティングシステムとオープンソースコードの脆弱性を確認できます。重大度に基づいてソートされた脆弱性のリストが表示されます。脆弱性ビュー内でコンテキストを提供するために選択できる追加情報が表示されます。脆弱性は名前で検索でき、重大度レベルまたはCVEスコアでフィルタできます。
脆弱性の詳細は次のとおりです。
- 脆弱性情報:脆弱性の説明、詳細へのリンク(Common Vulnerabilities and Exposures(CVE®) リストに記載されているものなど)、脆弱性のあるパッケージとバージョン、および脆弱性のあるパッケージのバージョンこれには修正が含まれます(利用可能な場合)。
- イメージ情報:脆弱性が検出されたコンテナイメージ。
- 検出情報:脆弱性が検出されたワークロードのリスト。名前空間、種類、コンテナ、および各ワークロードの前回の検出日時が含まれます。
ランタイム脆弱性検索クラスタリソースの要件
クラスタワーカーノードには、少なくとも 2 vCPU
と 8 GiB Memory
が必要です。これらのコンポーネントの仕様と初期設定の制限の詳細については、ヘルムチャート のリソースセクションを確認してください。
ランタイム脆弱性検索を有効にする
クラスタの追加の手順に従って、 Container Security にクラスタを登録します。
ランタイム脆弱性検索を有効にするには
1.vulnerabilityScanning.enabled=true
をオーバーライドYAMLファイル(通常は overrides.yaml
)に追加します。
```yaml
cloudOne:
apiKey: <API_KEY>
endpoint: <ENDPOINT>
vulnerabilityScanning:
enabled: true
```
2.次のコマンドを使用して、 Container Security をアップグレードします。
```shell
helm upgrade \
trendmicro \
--namespace trendmicro-system --create-namespace \
--values overrides.yaml \
https://github.com/trendmicro/cloudone-container-security-helm/archive/master.tar.gz
```
ランタイム脆弱性検索を有効にすると、クラスタ内の「準備完了」状態の検索マネージャポッドとワークロードオペレータポッドが追加されます。
脆弱性の表示
脆弱性を確認するには、まずランタイム脆弱性検索の設定を実行する必要があります。
[脆弱性ビュー]画面には、クラスタで現在実行されている脆弱性が重大度順に表示されます。脆弱性は名前で検索し、結果を重大度レベルまたはCVEスコアでフィルタできます。
OpenShiftのランタイム脆弱性検索の設定
OpenShiftでは、コンテナセキュリティのインストール後に作成された新しい名前空間を、コンテナセキュリティをアップグレードして RBAC リソースを作成し、新しい名前空間に検索サービスに必要な権限を提供するように設定する必要があります。次のコマンドを実行して、アップグレードを実行します。
helm upgrade \
--namespace trendmicro-system \
--reuse-values \
trendmicro \
https://github.com/trendmicro/cloudone-container-security-helm/archive/master.tar.gz
トラブルシューティング
このセクションでは、ランタイム脆弱性検索でよく見られる問題とその対処方法について説明します。
ScannerポッドがOOMKilled
ステータスで終了する
Scannerポッドのステータスは、 kubectl
などのツールを使用して確認できます。この場合、 kubectl describe nodes
を実行すると、次のログが記録されることがあります。
Memory cgroup out of memory: Killed process xxxxx (sbom-job)
通常の運用では、クラスタにデプロイされたすべての一意のイメージによってScannerポッドがトリガされます。このスキャンジョブにより、配信されたイメージのソフトウェア部品表 (SBOM) が生成され、さらに分析するためにSBOMがCloud Oneに送信されます。生成されたSBOMがスキャンジョブの初期設定の最大メモリ制限より大きい場合、ポッドはOOMKilled
ステータスで終了します。非常に大きな画像 (機械学習画像など) は、SBOM のサイズが非常に大きくなる可能性があります。この問題を解決するには、ヘルムオーバーライドYAMLファイル (通常はoverrides.yaml
)で、スキャンジョブの初期設定の最大メモリ制限をオーバーライドします。
cloudOne:
apiKey:<API_KEY>
エンドポイント:<ENDPOINT>
脆弱性検索:
有効: true
リソース:
Scanner:
制限:
メモリ: 1024Mi
新しい設定を適用するには、こちらの説明に従ってhelm upgrade
コマンドを実行します。同じ問題が引き続き発生する場合は、Scannerのメモリを再度増やすことを検討してください (例: 2048Mi
)。
検出された脆弱性が脆弱性ビューから消える
ランタイム検索の脆弱性ビューには、現在、クラスタ内の脆弱性がリアルタイムで表示されます。クラスタで脆弱性が実行されなくなると (脆弱性のコンテナが終了すると)、脆弱性はただちに脆弱性ビューから削除されます。