オンボーディングKubernetes クラスタ
Kubernetes クラスタをオンボードしてCloudGuardできます。処理が完了すると、「CloudGuardアセット」ページにクラスタ、ノード、ポッド、および他の追加リソースが表示されます。その後、コンプライアンス評価を実行し、Runtime Protection、Image Assurance などの追加のセキュリティ機能にデータを使用することができます。
クラスタは、オンプレミスホストまたはクラウド環境(Azure 上のAKS、AWS 上のEKS、GCP クラウド上のGKE などの管理対象Kubernetes 環境を含む) に存在できます。
オンボーディングプロセスの一環として、CloudGuard Agent がクラスタにデプロイされます。CloudGuard は、暗号化された情報をインターネット経由でCloudGuard サーバに送り返します。
Kubernetes のバージョンとコンテナ要件については、Kubernetesコンテナ を参照してください。
クラスタを手動でオンボーディングする
以下の手順に従って、Kubernetes クラスタを手動でオンボードしてCloudGuardします。
自動化を使用したクラスタのオンボーディング
次の手順に従って、コマンドラインからオンボーディングプロセスを自動化します。
これらの環境変数$API_KEY、$API_SECRET、$CLUSTER_NAME を作成または更新します。ここで、API キーとシークレットはCloudGuardポータルで生成されます( を参照)。
CloudGuard でKubernetes アカウントを作成するには、次のコマンドを実行します。
curl -s -X POST https://api.us1.cgn.portal.checkpoint.com/v2/kubernetes/account --header 'Content-Type: application/json' --header 'Accept: application/json' -d "{\"name\" : \"$CLUSTER_NAME\"}" --user $API_KEY:$API_SECRET)
レスポンスからクラスタ ID を抽出します。
CLUSTER_ID=$(echo $CREATION_RESPONSE | jq -r '.id')
必要な機能を有効にします。
コピーcurl -X POST https:// api.us1.cgn.portal.checkpoint.com/v2/kubernetes/account/$CLUSTER_ID/imageAssurance/enable --user $API_KEY:$API_SECRET curl -X POST https:// api.us1.cgn.portal.checkpoint.com/v2/kubernetes/account/$CLUSTER_ID/admissionControl/enable --user $API_KEY:$API_SECRET curl -X POST https:// api.us1.cgn.portal.checkpoint.com/v2/kubernetes/account/$CLUSTER_ID/runtimeProtection/enable --user $API_KEY:$API_SECRET
各クラスタで次のコマンドを実行します。
コピーhelm install asset-mgmt cloudguard --repo https://raw.githubusercontent.com/CheckPointSW/charts/master/リポジトリ/ --set-string credentials.user=$API_KEY --set-string credentials.secret=$API_SECRET --set-string clusterID=$CLUSTER_ID --set addons.imageScan.enabled={true|false} --set addons.admissionControl.enabled={true|false} --set addons.runtimeProtection.enabled={true|false} --namespace $NAMESPACE
注 - *.enabledフラグは、対応する機能を有効にしたくない場合は、falseに設定するか省略することができます。 |
非Helm 自動化の場合は、次のコマンドをステップ5 で実行します。
kubectl run cloudguard-install --rm --image alpine/helm --tty --stdin --quiet --restart=Never --command – helm template asset-mgmt cloudguard --repo https://raw.githubusercontent.com/CheckPointSW/charts/master/リポジトリ/ --set credentials.user=$API_KEY --set credentials.secret=$API_SECRET --set clusterID=$CLUSTER_ID --set addons.imageScan.enabled={true|false} --set addons.admissionControl.enabled={true|false} --set addons.runtimeProtection.enabled={true|false} --namespace $NAMESPACE --set containerRuntime=containerd > cloudguard-install.yaml kubectl apply -f cloudguard-install.yaml
クラスタでDocker またはCRI-O ランタイム環境を使用している場合は、
containerRuntime
フラグを次のように変更します。--set containerRuntime=docker
または--set containerRuntime=cri-o
.クラスタプラットフォームがOpenShift 4+ またはTanzu の場合は、出力リダイレクトの前に次を追加します。
--set platform=openshift
または --set platform=tanzu
例
エージェントのアップグレード
合意済みの仮定:
環境変数$API_KEY、$API_SECRET、$CLUSTER_NAME、$NAMESPACE は、オンボーディング時と同じ値になります。
Image Assurance およびAdmission Control は有効です。
Helm 3 がインストールされているエージェントの場合は、次のコマンドを使用してすべてのエージェントを最新バージョンにアップグレードします。
helm upgrade asset-mgmt cloudguard --repo https://raw.githubusercontent.com/CheckPointSW/charts/master/リポジトリ/ --set-string credentials.user=$API_KEY --set-string credentials.secret=$API_SECRET --set-string clusterID=$CLUSTER_ID --set addons.imageScan.enabled={true|false} --set addons.admissionControl.enabled={true|false} --set addons.runtimeProtection.enabled={true|false} --namespace $NAMESPACE
エージェントのアンインストール
オンボーディング中に、CloudGuard はエージェントのアンインストールに使用するcloudguard-install.yaml ファイルを生成します。
ヘルムあり:
|
kubectl の場合:
|
注 - エージェントをアンインストールした後に再度インストールするには、アップグレード手順ではなく、 する手順に従ってください。 |
トラブルシューティング:ゲートウェイの背後にあるクラスタ
HTTPS インスペクションを使用して、クラスタからインターネットにSecurity Gateway を介してトラフィックが渡される場合は、エージェントのカスタマーCA (認証局) 証明書を設定する必要があります。
カスタマーBase64 PEM エンコードCA 証明書を関連するネームスペースのconfigmap に配置します。
例:
kubectl -n <namespace>create configmap ca-store --from-file=custom_ca.cer=<PATH_TO_CA_CERTIFICATE_FILE>
以下のように、対応する場所のコンテナにファイルをマウントします。
コンテナ
ポッド
ロケーション
インベントリ
インベントリ
custom/custom_ca.cer
エンジン
イメージスキャンエンジン
/etc/ssl/cert.pem
フルエントビット
imagescan-engineとimagescan-daemon
/etc/ssl/certs/ca-certificates.crt