Kubernetes でのマイクロサービス向け IAST エージェントのデプロイ

AppScan は、Kubernetes クラスターへの IAST エージェントの自動インストールをサポートしています。MutatingAdmissionWebhook を使用すると、IAST エージェントはすべての開始ポッドに自動的にインストールされます。

このタスクについて

Kubernetes に IAST エージェントをインストールする手順の図 (Java、.Net、Node.js アプリケーションをサポート)

Kubernetes へのインストールを示す画像

手順

  1. こちらで説明されているように、AppScan 360° Kubernetes IAST エージェントをダウンロードします。
  2. ZIP ファイルの中のファイルを抽出します。
  3. Kubernetes クラスターに IAST エージェントをインストールするには、次の手順を実行します。
    1. install-secagent-webhook.sh スクリプトを実行し、IAST インストール用の名前空間を指定します。例: install-secagent-webhook.sh -n my-namespace -n my-second-namespace
      このスクリプトは、クラスターに MutatingAdmissionWebhook をインストールします。これにより、起動時に、指定された名前空間の各ポッドに IAST エージェントが追加されます。名前空間が指定されていない場合は、名前空間 default が使用されます。
    2. IAST エージェントを適用するには、既存のポッドを再起動します。
    3. オプション: マイクロサービス向け IAST アナライザーをデプロイするには、次のフラグを追加します。--with-analyzer。これにより完全なサービス・グラフ・ビューが提供され、誤検出が減少します。現在、Node.js 環境のみをサポートしています。

      Kubernetes ポッドでのコマンド・インジェクションの問題を示すサービス・グラフ。

  4. オプション: 特定のポッドをスキップしたり、エージェント検出用のポッドの言語を指定したりするように、IAST インストーラーを設定できます。install-secagent-webhook.sh スクリプトを実行する前に、config ファイルを config フォルダーにデプロイする必要があります。
    設定の例は、抽出した zip の「examples」フォルダーにあります。
    { 
    // don't install IAST agent on service1. Default for ignore is false 
    "name":"service1", 
    "namespace":"default", 
    "ignore":true 
    }, 
    { 
    // hint IAST installer that service2 is Java. Possible values: java, net-core, nodejs 
    "name":"service2", 
    "namespace":"my-namespace", 
    "agents":["java"] 
    }, 
  5. 異なるポッドから報告された問題のポッド名を表示するには、「問題の詳細」タブの「追加情報」セクションを参照してください。
  6. Kubernetes クラスターで IAST エージェントをアンインストールするには、次の手順を実行します。
    1. uninstall-secagent-webhook.sh スクリプトを実行します。
    2. アンインストール・プロセスを完了するには、実行中のポッドを再起動する必要があります。これは、アンインストール中にエージェントが自動的にポッドから削除されることがないためです。