オンボーディングKubernetes クラスタ

Kubernetes クラスタをオンボードしてCloudGuardできます。処理が完了すると、「CloudGuardアセット」ページにクラスタ、ノード、ポッド、および他の追加リソースが表示されます。その後、コンプライアンス評価を実行し、Runtime Protection、Image Assurance などの追加のセキュリティ機能にデータを使用することができます。

クラスタは、オンプレミスホストまたはクラウド環境(Azure 上のAKS、AWS 上のEKS、GCP クラウド上のGKE などの管理対象Kubernetes 環境を含む) に存在できます。

オンボーディングプロセスの一環として、CloudGuard Agent がクラスタにデプロイされます。CloudGuard は、暗号化された情報をインターネット経由でCloudGuard サーバに送り返します。

Kubernetes のバージョンとコンテナ要件については、Kubernetesコンテナ を参照してください。

クラスタを手動でオンボーディングする

以下の手順に従って、Kubernetes クラスタを手動でオンボードしてCloudGuardします。

自動化を使用したクラスタのオンボーディング

次の手順に従って、コマンドラインからオンボーディングプロセスを自動化します。

  1. これらの環境変数$API_KEY、$API_SECRET、$CLUSTER_NAME を作成または更新します。ここで、API キーとシークレットはCloudGuardポータルで生成されます(認証情報 を参照)。

  2. 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)

  3. レスポンスからクラスタ ID を抽出します。

    CLUSTER_ID=$(echo $CREATION_RESPONSE | jq -r '.id')

  4. 必要な機能を有効にします。

    コピー
    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
  5. 各クラスタで次のコマンドを実行します。

    コピー
    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 ファイルを生成します。

ヘルムあり:

helm uninstall asset-mgmt --namespace $NAMESPACE

kubectl の場合:

kubectl delete -f cloudguard-install.yaml --namespace $NAMESPACE

- エージェントをアンインストールした後に再度インストールするには、アップグレード手順ではなく、 する手順に従ってください。

トラブルシューティング:ゲートウェイの背後にあるクラスタ

HTTPS インスペクションを使用して、クラスタからインターネットにSecurity Gateway を介してトラフィックが渡される場合は、エージェントのカスタマーCA (認証局) 証明書を設定する必要があります。

  1. カスタマーBase64 PEM エンコードCA 証明書を関連するネームスペースのconfigmap に配置します。

    例:

    kubectl -n <namespace>create configmap ca-store --from-file=custom_ca.cer=<PATH_TO_CA_CERTIFICATE_FILE>

  2. 以下のように、対応する場所のコンテナにファイルをマウントします。

    コンテナ

    ポッド

    ロケーション

    インベントリ

    インベントリ

    custom/custom_ca.cer

    エンジン

    イメージスキャンエンジン

    /etc/ssl/cert.pem

    フルエントビット

    imagescan-engineとimagescan-daemon

    /etc/ssl/certs/ca-certificates.crt