You are viewing documentation for a release that is no longer maintained. To view the documentation for the most recent version, see the latest RHACS docs.
インストール
Red Hat Advanced Cluster Security for Kubernetes のインストール
概要
第1章 Red Hat Advanced Cluster Security for Kubernetes をインストールするための前提条件
1.1. 一般要件
Red Hat Advanced Cluster Security for Kubernetes をインストールするには、次のものが必要です。
- OpenShift Container Platform インストール用の OpenShift Container Platform バージョン 4.5 以降。 警告- 次の場所に Red Hat Cluster Security for Kubernetes をインストールしないでください。 - Amazon Elastic File System (Amazon EFS)。代わりに、デフォルトの gp2 ボリュームタイプで Amazon Elastic Block Store (Amazon EBS) を使用してください。
- Streaming SIMD Extensions (SSE) 4.2 命令セットを備えていない古い CPU。たとえば、Sandy Bridge より古い Intel プロセッサー、および Bulldozer より古い AMD プロセッサー。(これらのプロセッサーは 2011 年にリリースされました。)
 
- サポートされているオペレーティングシステムを備えたクラスターノード。詳細は、Red Hat Advanced Cluster Security for Kubernetes Support Policy を参照してください。 - オペレーティングシステム: Amazon Linux、CentOS、Google の Container-Optimized OS、Red Hat Enterprise Linux CoreOS (RHCOS)、Debian、Red Hat Enterprise Linux (RHEL)、または Ubuntu。
- プロセッサーとメモリー :2 つの CPU コアと少なくとも 3GiB の RAM。 注記- Central をデプロイするには、4 つ以上のコアを備えたマシンタイプを使用し、スケジューリングポリシーを適用して、そのようなノードで Central を起動します。 
 
- 永続ボリューム要求 (PVC) を使用した永続ストレージ。 重要- Red Hat Advanced Cluster Security for Kubernetes で Ceph FS ストレージを使用しないでください。Red Hat は、Red Hat Advanced Cluster Security for Kubernetes に RBD ブロックモード PVC を使用することをお勧めします。 - 最高のパフォーマンスを得るには、ソリッドステートドライブ (SSD) を使用してください。ただし、SSD を使用できない場合は、別のタイプのストレージを使用できます。
 
- 
						Helm チャートを使用して Red Hat Advanced Cluster Security for Kubernetes をインストールまたは設定する場合は、Helm コマンドラインインターフェイス (CLI)v3.2 以降。helm versionコマンドを使用して、インストールした Helm のバージョンを確認する。
- 
						OpenShift Container Platform CLI (oc)。
- Central クラスターでデプロイメントを設定するには、適切なパーミッションが必要。
- 
						Red Hat Container Registry へのアクセスがあること。registry.redhat.ioからイメージをダウンロードする方法は、Red Hat コンテナーレジストリーの認証 を参照してください。
1.2. Central をインストールするための前提条件
Central と呼ばれる単一のコンテナー化されたサービスは、データの永続性、API インタラクション、およびユーザーインターフェイス (ポータル) アクセスを処理します。
Central には永続的なストレージが必要です。
- 永続ボリュームクレーム (PVC) を使用してストレージを提供できます。 注記- hostPath ボリュームをストレージに使用できるのは、すべてのホスト (またはホストのグループ) が NFS 共有やストレージアプライアンスなどの共有ファイルシステムをマウントしている場合のみです。それ以外の場合、データは単一のノードにのみ保存されます。Red Hat は、hostPath ボリュームの使用を推奨していません。 
- 最高のパフォーマンスを得るには、ソリッドステートドライブ (SSD) を使用してください。ただし、SSD を使用できない場合は、別のタイプのストレージを使用できます。
- Web プロキシーまたはファイアウォールを使用する場合は、 - definitions.stackrox.ioドメインと- collector-modules.stackrox.ioドメインのトラフィックを許可するバイパスルールを設定し、Red Hat Advanced Cluster Security for Kubernetes が Web プロキシーまたはファイアウォールを信頼できるようにする必要があります。そうしないと、脆弱性定義とカーネルサポートパッケージの更新が失敗します。- Red Hat Advanced Cluster Security for Kubernetes には、以下へのアクセスが必要です。 - 
								definitions.stackrox.io では、更新された脆弱性定義がダウンロードできます。脆弱性定義の更新により、Red Hat Advanced Cluster Security for Kubernetes は、新しい脆弱性が発見されたとき、または追加のデータソースが追加されたときに、最新の脆弱性データを維持できます。
- 
								更新されたカーネルサポートパッケージをダウンロードするには、collector-modules.stackrox.ioを使用します。更新されたカーネルサポートパッケージにより、Red Hat Advanced Cluster Security for Kubernetes は、最新のオペレーティングシステムをモニターし、コンテナー内で実行されているネットワークトラフィックとプロセスに関するデータを収集できます。これらの更新がないと、クラスターに新しいノードを追加したり、ノードのオペレーティングシステムを更新したりすると、Red Hat Advanced Cluster Security for Kubernetes がコンテナーのモニターに失敗する可能性があります。
 
- 
								
セキュリティー上の理由から、管理アクセスが制限されたクラスターに Central をデプロイする必要があります。
メモリーとストレージの要件
次の表に、Central のインストールと実行に必要な最小メモリーとストレージの値を示します。
| Central | CPU | メモリー | ストレージ | 
|---|---|---|---|
| Request | 1.5 コア | 4 GiB | 100 GiB | 
| 制限 | 4 コア | 8 GiB | 100 GiB | 
サイジングガイドライン
クラスター内のノードの数に応じて、次のコンピュートリソースとストレージ値を使用します。
| ノード | デプロイメント | CPU | メモリー | ストレージ | 
|---|---|---|---|---|
| 最大 100 | 最大 1000 | 2 コア | 4 GiB | 100 GiB | 
| 最大 500 | 最大 2000 | 4 コア | 8 GiB | 100 GiB | 
| 500 以上 | 2000 以上 | 8 コア | 12 - 16 GiB | 100 - 200 GiB | 
1.3. Scanner をインストールするための前提条件
Red Hat Advanced Cluster Security for Kubernetes には、Scanner と呼ばれるイメージ脆弱性 Scanner が含まれています。このサービスは、イメージレジストリーに統合されているスキャナーでスキャンされていないイメージをスキャンします。
メモリーとストレージの要件
| スキャナー | CPU | メモリー | 
|---|---|---|
| Request | 1.2 コア | 2700 MiB | 
| 制限 | 5 コア | 8000 MiB | 
1.4. Sensor をインストールするための前提条件
Sensor は、Kubernetes および OpenShift Container Platform クラスターをモニターします。これらのサービスは現在、単一のデプロイメントでデプロイされ、Kubernetes API とのインタラクションを処理し、Collector と連携しています。
メモリーとストレージの要件
| Sensor | CPU | メモリー | 
|---|---|---|
| Request | 1 コア | 1 GiB | 
| 制限 | 2 コア | 4 GiB | 
1.5. Admission Controller をインストールするための前提条件
Admission Controller は、ユーザーが設定したポリシーに違反するワークロードを作成するのを防ぎます。
メモリーとストレージの要件
デフォルトでは、アドミッションコントロールサービスは 3 つのレプリカを実行します。次の表に、各レプリカのリクエストと制限を示します。
| 受付コントローラー | CPU | メモリー | 
|---|---|---|
| Request | .05 コア | 100 MiB | 
| 制限 | .5 コア | 500 MiB | 
1.6. Collector をインストールするための前提条件
Collector は、セキュアなクラスター内の各ノードのランタイムアクティビティーをモニターします。Sensor に接続してこの情報をレポートします。
Unified Extensible Firmware Interface (UEFI) があり、Secure Boot が有効になっているシステムに Collector をインストールするには、カーネルモジュールが署名されておらず、UEFI ファームウェアが署名されていないパッケージをロードできないため、eBPF プローブを使用する必要があります。Collector は、開始時に Secure Boot ステータスを識別し、必要に応じて eBPF プローブに切り替えます。
メモリーとストレージの要件
| Collector | CPU | メモリー | 
|---|---|---|
| Request | .05 コア | 320 MiB | 
| 制限 | .75 コア | 1 GiB | 
					Collector は変更可能なイメージタグ (<version>-latest) を使用するため、新しい Linux カーネルバージョンのサポートをより簡単に取得できます。コード、既存のカーネルモジュール、またはイメージ更新用の eBPF プログラムに変更はありません。更新では、最初のリリース後に公開された新しいカーネルバージョンをサポートする単一のイメージレイヤーのみが追加されます。
				
第2章 インストールプラットフォームと方法
Red Hat Advanced Cluster Security for Kubernetes はさまざまなプラットフォームでサポートされています。このトピックでは、各プラットフォームの情報とインストールドキュメントへのリンクを提供します。
2.1. 各種プラットフォームのインストール方法
各種のプラットフォームで各種のインストールを実行できます。
					以下の表にあるように、すべてのプラットフォームですべてのインストールオプションがサポートされている訳ではありません。Red Hat では、roxctl インストールメソッドを使用する必要がある特定のインストールニーズがない限り、このメソッドを使用しないことをお勧めします。
				
| プラットフォーム | サポート対象のインストール方法 | 
|---|---|
| Red Hat OpenShift Container Platform (OCP) 4.x | |
| Red Hat OpenShift Container Platform (OCP) 3.11.z | |
| Red Hat OpenShift Kubernetes Engine (OKE) 4.x | 
| プラットフォーム | サポート対象のインストール方法 | 
|---|---|
| Red Hat OpenShift Dedicated (OSD) | |
| Azure Red Hat OpenShift (ARO) | |
| Red Hat OpenShift Service on AWS (ROSA) | |
| Amazon Elastic Kubernetes Service (Amazon EKS) | |
| Google Kubernetes Engine (Google GKE) | |
| Microsoft Azure Kubernetes Service (Microsoft AKS) | 
第3章 Operator を使用したインストール
Red Hat Advanced Cluster Security for Kubernetes (RHACS) は、OpenShift Container Platform または Kubernetes クラスターに一連のサービスをインストールします。このセクションでは、Operator を使用して OpenShift Container Platform または Kubernetes クラスターに Red Hat Advanced Cluster Security for Kubernetes をインストールするための手順について説明します。
インストールする前に:
Red Hat Advanced Cluster Security for Kubernetes Operator には、次の 2 つのカスタムリソースが含まれています。
- Central- Central リソースは、次のサービスの論理グループです。- Central Central は、Red Hat Advanced Cluster Security for Kubernetes のアプリケーション管理インターフェイスとサービスです。データの永続性、API インタラクション、およびユーザーインターフェイス (RHACS ポータル) アクセスを処理します。同じ Central インスタンスを使用して、複数の OpenShift Container Platform または Kubernetes クラスターをセキュリティー保護できます。
- Scanner: Scanner は、コンテナーイメージとそれに関連するデータベースをスキャンするために Red Hat が開発および認定した脆弱性 Scanner です。すべてのイメージレイヤーを分析して、Common Vulnerabilities and Exposures (CVE) リストから既知の脆弱性をチェックします。Scanner は、パッケージマネージャーによってインストールされたパッケージおよび複数のプログラミング言語の依存関係の脆弱性も識別します。
 
- SecuredCluster- セキュアなクラスターリソースは、次のサービスの論理グループです。- Sensor: Sensor は、クラスターの分析と監視を担当するサービスです。これは、ポリシーの検出と適用のために OpenShift Container Platform または Kubernetes API サーバーとの対話を処理し、Collector と連携します。
- Collector: Collector は、クラスターノード上のコンテナーアクティビティーを分析および監視します。コンテナーのランタイムとネットワークアクティビティーに関する情報を収集します。次に、収集したデータを Sensor. に送信します。
- Admission Control: アドミッションコントローラーは、ユーザーが Red Hat Advanced Cluster Security for Kubernetes のセキュリティーポリシーに違反するワークロードを作成するのを防ぎます。
 
次の手順は、Operator を使用して Red Hat Advanced Cluster Security for Kubernetes をインストールするためのハイレベルなワークフローを表しています。
- Central をインストールする先のクラスターの OperatorHub から Red Hat Advanced Cluster Security for Kubernetes Operator をインストールします。
- 
					Centralカスタムリソースを設定してデプロイします。
- init バンドルを生成して適用します。init バンドルには、Central とセキュアなクラスター間のリンクを提供するシークレットが含まれています。
- 監視するすべてのクラスターに、Red Hat Advanced Cluster Security for Kubernetes Operator をインストールします。
- 
					監視する各クラスターに SecuredClusterカスタムリソースを設定し、デプロイします。
