アーキテクチャー
システムアーキテクチャー
概要
第1章 Red Hat Advanced Cluster Security for Kubernetes アーキテクチャー リンクのコピーリンクがクリップボードにコピーされました!
ここでは、Red Hat Advanced Cluster Security for Kubernetes のアーキテクチャーと概念を説明します。
1.1. Red Hat Advanced Cluster Security for Kubernetes アーキテクチャーの概要 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes (RHACS) は、大規模なデプロイメントに対応した分散アーキテクチャーを使用しており、基盤となる OpenShift Container Platform ノードまたは Kubernetes ノードへの影響を最小限に抑えるように最適化されています。
図1.1 Red Hat Advanced Cluster Security for Kubernetes の Kubernetes 向けアーキテクチャー
RHACS を Kubernetes 上と OpenShift Container 上にインストールする場合のアーキテクチャーはわずかに異なります。ただし、基盤となるコンポーネントとそれらの間のインタラクションは同じままです。
OpenShift Container Platform または Kubernetes クラスターにコンテナーセットとして RHACS をインストールします。RHACS には以下が含まれます。
- 1 つのクラスターにインストールするセントラルサービス。
- RHACS でセキュリティーを保護する各クラスターにインストールするセキュアなクラスターサービス。
これらの主要サービスに加え、RHACS は他の外部コンポーネントとも対話して、クラスターのセキュリティーを強化します。
1.2. セントラルサービス リンクのコピーリンクがクリップボードにコピーされました!
単一のクラスターにセントラルサービスをインストールします。これらのサービスには、Central、Central DB、および Scanner の 3 つの主要コンポーネントが含まれます。
- Central: RHACS アプリケーション管理インターフェイスおよびサービスです。API 対話とユーザーインターフェイス (RHACS ポータル) アクセスを処理します。同じ Central インスタンスを使用して、複数の OpenShift Container Platform または Kubernetes クラスターをセキュリティー保護できます。
- Central DB: Central DB は RHACS のデータベースで、すべてのデータ永続性を処理します。現在、PostgreSQL 13 をベースにしています。
Scanner: Red Hat が開発および認定した、コンテナーイメージをスキャンするための脆弱性スキャナーです。Scanner は次の機能を実行します。
- すべてのイメージレイヤーを分析して、Common Vulnerabilities and Exposures (CVE) リストから既知の脆弱性をチェックします。
- インストールされているパッケージの脆弱性と、複数のプログラミング言語の依存関係を特定します。コンテナーイメージのスキャンに加え、ノードのオペレーティングシステムとオーケストレーターの脆弱性を特定します。たとえば、ノードをスキャンして、Kubernetes、OpenShift Container Platform、Istio の脆弱性を特定します。
1.3. セキュアなクラスターサービス リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes を使用してセキュリティー保護するすべてのクラスター (Central をインストールしたクラスターを含む) に、セキュアなクラスターサービスをインストールします。セキュリティー保護されたクラスターサービスには、次のコンポーネントが含まれます。
- Sensor: クラスターの分析と監視を行うサービスです。OpenShift Container Platform または Kubernetes API および Collector イベントをリッスンして、クラスターの現在の状態を報告します。RHACS ポリシーに基づき、デプロイタイムおよびランタイムの違反もトリガーします。さらに、ネットワークポリシーの適用、RHACS ポリシーの再処理の開始、Admission コントローラーとの対話など、すべてのクラスターの対話も担当します。
- Admission Controller: ユーザーが RHACS のセキュリティーポリシーに違反するワークロードを作成するのを防ぎます。
- Collector: クラスターノード上のコンテナーアクティビティーを分析および監視します。コンテナーのランタイムとネットワークアクティビティーの情報を収集し、収集したデータを Sensor に送信します。
- Scanner: Kubernetes では、セキュアなクラスターサービスに Scanner は含まれません。OpenShift Container Platform の場合、RHACS は統合された OpenShift Container Platform レジストリー内のイメージをスキャンするために、セキュアなクラスターごとに軽量 Scanner バージョンをインストールします。
1.4. 外部コンポーネント リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes (RHACS) は、以下の外部コンポーネントと対話します。
- サードパーティーシステム: RHACS を、CI/CD パイプライン、イベント管理 (SIEM) システム、ロギング、電子メールなどの他のシステムと統合できます。
-
roxctl:roxctlは、RHACS でコマンドを実行するためのコマンドラインインターフェイス (CLI) です。 - イメージレジストリー: RHACS をさまざまなイメージレジストリーと統合し、RHACS を使用してイメージをスキャンおよび表示できます。RHACS は、セキュアなクラスターで検出されたイメージプルシークレットを使用して、アクティブなイメージのレジストリー統合を自動的に設定します。ただし、非アクティブなイメージをスキャンするには、レジストリー統合を手動で設定する必要があります。
-
definitions.stackrox.io: RHACS は、definitions.stackrox.ioエンドポイントでさまざまな脆弱性フィードからのデータを集約し、この情報を Central に渡します。フィードには、一般的な National Vulnerability Database (NVD) データと、Alpine、Debian、Ubuntu などのディストリビューション固有のデータが含まれます。 -
collector-modules.stackrox.io: Central は、collector-modules.stackrox.ioにアクセスして、サポートされているカーネルモジュールを取得し、これらのモジュールを Collector に渡します。
1.5. OpenShift Container Platform と Kubernetes にインストールした場合のアーキテクチャーの違い リンクのコピーリンクがクリップボードにコピーされました!
RHACS を OpenShift Container Platform にインストールする場合、アーキテクチャー上の違いは 2 つだけです。
- Operator または Helm インストール方法を使用して OpenShift Container Platform に RHACS をインストールすると、RHACS はすべてのセキュアなクラスターに Scanner の軽量バージョンをインストールします。軽量 Scanner は、統合された OpenShift Container Registry (OCR) 内のイメージのスキャンを可能にします。
- Sensor は、Central をインストールしたクラスター内の Scanner と通信します。この接続により、クラスターに接続されている内部レジストリーにアクセスできます。
図1.2 Red Hat Advanced Cluster Security for Kubernetes の OpenShift Container Platform 向けアーキテクチャー
1.6. サービス間の対話 リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、RHACS サービスがどのように対話するかを説明します。
| コンポーネント | 方向 | 対話先 | 説明 |
|---|---|---|---|
| Central | ⮂ | スキャナー | Central とスキャナーの間の双方向通信です。Central はスキャナーにイメージスキャンを要求し、スキャナーは Central に CVE データベースの更新を要求します。 |
| Central | ➞ |
|
Central は、 |
| Central | ➞ |
|
Central は、サポートされているカーネルモジュールを |
| Central | ➞ | イメージレジストリー | Central はイメージレジストリーにクエリーを実行して、イメージメタデータを取得します。たとえば、RHACS ポータルで Dockerfile の手順を表示します。 |
| スキャナー | ➞ | イメージレジストリー | Scanner はイメージレジストリーからイメージをプルして、脆弱性を特定します。 |
| Sensor | ⮂ | Central | Central と Sensor 間の双方向通信です。Sensor は、センサーバンドル設定の更新をダウンロードするために定期的に Central をポーリングします。また、セキュアなクラスターで観察されたアクティビティーと観察されたポリシー違反のイベントも送信します。Central は Sensor と通信して、有効なポリシーに対してすべてのデプロイメントの再処理を強制します。 |
| Sensor | ⮂ | スキャナー |
OpenShift Container Platform でのみ、Sensor は Scanner と通信して、クラスターに接続されたローカルレジストリーにアクセスします。Scanner は Sensor と通信して、 |
| Collector | ⮂ | Sensor | Collector は Sensor と通信し、すべてのイベントをクラスターのそれぞれの Sensor に送信します。サポートされる OpenShift Container Platform クラスターでは、Collector はノードにインストールされているソフトウェアパッケージを分析し、それらを Sensor に送信して、後で脆弱性の有無をスキャンできるようにします。Collector は、不明ドライバーも Sensor に要求します。Sensor は、Collector にコンプライアンススキャン結果を要求します。さらに Sensor は、Central から外部の Classless Inter-Domain Routing 情報を受け取り、それを Collector にプッシュします。 |
| Admission controller | ⮂ | Sensor | Sensor は、適用するセキュリティーポリシーのリストを Admission controller に送信します。Admission controller は、セキュリティーポリシー違反アラートを Sensor に送信します。Admission controller は、必要に応じて Sensor にイメージスキャンを要求することもできます。 |
| Admission controller | ➞ | Central | これは一般的ではありません。ただし、Central エンドポイントが判明しており、かつ Sensor が使用できない場合、Admission controller は Central と直接通信できます。 |