
stackrox v4.11.4-rc.1
StackRox Kubernetes Security Platformは、コンテナ環境のリスク分析を実行し、可視性とランタイムアラートを提供し、環境を強化することでプロアクティブにセキュリティを向上させるための推奨事項を提供します。
目次
- StackRox Kubernetes Security Platform
StackRox Kubernetes Security Platform
StackRox Kubernetes Security Platformは、コンテナ環境のリスク分析を実行し、可視性とランタイムアラートを提供し、環境を強化してセキュリティをプロアクティブに改善するための推奨事項を提供します。StackRoxは、コンテナライフサイクルのすべての段階 (ビルド、デプロイ、ランタイム) と統合します。
StackRox Kubernetes Security Platformは、以前Preventとして知られていた製品 (さらにその前はMitigateおよびApolloと呼ばれていました) を基盤として構築されています。コードやドキュメント内でこれらの旧名称への参照を見つけることがあります。
コミュニティ
Slack (#stackrox) を通じて私たちに連絡できます。 その他の方法については、コミュニティハブ stackrox.io にお立ち寄りください。
イベントの最新情報、ブログ、その他のリソースについては、StackRoxコミュニティサイト stackrox.io をフォローしてください。
StackRoxの行動規範についてはこちらをご覧ください。
脆弱性やバグを報告するにはこちらをご覧ください。
StackRoxのデプロイ
Operatorを使用したインストール
リリース4.10以降、Operatorを使用してStackRoxをインストールすることが可能です。
[!WARNING] 以下のインストール方法は非推奨です。
Helmを使用したクイックインストール
StackRoxはHelm Chartsによるクイックインストールを提供しています。システムにhelm CLIを導入するには、Helmインストールガイドに従ってください。
その後、Helmクイックインストールスクリプトを実行するか、設定オプションについてはHelmを使用した手動インストールのセクションに進んでください。
HelmインストールスクリプトによるStackRoxのインストール
/bin/bash <(curl -fsSL https://raw.githubusercontent.com/stackrox/stackrox/master/scripts/quick-helm-install.sh)
StackRoxのデフォルトデプロイメントには一定のCPUおよびメモリリクエストがあり、十分なリソースが利用できない場合、小規模な(例:開発用)クラスタでは失敗する可能性があります。リソースが限られた小規模クラスタにStackRoxをインストールするには、--smallコマンドラインオプションを使用できます。このオプションは本番環境へのデプロイメントには推奨されません。
/bin/bash <(curl -fsSL https://raw.githubusercontent.com/stackrox/stackrox/master/scripts/quick-helm-install.sh) --small
スクリプトはStackRox helmリポジトリを追加し、管理者パスワードを生成し、stackrox-central-servicesをインストールし、stackrox-secured-cluster-servicesをプロビジョニングするためのinitバンドルを作成し、最後に同じクラスタ上にstackrox-secured-cluster-servicesをインストールします。
最後に、スクリプトは自動的にブラウザを開き、StackRoxにログインします。証明書が自己署名であるため、証明書の警告が表示される場合があります。警告の詳細については、StackRoxユーザーインターフェース (UI) へのアクセスセクションを参照してください。認証後、https://localhost:8000/main/dashboard を使用してダッシュボードにアクセスできます。
Helmを使用した手動インストール
システムに helm CLIを導入するには、Helmインストールガイドに従ってください。
Helmを使用したデプロイは4つのステップで構成されます
- StackRoxリポジトリをHelmに追加する
- helmを使用してStackRox Central Servicesを起動する
- クラスタ設定とサービスアイデンティティ (initバンドル) を作成する
- その設定と認証情報を使用してStackRox Secured Cluster Servicesをデプロイする (このステップは、StackRox Central Serviceにさらにクラスタを追加するために複数回実行できます)
StackRox Central Servicesのインストール
まず、StackRox Central ServicesがKubernetesクラスタに追加されます。これにはUIとScannerが含まれます。開始するには、stackrox/helm-charts/opensourceリポジトリをHelmに追加します。
helm repo add stackrox https://raw.githubusercontent.com/stackrox/helm-charts/main/opensource/
リポジトリで利用可能なすべての Helm チャートを表示するには、次のコマンドを実行します(--devel オプションを追加すると、リリース以外のビルドも表示されます)
helm search repo stackrox
stackrox-central-services をインストールするには、安全なパスワードが必要です。このパスワードは後で UI へのログイン時および init バンドルの作成時に必要になります。
ROX_ADMIN_PASSWORD="$(openssl rand -base64 20 | tr -d '/=+')"
ここから、stackrox-central-services をインストールして、Central コンポーネントと Scanner コンポーネントをクラスタにデプロイできます。
注記: 複数のクラスタを保護する予定であっても、stackrox-central-services のデプロイ済みインスタンスは 1 つだけ必要です。
インストールを実行するには、クラスタのサイズに応じて次のいずれかのコマンドを選択してください。
デフォルトの Central インストール
適度なサイズのクラスタにインストールする場合は、デフォルトのインストールコマンドを使用します:
helm upgrade --install -n stackrox --create-namespace stackrox-central-services \
stackrox/stackrox-central-services \
--set central.adminPassword.value="${ROX_ADMIN_PASSWORD}" \
--set central.persistence.none="true"
リソースが限られたクラスタへのセントラルインストール
シングルノードクラスタにインストールする場合、またはデフォルトのインストールでリソース不足により Pod が Pending 状態のままになる場合は、代わりに次のコマンドを使用して stackrox-central-services のリソース要件を削減してください。これらの削減されたリソース設定は本番環境には適していないことに注意してください。
helm upgrade --install -n stackrox --create-namespace stackrox-central-services \
stackrox/stackrox-central-services \
--set central.adminPassword.value="${ROX_ADMIN_PASSWORD}" \
--set central.persistence.none="true" \
--set central.resources.requests.memory=1Gi \
--set central.resources.requests.cpu=1 \
--set central.resources.limits.memory=4Gi \
--set central.resources.limits.cpu=1 \
--set central.db.resources.requests.memory=1Gi \
--set central.db.resources.requests.cpu=500m \
--set central.db.resources.limits.memory=4Gi \
--set central.db.resources.limits.cpu=1 \
--set scanner.autoscaling.disable=true \
--set scanner.replicas=1 \
--set scanner.resources.requests.memory=500Mi \
--set scanner.resources.requests.cpu=500m \
--set scanner.resources.limits.memory=2500Mi \
--set scanner.resources.limits.cpu=2000m
StackRox Secured Cluster Services のインストール
次に、Kubernetes ノードから情報を収集するために、secured cluster コンポーネントをデプロイする必要があります。
CLUSTER_NAME シェル変数に、secured cluster の意味のあるクラスタ名を設定します。クラスタは、StackRox UI のクラスタ一覧でこの名前によって識別されます。
CLUSTER_NAME="my-secured-cluster"
Central のエンドポイントを設定し、Secured Cluster Services が通信すべき先を指定します。stackrox-secured-cluster-services を stackrox-central-services と同じクラスタにデプロイする場合は、表示されているままにしておきます。それ以外の場合は、Central にアクセスできるエンドポイントに値を変更してください。
CENTRAL_ENDPOINT="central.stackrox.svc:443"
初期化シークレットを含む init バンドルを生成します。init バンドルは stackrox-init-bundle.yaml に保存され、以下に示すようにセキュアなクラスタをプロビジョニングするために使用されます。
echo "$ROX_ADMIN_PASSWORD" | \
kubectl -n stackrox exec -i deploy/central -- bash -c 'ROX_ADMIN_PASSWORD=$(cat) roxctl --insecure-skip-tls-verify \
central init-bundles generate stackrox-init-bundle --output -' > stackrox-init-bundle.yaml
次に、stackrox-secured-cluster-services をインストールします(先ほど生成した init バンドルを使用します)。
インストールを実行するには、クラスタのサイズに応じて以下のいずれかのコマンドを選択してください。
デフォルトの Secured Cluster Services インストール
適度なサイズのクラスタにインストールする場合は、デフォルトのインストールコマンドを使用します:
helm upgrade --install -n stackrox --create-namespace stackrox-secured-cluster-services \
stackrox/stackrox-secured-cluster-services \
-f stackrox-init-bundle.yaml \
--set clusterName="$CLUSTER_NAME" \
--set centralEndpoint="$CENTRAL_ENDPOINT"
リソースが限られたクラスタへの Secured Cluster Services のインストール
シングルノードクラスタにインストールする場合、またはデフォルトのインストールでリソース不足により Pod が Pending 状態のままになる場合は、代わりに次のコマンドを使用して stackrox-secured-cluster-services のリソース要件を削減してください。これらの削減されたリソース設定は本番環境には適していないことに注意してください。