3.1. Red Hat Advanced Cluster Security for Kubernetes Operator のインストール
OpenShift Container Platform に同梱される OperatorHub を使用するのが、Red Hat Advanced Cluster Security for Kubernetes をインストールする最も簡単な方法です。
前提条件
- Operator インストールパーミッションを持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできること。
- OpenShift Container Platform 4.6 以降を使用している必要がある。
手順
- Web コンソールで、Operators → OperatorHub ページに移動します。
- Red Hat Advanced Cluster Security for Kubernetes が表示されない場合は、Filter by keyword ボックスに Advanced Cluster Security と入力して、Red Hat Advanced Cluster Security for Kubernetes Operator を検索します。
- 詳細ページを表示するには、Red Hat Advanced Cluster Security for Kubernetes Operator を 選択します。
- Operator についての情報を確認してから、Install をクリックします。
- Install Operator ページで以下を行います。 - Installation mode のデフォルト値を All namespaces on the cluster として保持します。
- Installed namespace フィールドの Operator をインストールする特定の namespace を選択します。Red Hat は、rhacs-operator namespace に Red Hat Advanced Cluster Security for Kubernetes Operator をインストールすることを推奨します。
- Update approval には、自動更新または手動更新を選択します。 - 自動更新を選択した場合、Operator の新しいバージョンが利用可能になると、Operator Lifecycle Manager (OLM) は Operator の実行中のインスタンスを自動的にアップグレードします。 - 手動による更新を選択する場合は、新しいバージョンの Operator が利用可能になると、OLM は更新リクエストを作成します。クラスター管理者は、Operator を新規バージョンに更新できるように OLM 更新リクエストを手動で承認する必要があります。 重要- 手動更新を選択した場合、Central がインストールされているクラスターで RHACS Operator を更新するときに、すべてのセキュアなクラスターで RHACS Operator を更新する必要があります。セキュアなクラスターと、Central がインストールされているクラスターは、最適な機能を確保するために同じバージョンである必要があります。 
 
- Install をクリックします。
検証
- インストールが完了したら、Operators → Installed Operators に移動して、Red Hat Advanced Cluster Security for Kubernetes Operator が Succeeded のステータスで一覧表示されていることを確認します。
次の手順
- 
						Centralカスタムリソースをインストール、設定、およびデプロイします。
3.2. Central のインストール
				Red Hat Advanced Cluster Security for Kubernetes の主要コンポーネントは Central と呼ばれます。Central カスタムリソースを使用して、OpenShift Container Platform に Central をインストールできます。Central は 1 回だけデプロイし、同じ Central インストールを使用して複数の個別のクラスターをモニターできます。
			
					Red Hat Advanced Cluster Security for Kubernetes を初めてインストールする場合、SecuredCluster カスタムリソースのインストールは Central が生成する証明書に依存するため、最初に Central カスタムリソースをインストールする必要があります。
				
前提条件
- OpenShift Container Platform 4.6 以降を使用している必要がある。
手順
- OpenShift Container Platform Web コンソールで、Operators → Installed Operators ページに移動します。
- インストールされている Operator のリストから、Red Hat Advanced Cluster Security for Kubernetes Operator を選択します。
- 推奨される namespace に Operator をインストールした場合、OpenShift Container Platform はプロジェクトを - rhacs-operatorとしてリストします。Project: rhacs-operator を選択し → Create project を選択します。警告- 
									別の namespace に Operator をインストールした場合、OpenShift Container Platform は rhacs-operatorではなくその namespace の名前を表示します。
- 
									Red Hat Advanced Cluster Security for Kubernetes Centralカスタムリソースは、rhacs-operatorおよびopenshift-operatorプロジェクトではなく、独自のプロジェクト、または Red Hat Advanced Cluster Security for Kubernetes Operator をインストールしたプロジェクトにインストールする必要があります。
 
- 
									別の namespace に Operator をインストールした場合、OpenShift Container Platform は 
- 
						新しいプロジェクト名 (たとえば、stackrox) を入力し、Create をクリックします。Red Hat では、プロジェクト名としてstackroxを使用することをお勧めします。
- Provided APIs セクションで、Central を選択します。Create Central をクリックします。
- 
						Centralカスタムリソースの名前を入力し、適用するラベルを追加します。それ以外の場合は、使用可能なオプションのデフォルト値を受け入れます。
- Create をクリックします。
クラスター全体のプロキシーを使用している場合、Red Hat Advanced Cluster Security for Kubernetes は、そのプロキシー設定を使用して外部サービスに接続します。
次のステップ
- Central インストールを確認します。
- オプション: Central オプションを設定します。
- init バンドルを生成します。
3.3. Central インストールの確認
Central のインストールが完了したら、RHACS ポータルにログインして、Central が正常にインストールされたことを確認します。
手順
- OpenShift Container Platform Web コンソールで、Operators → Installed Operators ページに移動します。
- インストールされている Operator のリストから、Red Hat Advanced Cluster Security for Kubernetes Operator を選択します。
- Central タブを選択します。
- 
						Centrals リストから、stackrox-central-servicesを選択して詳細を表示します。
- adminユーザーのパスワードを取得するには、以下のいずれかを行います。- Admin Password Secret Reference のリンクをクリックします。
- OpenShift Container Platform CLI を使用して、Admin Credentials Info に一覧表示されているコマンドを入力します。 - oc -n stackrox get secret central-htpasswd -o go-template='{{index .data "password" | base64decode}}'- $ oc -n stackrox get secret central-htpasswd -o go-template='{{index .data "password" | base64decode}}'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- OpenShift Container Platform CLI コマンドを使用して、RHACS ポータルへのリンクを見つけます。 - oc -n stackrox get route central -o jsonpath="{.status.ingress[0].host}"- $ oc -n stackrox get route central -o jsonpath="{.status.ingress[0].host}"- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - または、Red Hat Advanced Cluster Security for Kubernetes Web コンソールを使用して、次のコマンドを実行することにより、RHACS ポータルへのリンクを見つけることができます。 - Networking → Routes に移動します。
- central ルートを見つけて、Location 列の下にある RHACS ポータルリンクをクリックします。
 
- 
						ユーザー名 admin と、前の手順で取得したパスワードを使用して、RHACS ポータルにログインします。Red Hat Advanced Cluster Security for Kubernetes が完全に設定されるまで (たとえば、Centralリソースと少なくとも 1 つのSecuredClusterリソースがインストールおよび設定されている場合)、ダッシュボードにデータはありません。SecuredClusterリソースは、Centralリソースと同じクラスターにインストールおよび設定できます。SecuredClusterリソースを備えたクラスターは、Red Hat Advanced Cluster Management (RHACM) のマネージドクラスターに似ています。
次のステップ
- オプション: central 設定を設定します。
- 
						CentralリソースとSecuredClusterリソース間の通信を可能にするクラスターシークレットを含む init バンドルを生成します。このバンドルをダウンロードし、それを使用してセキュリティー保護するクラスター上にリソースを生成し、安全に保存する必要があります。
3.4. Central 設定オプション
				Central インスタンスを作成すると、Operator は Central カスタムリソースの次の設定オプションを一覧表示します。
			
3.4.1. Central 設定
| パラメーター | 説明 | 
|---|---|
| 
									 | 
									 | 
| 
									 | デフォルトでは、Central は内部 TLS 証明書のみを提供します。つまり、入力レベルまたはロードバランサーレベルで TLS termination を処理する必要があります。Central で TLS を終了し、カスタムサーバー証明書を提供する場合は、証明書と秘密鍵を含むシークレットを指定できます。 | 
| 
									 | 
									管理者パスワードの自動生成を無効にするには、このパラメーターを  | 
| 
									 | ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Central の taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 | 
| 
									 | 
									ロードバランサーを介して Central を公開するには、これを  | 
| 
									 | このパラメーターを使用して、ロードバランサーのカスタムポートを指定します。 | 
| 
									 | このパラメーターを使用して、ロードバランサー用に予約されている静的 IP アドレスを指定します。 | 
| 
									 | 
									これを  | 
| 
									 | 
									これを  | 
| 
									 | これを使用して、明示的なノードポートを指定します。 | 
| 
									 | このコンポーネントを特定のノードでのみ実行する場合は、このパラメーターを使用してノードセレクターを設定できます。 | 
| 
									 | ホスト上のディレクトリーに永続データを保存するためのホストパスを指定します。Red Hat はこれの使用を推奨していません。ホストパスを使用する必要がある場合は、ノードセレクターで使用する必要があります。 | 
| 
									 | 
									永続データを管理するための PVC の名前。指定された名前の PVC が存在しない場合は、作成されます。設定されていない場合、デフォルト値は  | 
| 
									 | クレームを通じて作成されたときの永続ボリュームのサイズ。これはデフォルトで自動的に生成されます。 | 
| 
									 | PVC に使用するストレージクラスの名前。クラスターがデフォルトのストレージクラスで設定されていない場合は、このパラメーターの値を指定する必要があります。 | 
| 
									 | このパラメーターを使用して、Central のデフォルトのリソース制限をオーバーライドします。 | 
| 
									 | このパラメーターを使用して、Central のデフォルトのリソースリクエストをオーバーライドします。 | 
| 
									 | このパラメーターを使用して、Central イメージのイメージプルシークレットを指定します。 | 
3.4.2. Scanner 設定
| パラメーター | 説明 | 
|---|---|
| 
									 | この Scanner を特定のノードでのみ実行する場合は、このパラメーターを使用してノードセレクターを設定できます。 | 
| 
									 | ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Scanner の taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 | 
| 
									 | このパラメーターを使用して、scanner のデフォルトのリソース制限をオーバーライドします。 | 
| 
									 | このパラメーターを使用して、scanner のデフォルトのリソースリクエストをオーバーライドします。 | 
| 
									 | 有効にすると、アナライザーレプリカの数は、指定された範囲内で、負荷に応じて動的に管理されます。 | 
| 
									 | アナライザーの自動スケーリング設定で使用するレプリカの最大数を指定します | 
| 
									 | アナライザーの自動スケーリング設定で使用する最低限のレプリカを指定します | 
| 
									 | 自動スケーリングが無効になっている場合、レプリカの数は常にこの値に一致するように設定されます。 | 
| 
									 | このコンポーネントを特定のノードでのみ実行する場合は、このパラメーターを使用してノードセレクターを設定できます。 | 
| 
									 | ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Scanner DB の taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 | 
| 
									 | このパラメーターを使用して、scanner のデフォルトのリソース制限をオーバーライドします。 | 
| 
									 | このパラメーターを使用して、scanner のデフォルトのリソースリクエストをオーバーライドします。 | 
| 
									 | Scanner をデプロイしない場合は、このパラメーターを使用して Scanner を無効にできます。Scanner を無効にすると、このセクションの他のすべての設定は effect を持ちません。Red Hat は、Red Hat Advanced Cluster Security for Kubernetes Scanner を無効にすることを推奨していません。 | 
3.4.3. 一般およびその他の設定
| パラメーター | 説明 | 
|---|---|
| 
									 | セキュリティーで保護されたクラスターが信頼する追加の Trusted CA 証明書。これは通常、プライベート認証局を使用してサービスと統合するときに使用されます。 | 
| 
									 | 
									Central の  | 
3.5. init バンドルの生成
				SecuredCluster リソースをクラスターにインストールする前に、init バンドルを作成する必要があります。SecuredCluster がインストールおよび設定されているクラスターは、このバンドルを使用して Central で認証します。
			
RHACS ポータル (推奨) を使用するか、roxctl CLI を使用して、init バンドルを作成できます。
3.5.1. RHACS ポータルを使用した init バンドルの生成
RHACS ポータルを使用して、シークレットを含む init バンドルを作成できます。
手順
- 公開方法に基づいて RHACS ポータルのアドレスを見つけます。 - ルートの場合。 - oc get route central -n stackrox - $ oc get route central -n stackrox- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- ロードバランサーの場合。 - oc get service central-loadbalancer -n stackrox - $ oc get service central-loadbalancer -n stackrox- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- port forward の場合: - 以下のコマンドを実行します。 - oc port-forward svc/central 18443:443 -n stackrox - $ oc port-forward svc/central 18443:443 -n stackrox- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 
											https://localhost:18443/に移動します。
 
 
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- Authentication Tokens セクションに移動し、Cluster Init Bundle をクリックします。
- Generate bundle をクリックします。
- クラスター初期化バンドルの名前を入力し、Generate をクリックします。
- 生成されたバンドルをダウンロードするには、Download Kubernetes Secret File をクリックします。
このバンドルにはシークレットが含まれているため、セキュアに保管してください。同じバンドルを使用して、複数のセキュリティー保護されたクラスターを作成できます。
次の手順
- OpenShift Container Platform CLI を使用して、init バンドルを使用してリソースを作成します。
- モニターするすべてのクラスターに Red Hat Cluster Security for Kubernetes をインストールします。
3.5.2. roxctl CLI を使用した init バンドルの生成
					roxctl CLI を使用して、シークレットを含む init バンドルを作成できます。
				
前提条件
						ROX_API_TOKEN および ROX_CENTRAL_ADDRESS 環境変数を設定しました。
					
- ROX_API_TOKENおよび- ROX_CENTRAL_ADDRESS環境変数を設定します。- export ROX_API_TOKEN=<api_token> - $ export ROX_API_TOKEN=<api_token>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - export ROX_CENTRAL_ADDRESS=<address>:<port_number> - $ export ROX_CENTRAL_ADDRESS=<address>:<port_number>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
手順
- 次のコマンドを実行して、シークレットを含むクラスター初期化バンドルを生成します。 - roxctl -e "$ROX_CENTRAL_ADDRESS" \ central init-bundles generate <cluster_init_bundle_name> \ --output-secrets cluster_init_bundle.yaml - $ roxctl -e "$ROX_CENTRAL_ADDRESS" \ central init-bundles generate <cluster_init_bundle_name> \ --output-secrets cluster_init_bundle.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
このバンドルにはシークレットが含まれているため、安全に保管してください。同じバンドルを使用して、複数のセキュリティー保護されたクラスターを設定できます。
3.6. init バンドルを使用したリソースの作成
セキュアなクラスターをインストールする前に、init バンドルを使用して、セキュアなクラスター上のサービスが Central と通信できるようにする必要なリソースをクラスター上に作成する必要があります。
前提条件
- シークレットを含む init バンドルを生成している必要があります。
手順
- OpenShift Container Platform CLI を使用して、以下のコマンドを実行してリソースを作成します。 - oc create -f <init_bundle>.yaml \ -n <stackrox> - $ oc create -f <init_bundle>.yaml \- 1 - -n <stackrox>- 2 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
次の手順
- モニターするすべてのクラスターに Red Hat Cluster Security for Kubernetes をインストールします。
3.7. セキュアなクラスターサービスのインストール
				SecuredCluster カスタムリソースを使用して、セキュアなクラスターサービスをクラスターにインストールできます。モニターする環境内のすべてのクラスターに、セキュリティーでセキュアなクラスターサービスをインストールする必要があります。
			
Unified Extensible Firmware Interface (UEFI) があり、Secure Boot が有効になっているシステムに Collector をインストールするには、カーネルモジュールが署名されておらず、UEFI ファームウェアが署名されていないパッケージをロードできないため、eBPF プローブを使用する必要があります。Collector は、開始時に Secure Boot ステータスを識別し、必要に応じて eBPF プローブに切り替えます。
前提条件
- OpenShift Container Platform 4.6 以降を使用している必要がある。
- init バンドルを生成し、init バンドルを使用して必要なリソースをすでに作成している必要があります。
手順
- OpenShift Container Platform Web コンソールで、Operators → Installed Operators ページに移動します。
- インストールされている Operator のリストから、Red Hat Advanced Cluster Security for Kubernetes Operator を選択します。
- デフォルトでは、OpenShift Container Platform はプロジェクトを - rhacs-operatorとしてリストします。Project: rhacs-operator を選択し → Create project を選択します。警告- Red Hat Advanced Cluster Security for Kubernetes - SecuredClusterリソースは、デフォルトの- openshift-operatorsプロジェクトではなく、独自のプロジェクトにインストールする必要があります。
- 新しいプロジェクト名を stackrox またはその他の名前で入力し、Create をクリックします。
- Provided APIs セクションで、Secured Cluster を選択します。
- Create SecuredCluster 選択します。
- 
						SecuredClusterカスタムリソースの名前を入力します。
- 
						Central Endpoint には、Central インスタンスのアドレスとポート番号を入力します。たとえば、Central が https://central.example.comで利用できる場合は、central エンドポイントをcentral.example.com:443として指定します。デフォルト値のcentral.stackrox.svc:443は、セキュアなクラスターサービスと Central を同じクラスターにインストールした場合にのみ機能します。
- デフォルト値を受け入れるか、使用可能なオプションのカスタム値を設定します。
- Create をクリックします。
次のステップ
- オプション: 追加のセキュアなクラスター設定を設定します。
- Red Hat Advanced Cluster Security for Kubernete のインストールを確認します。
3.8. セキュアなクラスター設定オプション
				Central インスタンスを作成すると、Operator は Central カスタムリソースの次の設定オプションを一覧表示します。
			
3.8.1. 必要な設定
| パラメーター | 説明 | 
|---|---|
| 
									 | 
									ポート番号を含む、接続する Central インスタンスのエンドポイント。gRPC に対応していないロードバランサーを使用している場合は、エンドポイントアドレスの前に  | 
| 
									 | RHACS ポータルに表示されるこのクラスターの一意の名前。このパラメーターを使用して名前を設定した後は、名前を再度変更することはできません。名前を変更するには、オブジェクトを削除して再作成する必要があります。 | 
3.8.2. 受付コントローラーの設定
| パラメーター | 説明 | 
|---|---|
| 
									 | 
									オブジェクト作成の予防ポリシーの適用を有効にするには、 | 
| 
									 | 
									 | 
| 
									 | 
									オブジェクトの更新に対する予防ポリシーの適用を有効にするには、 | 
| 
									 | このコンポーネントを特定のノードでのみ実行する場合は、このパラメーターを使用してノードセレクターを設定できます。 | 
| 
									 | ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、アドミッションコントロールの taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 | 
| 
									 | このパラメーターを使用して、アドミッションコントローラーのデフォルトのリソース制限をオーバーライドします。 | 
| 
									 | このパラメーターを使用して、アドミッションコントローラーのデフォルトのリソースリクエストをオーバーライドします。 | 
| 
									 | 以下のいずれかの値を使用して、受付コントローラーの適用のバイパスを設定します。 
 
									デフォルト値は  | 
| 
									 | 次のいずれかの値を使用して、アドミッションコントローラーをイメージ Scanner に接続する必要があるかどうかを指定します。 
 
									デフォルト値は  | 
| 
									 | このパラメーターを使用して、Red Hat Advanced Cluster Security for Kubernetes がフェールオープンとしてマークする前にアドミッションレビューを待機する必要がある最大秒数を指定します。 | 
3.8.3. Scanner 設定
Scanner 設定を使用して、OpenShift Container Registry (OCR) のローカルクラスター Scanner を変更します。
| パラメーター | 説明 | 
|---|---|
| 
									 | 
									ノードセレクターラベルを  | 
| 
									 | Scanner コンテナーのメモリーリクエスト。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
									 | Scanner コンテナーの CPU リクエスト。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
									 | Scanner コンテナーのメモリー制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
									 | Scanner コンテナーの CPU 制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
									 | 
									このオプションを  | 
| 
									 | 
									自動スケーリングのレプリカの最小数です。デフォルト値は  | 
| 
									 | 
									自動スケーリングのレプリカの最大数です。デフォルト値は  | 
| 
									 | 
									レプリカのデフォルト数。デフォルト値は  | 
| 
									 | ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Scanner の taint toleration キー、値、および effect を指定します。 | 
| 
									 | 
									ノードセレクターラベルを  | 
| 
									 | Scanner DB コンテナーのメモリーリクエスト。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
									 | Scanner DB コンテナーの CPU リクエスト。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
									 | Scanner DB コンテナーのメモリー制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
									 | Scanner DB コンテナーの CPU 制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
									 | ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Scanner DB の taint toleration キー、値、および effect を指定します。 | 
| 
									 | 
									このオプションを  | 
3.8.4. イメージ設定
カスタムレジストリーを使用している場合は、イメージ設定を使用します。
| パラメーター | 説明 | 
|---|---|
| 
									 | イメージをプルするために考慮される追加のイメージプルシークレット。 | 
3.8.5. ノードごとの設定
ノードごとの設定は、クラスターをセキュリティー保護するためにクラスター内の各ノードで実行されるコンポーネントの設定を定義します。これらのコンポーネントは、Collector と Compliance です。
| パラメーター | 説明 | 
|---|---|
| 
									 | 
									システムレベルのデータ収集の方法。デフォルト値は  | 
| 
									 | 
									Collector に使用するイメージのタイプ。 | 
| 
									 | このパラメーターを使用して、Collector のデフォルトのリソース制限をオーバーライドします。 | 
| 
									 | このパラメーターを使用して、Collector のデフォルトのリソースリクエストをオーバーライドします。 | 
| 
									 | このパラメーターを使用して、Compliance のデフォルトのリソースリクエストをオーバーライドします。 | 
| 
									 | このパラメーターを使用して、Compliance のデフォルトのリソース制限をオーバーライドします。 | 
3.8.6. Taint Tolerations の設定
| パラメーター | 説明 | 
|---|---|
| 
									 | 
									クラスターアクティビティーを包括的にモニターリングするために、Red Hat Advanced Cluster Security for Kubernetes は、デフォルトで taint されたノードを含む、クラスター内のすべてのノードでサービスを実行します。この動作を望まない場合は、このパラメーターに  | 
3.8.7. Sensor 設定
この設定は、クラスター内の 1 つのノードで実行される Sensor コンポーネントの設定を定義します。
| パラメーター | 説明 | 
|---|---|
| 
									 | Sensor を特定のノードでのみ実行する場合は、ノードセレクターを設定できます。 | 
| 
									 | ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Sensor の taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 | 
| 
									 | このパラメーターを使用して、Sensor のデフォルトのリソース制限をオーバーライドします。 | 
| 
									 | このパラメーターを使用して、Sensor のデフォルトのリソースリクエストをオーバーライドします。 | 
3.8.8. 一般およびその他の設定
| パラメーター | 説明 | 
|---|---|
| 
									 | セキュアなクラスター用の追加の信頼できる CA 証明書。これらの証明書は、プライベート認証局を使用してサービスと統合するときに使用されます。 | 
| 
									 | 
									Central の SCC を作成するには、これを  | 
| 
									 | Central デプロイメントのカスタムアノテーションを指定できます。 | 
| 
									 | 環境変数を設定するための詳細設定。 | 
| 
									 | Red Hat Advanced Cluster Security for Kubernetes をオンラインモードとオフラインモードのどちらで実行するかを設定します。オフラインモードでは、脆弱性定義とカーネルモジュールの自動更新は無効になります。 | 
3.9. インストールの検証
インストールが完了したら、いくつかの脆弱なアプリケーションを実行し、RHACS ポータルに移動して、セキュリティー評価とポリシー違反の結果を評価します。
次のセクションにリストされているサンプルアプリケーションには重大な脆弱性が含まれており、Red Hat Advanced Cluster Security for Kubernetes のビルドおよびデプロイ時の評価機能を検証するように特別に設計されています。
インストールの検証
- 公開方法に基づいて RHACS ポータルのアドレスを見つけます。 - ルートの場合。 - oc get route central -n stackrox - $ oc get route central -n stackrox- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- ロードバランサーの場合。 - oc get service central-loadbalancer -n stackrox - $ oc get service central-loadbalancer -n stackrox- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- port forward の場合: - 以下のコマンドを実行します。 - oc port-forward svc/central 18443:443 -n stackrox - $ oc port-forward svc/central 18443:443 -n stackrox- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 
										https://localhost:18443/に移動します。
 
 
- OpenShift Container Platform CLI を使用して、新しいプロジェクトを作成します。 - oc new-project test - $ oc new-project test- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 重大な脆弱性を持ついくつかのアプリケーションを開始します。 - oc run shell --labels=app=shellshock,team=test-team \ --image=vulnerables/cve-2014-6271 -n test oc run samba --labels=app=rce \ --image=vulnerables/cve-2017-7494 -n test - $ oc run shell --labels=app=shellshock,team=test-team \ --image=vulnerables/cve-2014-6271 -n test $ oc run samba --labels=app=rce \ --image=vulnerables/cve-2017-7494 -n test- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
Red Hat Advanced Cluster Security for Kubernetes は、これらのデプロイメントがクラスターに送信されるとすぐに、これらのデプロイメントを自動的にスキャンしてセキュリティーリスクとポリシー違反を検出します。RHACS ポータルに移動して、違反を表示します。デフォルトのユーザー名 admin と生成されたパスワードを使用して RHACS ポータルにログインできます。
3.10. 新規クラスターの RHACS への追加
Red Hat Advanced Cluster Security for Kubernetes にクラスターを追加するには、追加するすべてのクラスターに Red Hat Advanced Cluster Security for Kubernetes Operator をインストールする必要があります。
以下の手順は、Red Hat Advanced Cluster Security for Kubernetes にクラスターを追加するための概要フローを示しています。
- クラスターに Red Hat Advanced Cluster Security for Kubernetes Operator をインストールする。
- 既存の init バンドルを使用するか、または 新規の init バンドルを生成する。
- init バンドルを使用してクラスターにリソースを作成する。
- セキュリティー保護されたクラスターサービスをクラスターにインストールする。
第4章 Helm チャートを使用したインストール
4.1. Helm チャートを使用した迅速なインストール
Red Hat Advanced Cluster Security for Kubernetes は、OpenShift Container Platform クラスターに一連のサービスをインストールします。このトピックでは、カスタマイズなしで OpenShift Container Platform クラスターに Red Hat Advanced Cluster Security for Kubernetes をインストールするための手順について説明します。
次の手順は、Red Hat Advanced Cluster Security for Kubernetes をすばやくインストールするためのハイレベルなインストールフローを表しています。
インストールする前に:
4.1.1. Helm チャートリポジトリーの追加
手順
- Red Hat Advanced Cluster Security for Kubernetes チャートリポジトリーを追加します。 - helm repo add rhacs https://mirror.openshift.com/pub/rhacs/charts/ - $ helm repo add rhacs https://mirror.openshift.com/pub/rhacs/charts/- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Red Hat Advanced Cluster Security for Kubernetes の Helm リポジトリーには、異なるコンポーネントをインストールするための 2 つの Helm チャートが含まれています。 - 集中型コンポーネント (Central および Scanner) をインストールするためのセントラルサービス Helm チャート ( - central-services)。注記- 一元化されたコンポーネントを 1 回だけデプロイし、同じインストールを使用して複数の個別のクラスターをモニターできます。 
- クラスターごと (Sensor および Admission Controller) およびノードごと (Collector) のコンポーネントをインストールするための Secured Cluster Services Helm チャート ( - secured-cluster-services)。注記- モニターする各クラスターにクラスターごとのコンポーネントをデプロイし、モニターするすべてのノードにノードごとのコンポーネントをデプロイします。 
 
検証
- 次のコマンドを実行して、追加されたチャートリポジトリーを確認します。 - helm search repo -l rhacs/ - $ helm search repo -l rhacs/- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
4.1.2. カスタマイズせずにセントラルサービス Helm チャートをインストールする
					次の手順を使用して、Central-Services Helm チャートをインストールし、集中型コンポーネント (Central および Scanner) をデプロイします。
				
手順
- 次のコマンドを実行して Central services をインストールし、ルートを使用して Central を公開します。 - helm install -n stackrox \ --create-namespace stackrox-central-services rhacs/central-services \ --set imagePullSecrets.allowNone=true \ --set central.exposure.route.enabled=true - $ helm install -n stackrox \ --create-namespace stackrox-central-services rhacs/central-services \ --set imagePullSecrets.allowNone=true \ --set central.exposure.route.enabled=true- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- または、次のコマンドを実行して Central services をインストールし、ロードバランサーを使用して Central を公開します。 - helm install -n stackrox \ --create-namespace stackrox-central-services rhacs/central-services \ --set imagePullSecrets.allowNone=true \ --set central.exposure.loadBalancer.enabled=true - $ helm install -n stackrox \ --create-namespace stackrox-central-services rhacs/central-services \ --set imagePullSecrets.allowNone=true \ --set central.exposure.loadBalancer.enabled=true- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- または、次のコマンドを実行して Central services をインストールし、port forward を使用して Central を公開します。 - helm install -n stackrox \ --create-namespace stackrox-central-services rhacs/central-services \ --set imagePullSecrets.allowNone=true - $ helm install -n stackrox \ --create-namespace stackrox-central-services rhacs/central-services \ --set imagePullSecrets.allowNone=true- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
						外部サービスに接続するためにプロキシーが必要なクラスターに Red Hat Cluster Security for Kubernetes をインストールする場合は、proxyConfig パラメーターを使用してプロキシー設定を指定する必要があります。以下に例を示します。
					
インストールコマンドの出力は次のとおりです。
- 自動的に生成された管理者パスワード。
- すべての設定値を保存するための手順。
- Helm が生成する警告。
4.1.3. init バンドルの生成
					SecuredCluster リソースをクラスターにインストールする前に、init バンドルを作成する必要があります。SecuredCluster がインストールおよび設定されているクラスターは、このバンドルを使用して Central で認証します。
				
4.1.3.1. roxctl CLI を使用した init バンドルの生成
						roxctl CLI を使用して、シークレットを含む init バンドルを作成できます。
					
前提条件
							ROX_API_TOKEN および ROX_CENTRAL_ADDRESS 環境変数を設定しました。
						
- ROX_API_TOKENおよび- ROX_CENTRAL_ADDRESS環境変数を設定します。- export ROX_API_TOKEN=<api_token> - $ export ROX_API_TOKEN=<api_token>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - export ROX_CENTRAL_ADDRESS=<address>:<port_number> - $ export ROX_CENTRAL_ADDRESS=<address>:<port_number>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
手順
- 次のコマンドを実行して、シークレットを含むクラスター初期化バンドルを生成します。 - roxctl -e "$ROX_CENTRAL_ADDRESS" \ central init-bundles generate <cluster_init_bundle_name> \ --output cluster_init_bundle.yaml - $ roxctl -e "$ROX_CENTRAL_ADDRESS" \ central init-bundles generate <cluster_init_bundle_name> \ --output cluster_init_bundle.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
roxctl -e "$ROX_CENTRAL_ADDRESS" \ central init-bundles generate <cluster_init_bundle_name> \ --output-secrets cluster_init_bundle.yaml
$ roxctl -e "$ROX_CENTRAL_ADDRESS" \
  central init-bundles generate <cluster_init_bundle_name> \
  --output-secrets cluster_init_bundle.yamlこのバンドルにはシークレットが含まれているため、安全に保管してください。同じバンドルを使用して、複数のセキュリティー保護されたクラスターを設定できます。
4.1.4. カスタマイズせずに secured-cluster-services Helm チャートをインストールする
					次の手順を使用して、secured-cluster-services Helm チャートをインストールし、クラスターごとおよびノードごとのコンポーネント (Sensor、Admission Controller、および Collector) をデプロイします。
				
Unified Extensible Firmware Interface (UEFI) があり、Secure Boot が有効になっているシステムに Collector をインストールするには、カーネルモジュールが署名されておらず、UEFI ファームウェアが署名されていないパッケージをロードできないため、eBPF プローブを使用する必要があります。Collector は、開始時に Secure Boot ステータスを識別し、必要に応じて eBPF プローブに切り替えます。
前提条件
- Central service を公開するアドレスとポート番号が必要です。
手順
- 他の Kubernetes ベースのクラスターで次のコマンドを実行します。 - helm install -n stackrox --create-namespace \ stackrox-secured-cluster-services rhacs/secured-cluster-services \ -f <path_to_cluster_init_bundle.yaml> \ --set clusterName=<name_of_the_secured_cluster> \ --set centralEndpoint=<endpoint_of_central_service>- $ helm install -n stackrox --create-namespace \ stackrox-secured-cluster-services rhacs/secured-cluster-services \ -f <path_to_cluster_init_bundle.yaml> \- 1 - --set clusterName=<name_of_the_secured_cluster> \ --set centralEndpoint=<endpoint_of_central_service>- 2 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- OpenShift Container Platform クラスターで以下のコマンドを実行します。 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
4.1.5. インストールの検証
インストールが完了したら、いくつかの脆弱なアプリケーションを実行し、RHACS ポータルに移動して、セキュリティー評価とポリシー違反の結果を評価します。
次のセクションにリストされているサンプルアプリケーションには重大な脆弱性が含まれており、Red Hat Advanced Cluster Security for Kubernetes のビルドおよびデプロイ時の評価機能を検証するように特別に設計されています。
インストールの検証
- 公開方法に基づいて RHACS ポータルのアドレスを見つけます。 - ルートの場合。 - oc get route central -n stackrox - $ oc get route central -n stackrox- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- ロードバランサーの場合。 - oc get service central-loadbalancer -n stackrox - $ oc get service central-loadbalancer -n stackrox- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- port forward の場合: - 以下のコマンドを実行します。 - oc port-forward svc/central 18443:443 -n stackrox - $ oc port-forward svc/central 18443:443 -n stackrox- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 
											https://localhost:18443/に移動します。
 
 
- OpenShift Container Platform CLI を使用して、新しいプロジェクトを作成します。 - oc new-project test - $ oc new-project test- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 重大な脆弱性を持ついくつかのアプリケーションを開始します。 - oc run shell --labels=app=shellshock,team=test-team \ --image=vulnerables/cve-2014-6271 -n test oc run samba --labels=app=rce \ --image=vulnerables/cve-2017-7494 -n test - $ oc run shell --labels=app=shellshock,team=test-team \ --image=vulnerables/cve-2014-6271 -n test $ oc run samba --labels=app=rce \ --image=vulnerables/cve-2017-7494 -n test- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
Red Hat Advanced Cluster Security for Kubernetes は、これらのデプロイメントがクラスターに送信されるとすぐに、これらのデプロイメントを自動的にスキャンしてセキュリティーリスクとポリシー違反を検出します。RHACS ポータルに移動して、違反を表示します。デフォルトのユーザー名 admin と生成されたパスワードを使用して RHACS ポータルにログインできます。
4.2. Helm チャートを使用してカスタマイズしてインストールする
インストールフローの概要:
- Red Hat Advanced Cluster Security for Kubernetes Helm チャートリポジトリーを追加します。
- 
						central-servicesHelm チャートを設定します。
- 
						central-servicesHelm チャートをインストールして、集約コンポーネント (Central および Scanner) をインストールします。
- init バンドルを生成します。
- 
						secure-cluster-servicesHelm チャートを設定します。
- 
						secured-cluster-servicesHelm チャートをインストールし、クラスターごと および ノードごと のコンポーネント (Sensor、Admission Controller、および Collector) をインストールします。
インストールする前に:
4.2.1. Helm チャートリポジトリーの追加
手順
- Red Hat Advanced Cluster Security for Kubernetes チャートリポジトリーを追加します。 - helm repo add rhacs https://mirror.openshift.com/pub/rhacs/charts/ - $ helm repo add rhacs https://mirror.openshift.com/pub/rhacs/charts/- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Red Hat Advanced Cluster Security for Kubernetes の Helm リポジトリーには、異なるコンポーネントをインストールするための 2 つの Helm チャートが含まれています。 - 集中型コンポーネント (Central および Scanner) をインストールするためのセントラルサービス Helm チャート ( - central-services)。注記- 一元化されたコンポーネントを 1 回だけデプロイし、同じインストールを使用して複数の個別のクラスターをモニターできます。 
- クラスターごと (Sensor および Admission Controller) およびノードごと (Collector) のコンポーネントをインストールするための Secured Cluster Services Helm チャート ( - secured-cluster-services)。注記- モニターする各クラスターにクラスターごとのコンポーネントをデプロイし、モニターするすべてのノードにノードごとのコンポーネントをデプロイします。 
 
検証
- 次のコマンドを実行して、追加されたチャートリポジトリーを確認します。 - helm search repo -l rhacs/ - $ helm search repo -l rhacs/- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
4.2.2. セントラルサービス Helm チャートの設定
					このセクションでは、helm install および helm upgrade コマンドで使用できる Helm チャート設定パラメーターについて説明します。これらのパラメーターは、--set オプションを使用するか、YAML 設定ファイルを作成することで指定できます。
				
以下のファイルを作成して、Red Hat Advanced Cluster Security for Kubernetes をインストールするための Helm チャートを設定します。
- 
							パブリック設定ファイル values-public.yaml: このファイルを使用して、機密性の低いすべての設定オプションを保存します。
- 
							プライベート設定ファイル values-private.yaml: このファイルを使用して、機密性の高いすべての設定オプションを保存します。このファイルを安全に保管してください。
4.2.2.1. プライベート設定ファイル
						このセクションでは、values-private.yaml ファイルの設定可能なパラメーターをリストします。これらのパラメーターのデフォルト値はありません。
					
4.2.2.1.1. イメージプルのシークレット
レジストリーからイメージをプルするために必要な認証情報は、以下の要素によって異なります。
- カスタムレジストリーを使用している場合、以下のパラメーターを指定する必要があります。 - 
											imagePullSecrets.username
- 
											imagePullSecrets.password
- 
											image.registry
 
- 
											
- カスタムレジストリーへのログインにユーザー名とパスワードを使用しない場合は、以下のいずれかのパラメーターを指定する必要があります。 - 
											imagePullSecrets.allowNone
- 
											imagePullSecrets.useExisting
- 
											imagePullSecrets.useFromDefaultServiceAccount
 
- 
											
| パラメーター | 説明 | 
|---|---|
| 
											 | レジストリーへのログインに使用されるアカウントのユーザー名。 | 
| 
											 | レジストリーへのログインに使用されるアカウントのパスワード | 
| 
											 | 
											カスタムレジストリーを使用していて、クレデンシャルなしでイメージをプルできる場合は、 | 
| 
											 | 
											値としてのシークレットのコンマ区切りリスト。たとえば、 | 
| 
											 | 
											十分なスコープのイメージプルシークレットを使用してターゲット namespace にデフォルトのサービスアカウントをすでに設定している場合は、 | 
4.2.2.1.2. プロキシー設定
							外部サービスに接続するためにプロキシーが必要なクラスターに Red Hat Cluster Security for Kubernetes をインストールする場合は、proxyConfig パラメーターを使用してプロキシー設定を指定する必要があります。以下に例を示します。
						
| パラメーター | 説明 | 
|---|---|
| 
											 | プロキシー設定。 | 
4.2.2.1.3. Central
Central の設定可能なパラメーター。
新規インストールの場合、次のパラメーターをスキップできます。
- 
									central.jwtSigner.key
- 
									central.serviceTLS.cert
- 
									central.serviceTLS.key
- 
									central.adminPassword.value
- 
									central.adminPassword.htpasswd
- これらのパラメーターの値を指定しない場合、Helm チャートはそれらの値を自動生成します。
- 
									これらの値を変更する場合は、helm upgradeコマンドを使用し、--setオプションを使用して値を指定できます。
								管理者パスワードの設定には、central.adminPassword.value または central.adminPassword.htpasswd のいずれかのみを使用できますが、両方を使用することはできません。
							
| パラメーター | 説明 | 
|---|---|
| 
											 | Red Hat Advanced Cluster Security for Kubernetes が認証用の JSON Web トークン (JWT) に署名するために使用する必要がある秘密鍵。 | 
| 
											 | セントラルサービスが Central をデプロイするために使用する必要がある内部証明書。 | 
| 
											 | セントラルサービスが使用する必要がある内部証明書の秘密鍵。 | 
| 
											 | Central が使用する必要のあるユーザー向けの証明書。Red Hat Advanced Cluster Security for Kubernetes は、RHACS ポータルにこの証明書を使用します。 
 | 
| 
											 | Central が使用する必要のあるユーザー向け証明書の秘密鍵。 
 | 
| 
											 | Red Hat Advanced Cluster Security for Kubernetes にログインするための管理者パスワード。 | 
| 
											 | Red Hat Advanced Cluster Security for Kubernetes にログインするための管理者パスワード。このパスワードは、bcrypt を使用してハッシュ形式で保存されます。 | 
								Central.adminPassword.htpasswd パラメーターを使用している場合は、bcrypt でエンコードされたパスワードハッシュを使用する必要があります。コマンド htpasswd -nB admin を実行して、パスワードハッシュを生成できます。以下に例を示します。
							
htpasswd: | admin:<bcrypt-hash>
htpasswd: |
  admin:<bcrypt-hash>4.2.2.1.4. スキャナー
Scanner の設定可能なパラメーター。
新規インストールの場合、次のパラメーターをスキップでき、Helm チャートがそれらの値を自動生成します。それ以外の場合、新しいバージョンにアップグレードする場合は、以下のパラメーターの値を指定してください。
- 
									scanner.dbPassword.value
- 
									scanner.serviceTLS.cert
- 
									scanner.serviceTLS.key
- 
									scanner.dbServiceTLS.cert
- 
									scanner.dbServiceTLS.key
| パラメーター | 説明 | 
|---|---|
| 
											 | Scanner データベースでの認証に使用するパスワード。Red Hat Advanced Cluster Security for Kubernetes はその値を内部で自動的に作成して使用するため、このパラメーターは変更しないでください。 | 
| 
											 | Scanner サービスが Scanner のデプロイに使用する必要がある内部証明書。 | 
| 
											 | Scanner サービスが使用する必要がある内部証明書の秘密鍵。 | 
| 
											 | Scanner-db サービスが Scanner データベースをデプロイするために使用する必要がある内部証明書。 | 
| 
											 | Scanner-db サービスが使用する必要がある内部証明書の秘密鍵。 | 
4.2.2.2. パブリック設定ファイル
						このセクションでは、values-public.yaml ファイルの設定可能なパラメーターをリストします。
					
4.2.2.2.1. イメージプルのシークレット
イメージプルシークレットは、レジストリーからイメージをプルするために必要なクレデンシャルです。
| パラメーター | 説明 | 
|---|---|
| 
											 | 
											カスタムレジストリーを使用していて、クレデンシャルなしでイメージをプルできる場合は、 | 
| 
											 | 
											値としてのシークレットのコンマ区切りリスト。たとえば、 | 
| 
											 | 
											十分なスコープのイメージプルシークレットを使用してターゲット namespace にデフォルトのサービスアカウントをすでに設定している場合は、 | 
4.2.2.2.2. Image
							Image は、Helm チャートが central.image、scanner.image、および scanner.dbImage パラメーターのイメージを解決するために使用するメインレジストリーをセットアップするための設定を宣言します。
						
| パラメーター | 説明 | 
|---|---|
| 
											 | 
											イメージレジストリーのアドレス。 | 
4.2.2.2.3. 環境変数
							Red Hat Advanced Cluster Security for Kubernetes は、クラスター環境を自動的に検出し、env.openshift、env.istio、および env.platform の値を設定します。クラスター環境の自動検出をオーバーライドするには、これらの値のみを設定してください。
						
| パラメーター | 説明 | 
|---|---|
| 
											 | 
											OpenShift Container Platform クラスターにインストールし、クラスター環境の自動検出をオーバーライドする場合は、 | 
| 
											 | 
											 | 
| 
											 | 
											Red Hat Advanced Cluster Security for Kubernetes をインストールするプラットフォーム。その値を  | 
| 
											 | 
											オフラインモードで Red Hat Advanced Cluster Security for Kubernetes を使用するには、 | 
4.2.2.2.4. 追加の信頼された認証局
Red Hat Advanced Cluster Security for Kubernetes は、信頼するシステムルート証明書を自動的に参照します。Central または Scanner が、組織内の機関またはグローバルに信頼されているパートナー組織によって発行された証明書を使用するサービスに到達する必要がある場合、次のパラメーターを使用して信頼するルート認証局を指定することにより、これらのサービスの信頼を追加できます。
| パラメーター | 説明 | 
|---|---|
| 
											 | 信頼するルート認証局の PEM エンコード証明書を指定します。 | 
4.2.2.2.5. Central
Central の設定可能なパラメーター。
- 
									hostPathまたはPersistentVolumeClaimのいずれかとして永続ストレージオプションを指定する必要があります。
- 
									外部アクセス用の Central のデプロイメントを公開するため。1 つのパラメーター、central.exposure.loadBalancer、central.exposure.nodePort、またはcentral.exposure.routeのいずれかを指定する必要があります。これらのパラメーターに値を指定しない場合は、手動で Central を公開するか、ポート転送を使用して Central にアクセスする必要があります。
| パラメーター | 説明 | 
|---|---|
| 
											 | 
											 | 
| 
											 | Central のエンドポイント設定オプションです。 | 
| 
											 | ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Central の taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 | 
| 
											 | ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Central の taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 | 
| 
											 | 
											ポート番号  | 
| 
											 | 
											Central イメージのグローバル  | 
| 
											 | 
											デフォルトの Central イメージ名 ( | 
| 
											 | 
											Central イメージのデフォルトタグをオーバーライドするカスタムイメージタグです。新規インストール時に独自のイメージタグを指定した場合、 | 
| 
											 | 
											Central イメージのレジストリーアドレス、イメージ名、およびイメージタグを含む完全なリファレンスです。このパラメーターの値を設定すると、 | 
| 
											 | Central がデフォルト値をオーバーライドするためのメモリーリクエストです。 | 
| 
											 | Central がデフォルト値をオーバーライドするための CPU リクエストです。 | 
| 
											 | Central がデフォルト値をオーバーライドためのメモリー制限です。 | 
| 
											 | Central がデフォルト値をオーバーライドための CPU 制限です。 | 
| 
											 | Red Hat Advanced Cluster Security for Kubernetes がデータベースボリュームを作成する必要があるノード上のパスです。Red Hat はこのオプションの使用を推奨していません。 | 
| 
											 | 使用している永続ボリューム要求 (PVC) の名前です。 | 
| 
											 | 
											 | 
| 
											 | 指定された要求による管理対象の永続ボリュームのサイズ (GiB 単位) です。 | 
| 
											 | 
											ロードバランサーを使用して Central を公開するには、 | 
| 
											 | Central を公開するポート番号です。デフォルトのポート番号は 443 です。 | 
| 
											 | 
											 | 
| 
											 | Central を公開するポート番号です。このパラメーターをスキップすると、OpenShift Container Platform は自動的にポート番号を割り当てます。Red Hat では、ノードポートを使用して Red Hat Advanced Cluster Security for Kubernetes を公開する場合、ポート番号を指定しないことを推奨しています。 | 
| 
											 | 
											ルートを使用して Central を公開するには、 | 
4.2.2.2.6. スキャナー
Scanner の設定可能なパラメーター。
| パラメーター | 説明 | 
|---|---|
| 
											 | 
											Scanner を使用せずに Red Hat Advanced Cluster Security for Kubernetes をインストールする場合は  | 
| 
											 | 
											Scanner のデプロイメント用に作成するレプリカの数です。 | 
| 
											 | 
											Scanner のログレベルを設定します。Red Hat では、ログレベルのデフォルト値 ( | 
| 
											 | 
											ノードセレクターラベルを  | 
| 
											 | ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Scanner の taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 | 
| 
											 | 
											 | 
| 
											 | 自動スケーリングのレプリカの最小数です。 | 
| 
											 | 自動スケーリングのレプリカの最大数です。 | 
| 
											 | Scanner がデフォルト値をオーバーライドするためのメモリーリクエストです。 | 
| 
											 | Scanner がデフォルト値をオーバーライドするための CPU リクエストです。 | 
| 
											 | Scanner がデフォルト値をオーバーライドするためのメモリー制限です。 | 
| 
											 | Scanner がデフォルト値をオーバーライドするための CPU 制限です。 | 
| 
											 | Scanner データベースのデプロイメントがデフォルト値をオーバーライドするためのメモリーリクエストです。 | 
| 
											 | Scanner データベースのデプロイメントがデフォルト値をオーバーライドするための CPU リクエストです。 | 
| 
											 | Scanner データベースのデプロイメントがデフォルト値をオーバーライドするためのメモリー制限です。 | 
| 
											 | Scanner データベースのデプロイメントがデフォルト値をオーバーライドするための CPU 制限です。 | 
| 
											 | Scanner イメージのカスタムレジストリーです。 | 
| 
											 | 
											デフォルトの Scanner イメージ名 ( | 
| 
											 | Scanner DB イメージのカスタムレジストリーです。 | 
| 
											 | 
											デフォルトの Scanner DB イメージ名 ( | 
| 
											 | 
											ノードセレクターラベルを  | 
| 
											 | ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Scanner DB の taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 | 
4.2.2.2.7. カスタマイズ
これらのパラメーターを使用して、Red Hat Advanced Cluster Security for Kubernetes が作成するすべてのオブジェクトの追加の属性を指定します。
| パラメーター | 説明 | 
|---|---|
| 
											 | すべてのオブジェクトにアタッチするカスタムラベルです。 | 
| 
											 | すべてのオブジェクトにアタッチするカスタムアノテーションです。 | 
| 
											 | すべてのデプロイメントにアタッチするカスタムラベルです。 | 
| 
											 | すべてのデプロイメントにアタッチするカスタムアノテーションです。 | 
| 
											 | すべてのオブジェクトのすべてのコンテナーのカスタム環境変数です。 | 
| 
											 | Central が作成するすべてのオブジェクトにアタッチするカスタムラベルです。 | 
| 
											 | Central が作成するすべてのオブジェクトにアタッチするカスタムアノテーションです。 | 
| 
											 | すべての Central のデプロイメントにアタッチするカスタムラベルです。 | 
| 
											 | すべての Central のデプロイメントにアタッチするカスタムアノテーションです。 | 
| 
											 | すべての Central コンテナーのカスタム環境変数です。 | 
| 
											 | Scanner が作成するすべてのオブジェクトにアタッチするカスタムラベルです。 | 
| 
											 | Scanner が作成するすべてのオブジェクトにアタッチするカスタムアノテーションです。 | 
| 
											 | すべての Scanner のデプロイメントにアタッチするカスタムラベルです。 | 
| 
											 | すべての Scanner のデプロイメントにアタッチするカスタムアノテーションです。 | 
| 
											 | すべての Scanner コンテナーのカスタム環境変数です。 | 
| 
											 | Scanner DB が作成するすべてのオブジェクトにアタッチするカスタムラベルです。 | 
| 
											 | Scanner DB が作成するすべてのオブジェクトにアタッチするカスタムアノテーションです。 | 
| 
											 | すべての Scanner DB のデプロイメントにアタッチするカスタムラベルです。 | 
| 
											 | すべての Scanner DB のデプロイメントにアタッチするカスタムアノテーションです。 | 
| 
											 | すべての Scanner DB コンテナーのカスタム環境変数です。 | 
以下のように使用することもできます。
- 
									すべてのオブジェクトのラベルとアノテーションを指定するための customize.other.service/*.labelsおよびcustomize.other.service/*.annotationsパラメーターです。
- 
									または、特定のサービス名を指定します。たとえば、customize.other.service/central-loadbalancer.labelsとcustomize.other.service/central-loadbalancer.annotationsをパラメーターとして指定し、それらの値を設定します。
4.2.2.2.8. 高度なカスタマイズ
このセクションで指定されているパラメーターは、情報提供のみを目的としています。Red Hat は、namespace とリリース名が変更された Red Hat Advanced Cluster Security for Kubernetes インスタンスをサポートしていません。
| パラメーター | 説明 | 
|---|---|
| 
											 | 
											 | 
| 
											 | 
											 | 
4.2.3. セントラルサービス Helm チャートのインストール
					values-public.yaml ファイルと values-private.yaml ファイルを設定した後、central-services Helm チャートをインストールして、集中型コンポーネント (Central と Scanner) をデプロイします。
				
手順
- 以下のコマンドを実行します。 - helm install -n stackrox --create-namespace \ stackrox-central-services rhacs/central-services \ -f <path_to_values_public.yaml> -f <path_to_values_private.yaml> - $ helm install -n stackrox --create-namespace \ stackrox-central-services rhacs/central-services \ -f <path_to_values_public.yaml> -f <path_to_values_private.yaml>- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- -fオプションを使用して、YAML 設定ファイルのパスを指定します。
 
4.2.3.1. central-services Helm チャートをデプロイした後の設定オプションの変更
						central-services Helm チャートをデプロイした後、任意の設定オプションに変更を加えることができます。
					
手順
- 
								values-public.yamlおよびvalues-private.yaml設定ファイルを新しい値で更新します。
- helm upgradeコマンドを実行し、- -fオプションを使用して設定ファイルを指定します。- helm upgrade -n stackrox \ stackrox-central-services rhacs/central-services \ -f <path_to_values_public.yaml> \ -f <path_to_values_private.yaml> - $ helm upgrade -n stackrox \ stackrox-central-services rhacs/central-services \ -f <path_to_values_public.yaml> \ -f <path_to_values_private.yaml>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注記- --setまたは- --set-fileパラメーターを使用して設定値を指定することもできます。ただし、これらのオプションは保存されないため、変更を加えるたびにすべてのオプションを手動で再度指定する必要があります。
4.2.4. init バンドルの生成
					SecuredCluster リソースをクラスターにインストールする前に、init バンドルを作成する必要があります。SecuredCluster がインストールおよび設定されているクラスターは、このバンドルを使用して Central で認証します。
				
					roxctl CLI を使用するか、RHACS ポータルから init バンドルを作成できます。
				
4.2.4.1. roxctl CLI を使用した init バンドルの生成
						roxctl CLI を使用して、シークレットを含む init バンドルを作成できます。
					
前提条件
							ROX_API_TOKEN および ROX_CENTRAL_ADDRESS 環境変数を設定しました。
						
- ROX_API_TOKENおよび- ROX_CENTRAL_ADDRESS環境変数を設定します。- export ROX_API_TOKEN=<api_token> - $ export ROX_API_TOKEN=<api_token>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - export ROX_CENTRAL_ADDRESS=<address>:<port_number> - $ export ROX_CENTRAL_ADDRESS=<address>:<port_number>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
手順
- 次のコマンドを実行して、シークレットを含むクラスター初期化バンドルを生成します。 - roxctl -e "$ROX_CENTRAL_ADDRESS" \ central init-bundles generate <cluster_init_bundle_name> \ --output cluster_init_bundle.yaml - $ roxctl -e "$ROX_CENTRAL_ADDRESS" \ central init-bundles generate <cluster_init_bundle_name> \ --output cluster_init_bundle.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
roxctl -e "$ROX_CENTRAL_ADDRESS" \ central init-bundles generate <cluster_init_bundle_name> \ --output-secrets cluster_init_bundle.yaml
$ roxctl -e "$ROX_CENTRAL_ADDRESS" \
  central init-bundles generate <cluster_init_bundle_name> \
  --output-secrets cluster_init_bundle.yamlこのバンドルにはシークレットが含まれているため、安全に保管してください。同じバンドルを使用して、複数のセキュリティー保護されたクラスターを設定できます。
4.2.4.2. RHACS ポータルを使用した init バンドルの生成
RHACS ポータルを使用して、シークレットを含む init バンドルを作成できます。
手順
- 公開方法に基づいて RHACS ポータルのアドレスを見つけます。 - ルートの場合。 - oc get route central -n stackrox - $ oc get route central -n stackrox- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- ロードバランサーの場合。 - oc get service central-loadbalancer -n stackrox - $ oc get service central-loadbalancer -n stackrox- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- port forward の場合: - 以下のコマンドを実行します。 - oc port-forward svc/central 18443:443 -n stackrox - $ oc port-forward svc/central 18443:443 -n stackrox- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 
												https://localhost:18443/に移動します。
 
 
- RHACS ポータルで、Platform Configuration → Integrations に移動します。
- Authentication Tokens セクションに移動し、Cluster Init Bundle をクリックします。
- Generate bundle をクリックします。
- クラスター初期化バンドルの名前を入力し、Generate をクリックします。
- Download Helm Values File をクリックして、生成されたバンドルをダウンロードします。
- 生成されたバンドルをダウンロードするには、Download Kubernetes Secret File をクリックします。
このバンドルにはシークレットが含まれているため、セキュアに保管してください。同じバンドルを使用して、複数のセキュリティー保護されたクラスターを作成できます。
次の手順
- OpenShift Container Platform CLI を使用して、init バンドルを使用してリソースを作成します。
- モニターするすべてのクラスターに Red Hat Cluster Security for Kubernetes をインストールします。
4.2.5. secure-cluster-services Helm チャートの設定
					このセクションでは、helm install および helm upgrade コマンドで使用できる Helm チャート設定パラメーターについて説明します。これらのパラメーターは、--set オプションを使用するか、YAML 設定ファイルを作成することで指定できます。
				
以下のファイルを作成して、Red Hat Advanced Cluster Security for Kubernetes をインストールするための Helm チャートを設定します。
- 
							パブリック設定ファイル values-public.yaml: このファイルを使用して、機密性の低いすべての設定オプションを保存します。
- 
							プライベート設定ファイル values-private.yaml: このファイルを使用して、機密性の高いすべての設定オプションを保存します。このファイルを安全に保管してください。
						Download Helm Values File Helm チャートを使用している間は、チャートの一部である values.yaml ファイルを変更しないでください。
					
4.2.5.1. 設定パラメーター
| パラメーター | 説明 | 
|---|---|
| 
										 | クラスターの名前です。 | 
| 
										 | 
										ポート番号を含む、Central エンドポイントのアドレス。gRPC に対応していないロードバランサーを使用している場合は、エンドポイントアドレスの前に  | 
| 
										 | ポート番号を含む Sensor エンドポイントのアドレスです。 | 
| 
										 | Sensor コンテナーのイメージプルポリシーです。 | 
| 
										 | Sensor が使用する内部サービス間の TLS 証明書です。 | 
| 
										 | Sensor が使用する内部サービス間 TLS 証明書キーです。 | 
| 
										 | Sensor コンテナーのメモリーリクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
										 | Sensor コンテナーの CPU リクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
										 | Sensor コンテナーのメモリー制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
										 | センサーコンテナーの CPU 制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
										 | 
										ノードセレクターラベルを  | 
| 
										 | ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Sensor の taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 | 
| 
										 | 
										 | 
| 
										 | Collector イメージの名前です。 | 
| 
										 | main イメージに使用しているレジストリーのアドレスです。 | 
| 
										 | Collector イメージに使用しているレジストリーのアドレスです。 | 
| 
										 | 
										 | 
| 
										 | Collector イメージのイメージプルポリシーです。 | 
| 
										 | 
										使用する  | 
| 
										 | 
										使用する  | 
| 
										 | 
										 | 
| 
										 | Collector コンテナーのイメージプルポリシーです。 | 
| 
										 | Compliance コンテナーのイメージプルポリシーです。 | 
| 
										 | 
										 | 
| 
										 | Collector コンテナーのメモリーリクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
										 | Collector コンテナーの CPU リクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
										 | Collector コンテナーのメモリー制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
										 | Collector コンテナーの CPU 制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
										 | Compliance コンテナーのメモリーリクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
										 | Compliance の CPU リクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
										 | Compliance コンテナーのメモリー制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
										 | Compliance コンテナーの CPU 制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
										 | Collector が使用する内部サービス間 TLS 証明書です。 | 
| 
										 | Collector が使用する内部サービス間 TLS 証明書キーです。 | 
| 
										 | 
										この設定は、Kubernetes がワークロード作成イベントの  | 
| 
										 | 
										このパラメーターを  | 
| 
										 | 
										この設定は、クラスターが Kubernetes  | 
| 
										 | この設定は、Red Hat Advanced Cluster Security for Kubernetes がポリシーを評価するかどうかを制御します。無効にすると、すべての AdmissionReview リクエストが自動的に受け入れられます。 | 
| 
										 | 
										この設定は、アドミッションコントロールサービスの動作を制御します。これを機能させるには、 | 
| 
										 | 
										このオプションを  | 
| 
										 | 
										アドミッションコントローラーのバイパスを無効にするには、 | 
| 
										 | アドミッションレビューリクエストを評価する間、Red Hat Advanced Cluster Security for Kubernetes が待機する最大時間 (秒単位) です。これを使用して、イメージスキャンを有効にするときにリクエストのタイムアウトを設定します。イメージスキャンが指定された時間より長く実行される場合、Red Hat Advanced Cluster Security for Kubernetes はリクエストを受け入れます。 | 
| 
										 | Admission Control コンテナーのメモリーリクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
										 | Admission Control コンテナーの CPU リクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
										 | Admission Control コンテナーのメモリー制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
										 | Admission Control コンテナーの CPU 制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
										 | 
										ノードセレクターラベルを  | 
| 
										 | ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、アドミッションコントロールの taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 | 
| 
										 | Admission Control が使用する内部サービス間 TLS 証明書です。 | 
| 
										 | Admission Control が使用する内部サービス間 TLS 証明書キーです。 | 
| 
										 | 
										このパラメーターを使用して、デフォルトの  | 
| 
										 | 
										 | 
| 
										 | 
										 | 
| 
										 | 
										 | 
| 
										 | 
										Collector のデプロイにスリムな Collector イメージを使用する場合は、 | 
| 
										 | Sensor のリソース仕様です。 | 
| 
										 | Admission Controller のリソース仕様です。 | 
| 
										 | Collector のリソース仕様です。 | 
| 
										 | Collector の Compliance コンテナーのリソース仕様です。 | 
| 
										 | 
										このオプションを  | 
| 
										 | 
										このオプションを  | 
| 
										 | 
										このオプションを  | 
| 
										 | ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Scanner DB の taint toleration キー、値、および effect を指定します。 | 
| 
										 | Collector の Compliance コンテナーのリソース仕様です。 | 
| 
										 | このパラメーターを設定すると、Scanner のログレベルを変更できます。このオプションは、トラブルシューティングの目的でのみ使用してください。 | 
| 
										 | 
										このオプションを  | 
| 
										 | 自動スケーリングのレプリカの最小数です。デフォルトは 2 です。 | 
| 
										 | 自動スケーリングのレプリカの最大数です。デフォルトは 5 です。 | 
| 
										 | 
										ノードセレクターラベルを  | 
| 
										 | ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Scanner の taint toleration キー、値、および effect を指定します。 | 
| 
										 | 
										ノードセレクターラベルを  | 
| 
										 | ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Scanner DB の taint toleration キー、値、および effect を指定します。 | 
| 
										 | Scanner コンテナーのメモリーリクエスト。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
										 | Scanner コンテナーの CPU リクエスト。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
										 | Scanner コンテナーのメモリー制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
										 | Scanner コンテナーの CPU 制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
										 | Scanner DB コンテナーのメモリーリクエスト。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
										 | Scanner DB コンテナーの CPU リクエスト。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
										 | Scanner DB コンテナーのメモリー制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
										 | Scanner DB コンテナーの CPU 制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
4.2.5.1.1. 環境変数
Sensor と Admission Controller の環境変数は、次の形式で指定できます。
customize:
  envVars:
    ENV_VAR1: "value1"
    ENV_VAR2: "value2"
customize:
  envVars:
    ENV_VAR1: "value1"
    ENV_VAR2: "value2"
							customize 設定を使用すると、この Helm チャートによって作成されたすべてのオブジェクトのカスタム Kubernetes メタデータ (ラベルとアノテーション) と、ワークロードの追加の Pod ラベル、Pod アノテーション、コンテナー環境変数を指定できます。
						
より一般的なスコープ (たとえば、すべてのオブジェクト) で定義されたメタデータを、より狭いスコープ (たとえば、Sensor デプロイメントのみ) で定義されたメタデータでオーバーライドできるという意味で、設定は階層的です。
4.2.6. secure-cluster-services Helm チャートのインストール
					values-public.yaml ファイルと values-private.yaml ファイルを設定した後、secured-cluster-services Helm チャートをインストールして、クラスターごと、およびノードごとのコンポーネント (Sensor、Admission Controller、Collector) をデプロイします。
				
Unified Extensible Firmware Interface (UEFI) があり、Secure Boot が有効になっているシステムに Collector をインストールするには、カーネルモジュールが署名されておらず、UEFI ファームウェアが署名されていないパッケージをロードできないため、eBPF プローブを使用する必要があります。Collector は、開始時に Secure Boot ステータスを識別し、必要に応じて eBPF プローブに切り替えます。
手順
- 以下のコマンドを実行します。 - helm install -n stackrox --create-namespace \ stackrox-secured-cluster-services rhacs/secured-cluster-services \ -f <name_of_cluster_init_bundle.yaml> \ -f <path_to_values_public.yaml> -f <path_to_values_private.yaml> - $ helm install -n stackrox --create-namespace \ stackrox-secured-cluster-services rhacs/secured-cluster-services \ -f <name_of_cluster_init_bundle.yaml> \ -f <path_to_values_public.yaml> -f <path_to_values_private.yaml>- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- -fオプションを使用して、YAML 設定ファイルのパスを指定します。
 
						継続的インテグレーション (CI) システムを使用して secured-cluster-services Helm チャートをデプロイするには、init バンドル YAML ファイルを環境変数として helm install コマンドに渡します。
					
helm install ... -f <(echo "$INIT_BUNDLE_YAML_SECRET")
$ helm install ... -f <(echo "$INIT_BUNDLE_YAML_SECRET") - 1
- base64 でエンコードされた変数を使用している場合は、代わりにhelm install … -f <(echo "$INIT_BUNDLE_YAML_SECRET" | base64 --decode)コマンドを使用してください。
4.2.6.1. secure-cluster-services Helm チャートをデプロイした後の設定オプションの変更
						secure-cluster-services Helm チャートをデプロイした後、任意の設定オプションに変更を加えることができます。
					
手順
- 
								values-public.yamlおよびvalues-private.yaml設定ファイルを新しい値で更新します。
- helm upgradeコマンドを実行し、- -fオプションを使用して設定ファイルを指定します。- helm upgrade -n stackrox \ stackrox-secured-cluster-services rhacs/secured-cluster-services \ --reuse-values \ -f <path_to_values_public.yaml> \ -f <path_to_values_private.yaml> - $ helm upgrade -n stackrox \ stackrox-secured-cluster-services rhacs/secured-cluster-services \ --reuse-values \- 1 - -f <path_to_values_public.yaml> \ -f <path_to_values_private.yaml>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- --reuse-valuesパラメーターを指定する必要があります。指定しない場合、Helm upgrade コマンドは以前に設定されたすべての設定をリセットします。
 注記- --setまたは- --set-fileパラメーターを使用して設定値を指定することもできます。ただし、これらのオプションは保存されないため、変更を加えるたびにすべてのオプションを手動で再度指定する必要があります。
4.2.7. インストールの検証
インストールが完了したら、いくつかの脆弱なアプリケーションを実行し、RHACS ポータルに移動して、セキュリティー評価とポリシー違反の結果を評価します。
次のセクションにリストされているサンプルアプリケーションには重大な脆弱性が含まれており、Red Hat Advanced Cluster Security for Kubernetes のビルドおよびデプロイ時の評価機能を検証するように特別に設計されています。
インストールの検証
- 公開方法に基づいて RHACS ポータルのアドレスを見つけます。 - ルートの場合。 - oc get route central -n stackrox - $ oc get route central -n stackrox- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- ロードバランサーの場合。 - oc get service central-loadbalancer -n stackrox - $ oc get service central-loadbalancer -n stackrox- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- port forward の場合: - 以下のコマンドを実行します。 - oc port-forward svc/central 18443:443 -n stackrox - $ oc port-forward svc/central 18443:443 -n stackrox- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 
											https://localhost:18443/に移動します。
 
 
- OpenShift Container Platform CLI を使用して、新しいプロジェクトを作成します。 - oc new-project test - $ oc new-project test- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 重大な脆弱性を持ついくつかのアプリケーションを開始します。 - oc run shell --labels=app=shellshock,team=test-team \ --image=vulnerables/cve-2014-6271 -n test oc run samba --labels=app=rce \ --image=vulnerables/cve-2017-7494 -n test - $ oc run shell --labels=app=shellshock,team=test-team \ --image=vulnerables/cve-2014-6271 -n test $ oc run samba --labels=app=rce \ --image=vulnerables/cve-2017-7494 -n test- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
Red Hat Advanced Cluster Security for Kubernetes は、これらのデプロイメントがクラスターに送信されるとすぐに、これらのデプロイメントを自動的にスキャンしてセキュリティーリスクとポリシー違反を検出します。RHACS ポータルに移動して、違反を表示します。デフォルトのユーザー名 admin と生成されたパスワードを使用して RHACS ポータルにログインできます。
第5章 roxctl CLI を使用したインストール
			Red Hat Advanced Cluster Security for Kubernetes は、OpenShift Container Platform クラスターに一連のサービスをインストールします。このトピックでは、roxctl CLI を使用して OpenShift Container Platform クラスターに Red Hat Advanced Cluster Security for Kubernetes をインストールする手順について説明します。
		
				実稼働環境の場合、Red Hat は、Helm チャートを使用して Red Hat Advanced Cluster Security for Kubernetes をインストールすること を推奨します。この方法を使用する必要がある特定のインストールがない限り、roxctl のインストール手法を使用しないでください。
			
インストールフローの概要:
- 
					roxctlCLI をインストールします。
- 
					roxctlCLI 対話型インストーラーを使用して、集約コンポーネント (Central および Scanner) をインストールします。
- Sensor をインストールしてクラスターをモニターします。
インストールする前に:
5.1. roxctl CLI のインストール
				Red Hat Advanced Cluster Security for Kubernetes をインストールするには、バイナリーをダウンロードして roxctl CLI をインストールする必要があります。roxctl は、Linux、Windows、または macOS にインストールできます。
			
5.2. Linux への roxctl CLI のインストール
				次の手順を使用して、Linux に roxctl CLI バイナリーをインストールできます。
			
手順
- roxctlCLI の最新バージョンをダウンロードします。- curl -O https://mirror.openshift.com/pub/rhacs/assets/3.70.2/bin/Linux/roxctl - $ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.70.2/bin/Linux/roxctl- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- roxctlバイナリーを実行可能にします。- chmod +x roxctl - $ chmod +x roxctl- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- PATH上にあるディレクトリーに- roxctlバイナリーを配置します。- PATHを確認するには、以下のコマンドを実行します。- echo $PATH - $ echo $PATH- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
検証
- インストールした - roxctlのバージョンを確認します。- roxctl version - $ roxctl version- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
5.2.1. macOS への roxctl CLI のインストール
					次の手順を使用して、roxctl CLI バイナリーを macOS にインストールできます。
				
手順
- roxctlCLI の最新バージョンをダウンロードします。- curl -O https://mirror.openshift.com/pub/rhacs/assets/3.70.2/bin/Darwin/roxctl - $ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.70.2/bin/Darwin/roxctl- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- バイナリーからすべての拡張属性を削除します。 - xattr -c roxctl - $ xattr -c roxctl- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- roxctlバイナリーを実行可能にします。- chmod +x roxctl - $ chmod +x roxctl- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- PATH上にあるディレクトリーに- roxctlバイナリーを配置します。- PATHを確認するには、以下のコマンドを実行します。- echo $PATH - $ echo $PATH- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
検証
- インストールした - roxctlのバージョンを確認します。- roxctl version - $ roxctl version- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
5.2.2. Windows への roxctl CLI のインストール
					次の手順を使用して、roxctl CLI バイナリーを Windows にインストールできます。
				
手順
- roxctlCLI の最新バージョンをダウンロードします。- curl -O https://mirror.openshift.com/pub/rhacs/assets/3.70.2/bin/Windows/roxctl.exe - $ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.70.2/bin/Windows/roxctl.exe- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
検証
- インストールした - roxctlのバージョンを確認します。- roxctl version - $ roxctl version- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
5.3. Central のインストール
Red Hat Advanced Cluster Security for Kubernetes の主要コンポーネントは Central と呼ばれます。対話型インストーラーを使用して、OpenShift Container Platform に Central をインストールできます。Central は 1 回だけデプロイし、同じインストールを使用して複数の個別のクラスターをモニターできます。
5.3.1. 対話型インストーラーの使用
対話型インストーラーを使用して、お使いの環境に必要なシークレット、デプロイメント設定、およびデプロイメントスクリプトを生成します。
手順
- 対話型インストールコマンドを実行します。 - roxctl central generate interactive - $ roxctl central generate interactive- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Enter を押してプロンプトのデフォルト値を受け入れるか、必要に応じてカスタム値を入力します。 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- カスタム TLS 証明書を追加する場合は、PEM でエンコードされた証明書のファイルパスを指定します。カスタム証明書を指定すると、対話型インストーラーは、使用しているカスタム証明書の PEM 秘密鍵を提供するように要求します。
- 2
- RHACS ポータルを使用するには、ルート、ロードバランサー、またはノードポートを使用して Central を公開する必要があります。
- 3
- hostPath ボリュームを使用して OpenShift Container Platform に Red Hat Cluster Security for Kubernetes をインストールする場合は、SELinux ポリシーを変更する必要があります。
 警告- OpenShift Container Platform で、hostPath ボリュームを使用するには、SELinux ポリシーを変更して、ホストとコンテナーが共有するディレクトリーへのアクセスを許可する必要があります。これは、SELinux がデフォルトでディレクトリー共有をブロックしているためです。SELinux ポリシーを変更するには、次のコマンドを実行します。 - sudo chcon -Rt svirt_sandbox_file_t <full_volume_path> - $ sudo chcon -Rt svirt_sandbox_file_t <full_volume_path>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - ただし、Red Hat は SELinux ポリシーの変更を推奨していません。代わりに、OpenShift Container Platform にインストールするときに PVC を使用してください。 
完了すると、インストーラーは central-bundle という名前のフォルダーを作成します。このフォルダーには、Central をデプロイするために必要な YAML マニフェストとスクリプトが含まれています。さらに、信頼できる認証局である Central と Scanner をデプロイするために実行する必要があるスクリプトの画面上の説明と、RHACS ポータルにログインするための認証手順、プロンプトに答える際にパスワードを入力しなかった場合は自動生成されたパスワードも表示されます。
5.3.2. Central インストールスクリプトの実行
					対話型インストーラーを実行した後、setup.sh スクリプトを実行して Central をインストールできます。
				
手順
- setup.shスクリプトを実行して、イメージレジストリーアクセスを設定します。- ./central-bundle/central/scripts/setup.sh - $ ./central-bundle/central/scripts/setup.sh- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 必要なリソースを作成します。 - oc create -R -f central-bundle/central - $ oc create -R -f central-bundle/central- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- デプロイメントの進行状況を確認します。 - oc get pod -n stackrox -w - $ oc get pod -n stackrox -w- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Central の実行後、RHACS ポータルの IP アドレスを見つけて、ブラウザーで開きます。プロンプトに応答するときに選択した公開方法に応じて、次のいずれかの方法を使用して IP アドレスを取得します。 - Expand - 公開方法 - コマンド - アドレス - 例 - ルート - oc -n stackrox get route central- 出力の - HOST/PORT列の下のアドレス- https://central-stackrox.example.route- ノードポート - oc get node -owide && oc -n stackrox get svc central-loadbalancer- サービス用に表示されたポート上の任意のノードの IP またはホスト名 - https://198.51.100.0:31489- ロードバランサー - oc -n stackrox get svc central-loadbalancer- EXTERNAL-IP または、ポート 443 でサービスに表示されるホスト名 - https://192.0.2.0- なし - central-bundle/central/scripts/port-forward.sh 8443- https://localhost:8443- https://localhost:8443
対話型インストール中に自動生成されたパスワードを選択した場合は、次のコマンドを実行して、Central にログインするためのパスワードを確認できます。
cat central-bundle/password
$ cat central-bundle/password5.4. Scanner のインストール
さまざまなオープンソースおよび商用のイメージ Scanner からイメージデータを取得するように、Red Hat Advanced Cluster Security for Kubernetes を設定できます。
ただし、Red Hat Advanced Cluster Security for Kubernetes は、Scanner と呼ばれるイメージ脆弱性 Scanner コンポーネントも提供します。イメージの脆弱性情報でデプロイメントを強化します。
Red Hat は、脆弱性についてパブリックレジストリーからのイメージを含むすべてのイメージをスキャンできるように Scanner をデプロイすることをお勧めします。Central と同じクラスターに Scanner をデプロイできます。
前提条件
- Scanner がイメージをダウンロードしてスキャンできるように、イメージレジストリーを設定する必要がある。通常、イメージレジストリーの統合は、Red Hat Advanced Cluster Security for Kubernetes によって自動的に作成される。
手順
- 次のコマンドを実行して、イメージレジストリーアクセスを設定します。 - ./central-bundle/scanner/scripts/setup.sh - $ ./central-bundle/scanner/scripts/setup.sh- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- スクリプトが終了したら、次のコマンドを実行して Scanner サービスを作成します。 - oc create -R -f central-bundle/scanner - $ oc create -R -f central-bundle/scanner- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
5.5. Sensor のインストール
クラスターをモニターするには、Sensor をデプロイする必要があります。モニターする各クラスターに Sensor をデプロイする必要があります。次の手順では、RHACS ポータルを使用して Sensor を追加する方法について説明します。
手順
- RHACS ポータルで、Platform Configuration → Clusters に移動します。
- +NewCluster を選択します。
- クラスターの名前を指定します。
- Sensor をデプロイする場所に基づいて、フィールドに適切な値を入力します。 - 同じクラスターに Sensor をデプロイする場合は、すべてのフィールドのデフォルト値を受け入れます。
- 
								別のクラスターにデプロイする場合は、central.stackrox.svc:443を、他のクラスターからアクセス可能なロードバランサー、ノードポート、またはポート番号を含む他のアドレスに置き換えます。
- HAProxy、AWS Application Load Balancer (ALB)、AWS Elastic Load Balancing (ELB) などの非 gRPC 対応のロードバランサーを使用している場合は、WebSocket Secure ( - wss) プロトコルを使用してください。- wssを使用するには:- 
										アドレスの前に wss://を付けます。
- 
										アドレスの後にポート番号を追加します (例 wss://stackrox-central.example.com:443)。
 
- 
										アドレスの前に 
 
- Next をクリックして、Sensor のセットアップを続行します。
- Download YAML File and Keys をクリックして、クラスターバンドル (zip アーカイブ) をダウンロードします。 重要- クラスターバンドルの zip アーカイブには、クラスターごとに固有の設定とキーが含まれています。同じファイルを別のクラスターで再利用しないでください。 
- モニター対象クラスターにアクセスできるシステムから、クラスターバンドルから - sensorスクリプトを解凍して実行します。- unzip -d sensor sensor-<cluster_name>.zip - $ unzip -d sensor sensor-<cluster_name>.zip- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - ./sensor/sensor.sh - $ ./sensor/sensor.sh- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Sensor をデプロイするために必要な権限がないという警告が表示された場合は、画面の指示に従うか、クラスター管理者に連絡して支援を求めてください。 
Sensor はデプロイされた後、Central に接続し、クラスター情報を提供します。
検証
- RHACS ポータルに戻り、デプロイメントが成功したかどうかを確認します。成功すると、セクション #2 の下に緑色のチェックマークが表示されます。緑色のチェックマークが表示されない場合は、次のコマンドを使用して問題を確認してください。 - OpenShift Container Platform - oc get pod -n stackrox -w - $ oc get pod -n stackrox -w- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Kubernetes の場合: - kubectl get pod -n stackrox -w - $ kubectl get pod -n stackrox -w- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- Finish をクリックしてウィンドウを閉じます。
インストール後、Sensor は Red Hat Advanced Cluster Security for Kubernetes へのセキュリティー情報の報告を開始し、RHACS ポータルダッシュボードは、Sensor をインストールしたクラスターからのデプロイメント、イメージ、およびポリシー違反の表示を開始します。
5.6. インストールの検証
インストールが完了したら、いくつかの脆弱なアプリケーションを実行し、RHACS ポータルに移動して、セキュリティー評価とポリシー違反の結果を評価します。
次のセクションにリストされているサンプルアプリケーションには重大な脆弱性が含まれており、Red Hat Advanced Cluster Security for Kubernetes のビルドおよびデプロイ時の評価機能を検証するように特別に設計されています。
インストールの検証
- 公開方法に基づいて RHACS ポータルのアドレスを見つけます。 - ルートの場合。 - oc get route central -n stackrox - $ oc get route central -n stackrox- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- ロードバランサーの場合。 - oc get service central-loadbalancer -n stackrox - $ oc get service central-loadbalancer -n stackrox- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- port forward の場合: - 以下のコマンドを実行します。 - oc port-forward svc/central 18443:443 -n stackrox - $ oc port-forward svc/central 18443:443 -n stackrox- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 
										https://localhost:18443/に移動します。
 
 
- OpenShift Container Platform CLI を使用して、新しいプロジェクトを作成します。 - oc new-project test - $ oc new-project test- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 重大な脆弱性を持ついくつかのアプリケーションを開始します。 - oc run shell --labels=app=shellshock,team=test-team \ --image=vulnerables/cve-2014-6271 -n test oc run samba --labels=app=rce \ --image=vulnerables/cve-2017-7494 -n test - $ oc run shell --labels=app=shellshock,team=test-team \ --image=vulnerables/cve-2014-6271 -n test $ oc run samba --labels=app=rce \ --image=vulnerables/cve-2017-7494 -n test- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
Red Hat Advanced Cluster Security for Kubernetes は、これらのデプロイメントがクラスターに送信されるとすぐに、これらのデプロイメントを自動的にスキャンしてセキュリティーリスクとポリシー違反を検出します。RHACS ポータルに移動して、違反を表示します。デフォルトのユーザー名 admin と生成されたパスワードを使用して RHACS ポータルにログインできます。
第6章 Red Hat Advanced Cluster Security for Kubernetes のアンインストール
Red Hat Advanced Cluster Security for Kubernetes をインストールすると、以下が作成されます。
- 
					Operator のインストール方法を選択した場合は、Operator がインストールされる rhacs-operatorという namespace
- 
					stackroxと呼ばれる namespace 、または Central および SecuredCluster カスタムリソースを作成した別の namespace
- 
					すべてのコンポーネントの PodSecurityPolicyおよび Kubernetes ロールベースアクセス制御 (RBAC) オブジェクト
- 生成されたネットワークポリシーで使用するための namespace の追加ラベル
- アプリケーションカスタムリソース定義 (CRD) (存在しない場合)
Red Hat Advanced Cluster Security for Kubernetes をアンインストールするには、これらのアイテムをすべて削除する必要があります。
6.1. namespace の削除
OpenShift Container Platform または Kubernetes コマンドラインインターフェイスを使用して、Red Hat Advanced Cluster Security for Kubernetes が作成する namespace を削除できます。
手順
- stackroxnamespace を削除します。- OpenShift Container Platform - oc delete namespace stackrox - $ oc delete namespace stackrox- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Kubernetes の場合: - kubectl delete namespace stackrox - $ kubectl delete namespace stackrox- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
					別の namespace に RHACS をインストールした場合は、delete コマンドでその namespace の名前を使用してください。
				
6.2. グローバルリソースの削除
OpenShift Container Platform または Kubernetes コマンドラインインターフェイスを使用して、Red Hat Advanced Cluster Security for Kubernetes が作成するグローバルリソースを削除できます。
手順
- グローバルリソースを削除します。 - OpenShift Container Platform - oc get clusterrole,clusterrolebinding,role,rolebinding,psp -o name | grep stackrox | xargs oc delete --wait - $ oc get clusterrole,clusterrolebinding,role,rolebinding,psp -o name | grep stackrox | xargs oc delete --wait- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - oc delete scc -l "app.kubernetes.io/name=stackrox" - $ oc delete scc -l "app.kubernetes.io/name=stackrox"- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - oc delete ValidatingWebhookConfiguration stackrox - $ oc delete ValidatingWebhookConfiguration stackrox- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Kubernetes の場合: - kubectl get clusterrole,clusterrolebinding,role,rolebinding,psp -o name | grep stackrox | xargs kubectl delete --wait - $ kubectl get clusterrole,clusterrolebinding,role,rolebinding,psp -o name | grep stackrox | xargs kubectl delete --wait- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - kubectl delete ValidatingWebhookConfiguration stackrox - $ kubectl delete ValidatingWebhookConfiguration stackrox- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
6.3. ラベルとアノテーションの削除
OpenShift Container Platform または Kubernetes コマンドラインインターフェイスを使用して、Red Hat Advanced Cluster Security for Kubernetes が作成するラベルとアノテーションを削除できます。
手順
- ラベルとアノテーションを削除します。 - OpenShift Container Platform - for namespace in $(oc get ns | tail -n +2 | awk '{print $1}'); do oc label namespace $namespace namespace.metadata.stackrox.io/id-; oc label namespace $namespace namespace.metadata.stackrox.io/name-; oc annotate namespace $namespace modified-by.stackrox.io/namespace-label-patcher-; done- $ for namespace in $(oc get ns | tail -n +2 | awk '{print $1}'); do oc label namespace $namespace namespace.metadata.stackrox.io/id-; oc label namespace $namespace namespace.metadata.stackrox.io/name-; oc annotate namespace $namespace modified-by.stackrox.io/namespace-label-patcher-; done- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Kubernetes の場合: - for namespace in $(kubectl get ns | tail -n +2 | awk '{print $1}'); do kubectl label namespace $namespace namespace.metadata.stackrox.io/id-; kubectl label namespace $namespace namespace.metadata.stackrox.io/name-; kubectl annotate namespace $namespace modified-by.stackrox.io/namespace-label-patcher-; done- $ for namespace in $(kubectl get ns | tail -n +2 | awk '{print $1}'); do kubectl label namespace $namespace namespace.metadata.stackrox.io/id-; kubectl label namespace $namespace namespace.metadata.stackrox.io/name-; kubectl annotate namespace $namespace modified-by.stackrox.io/namespace-label-patcher-; done- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow