AppScan 360° を構成して DAST スキャンのプレゼンスをサポートする

このドキュメントでは、分離されたネットワーク上に展開された Web アプリケーションの DAST スキャンをサポートするための AppScan 360° をセットアップする方法について、ユーザー向けのステップバイステップ・ガイドを提供します。

前提条件

セットアップ・プロセスを開始する前に、次があることを確認します。

  • K8S ゲートウェイ - インストールの前に、TLSRoute API が有効になっている Gateway API v1.4 以降をサポートし、パススルーをサポートする K8S ゲートウェイが使用可能であることを確認する必要があります。

    Istio ゲートウェイを使用する場合は、カスタマイズで次の環境変数を設定する必要があります。
    env:
     PILOT_ENABLE_ALPHA_GATEWAY_API: true ## Necessary for TLSroute passthrough
  • プレゼンスを実行しているマシン上の DNS レコードまたはホスト・ファイルを変更するためのアクセス。

プレゼンスを使用する DAST スキャンごとに、専用トンネルが作成されます。すべてのトンネルは同じトンネル・サーバーの IP アドレスを使用しますが、(K8S クラスター内の) 一致する DAST スキャナーへのルーティングを可能にする異なる FQDN を使用します。

カスタマイズ・ファイル・パラメーター

これを許可するには、展開前にカスタマイズ・ファイルで次の設定を構成する必要があります。
パラメーター 説明 制約/例
CK_CONFIGURATION_DISCLOSED_TUNNEL_HOST_MAX_ID ロード・バランシングに使用できるトンネル・サーバー・プールの合計サイズを定義します。この整数は、接続のルーティング時に使用されるラウンドロビン・インデックスの上限を決定します。システムは 0 から TunnelHostMaxId - 1 までのインデックスを使用してホスト名を生成します。 制約: この値が、環境をプロビジョニングする DNS レコードの数と一致することを確認します。例: 値 5 はインデックス 0 から 4 を有効にします。
CK_CONFIGURATION_DISCLOSED_TUNNEL_HOST_NAME_PATTERN トラフィックを特定のトンネル・サーバー・インスタンスにルーティングするために使用されるホスト名テンプレート・ストリング。このパターンにはプレースホルダー {0} が含まれている必要があり、システムはプレースホルダーを 3 桁のゼロ・パディングされたサーバー・インデックスで置き換えます (例: 000、001)。 制約: パターンのドメイン部分は、Kubernetes Gateway リスナー IP にマッピングされた DNS エントリーと一致する必要があります。例: tap-{0}.as360.example.com は、tap-000.as360.example.com、tap-001.as360.example.com などに解決します。
重要: ホストの数は、プレゼンスを使用して実行される同時 DAST スキャンの数以上でなければならない。

トンネル・サーバー・ロードバランシング用の DNS の構成

トンネル・サーバー間の適切な接続を確保するには、生成されたホスト名をKubernetes Gateway リスナー IPにマップするように DNS レコードを構成する必要があります。

前提条件:
  1. Gateway リスナー IP アドレスを取得します。
  2. ホスト名パターン (tap-{0}.as360.example.com など) を識別します。
  3. 最大ホスト ID (トンネル・インスタンスの数) を識別します。

DNS レコード・フォーマット:

システムはラウンドロビン・インデックス方式を使用します。0 から最大ホスト ID - 1 までのインデックスごとに DNS レコードを作成する必要があります。
  • 注: インデックスは常にゼロ・パディングのある 3 桁の数字としてフォーマットされます (例: 0 は 000 になります)。

オプション A: ワイルドカード・レコード (推奨)

セキュリティー・ポリシーで許可されている場合は、ワイルドカード CNAME または A-Record を 1 つ作成します。これは最も単純なメンテナンス・アプローチです。

  • レコード: *.as360.example.com ⇒ [Gateway リスナー IP]

  • 注: これにより、現在および将来のトンネル・インデックスが自動的にカバーされます。

オプション B: 明示的記録

ワイルドカードが許可されていない場合は、すべてのインデックスに対してレコードを明示的に追加する必要があります。

シナリオ例:

  • パターン: tap-{0}.as360.example.com

  • 最大ホスト ID: 5 (インデックス 0 ~ 4)

  • Gateway IP: 192.168.1.50

次の 5 つの DNS レコードを作成します。

インデックス 生成されたホスト名 ターゲット
0 tap-000-as360.example.com 192.168.1.50
1 tap-001-as360.example.com 192.168.1.50
2 tap-002-as360.example.com 192.168.1.50
3 tap-003-as360.example.com 192.168.1.50
4 tap-004-as360.example.com 192.168.1.50

オプション C: プレゼンスを実行するマシンでの Hosts ファイルの設定

企業の DNS サーバーにアクセスできない場合、またはホスト名を解決するための迅速なローカル・ソリューションが必要な場合は、プレゼンスをホストする個々のマシンでホストと IP アドレスのマッピングを手動で設定できます。

この方法は、追加する特定のエントリーの標準 DNS 解決をオーバーライドします。

これは、次のような環境での一般的な回避策です。

  • 中央 DNS サーバーを変更するために必要な権限がない。

  • ターゲット・アプリケーションが、プライベートまたは特定のネットワーク・セグメントを介してのみアクセス可能であり、プレゼンス・マシンのグローバル DNS エントリーが欠落しているか、正しくない。

  • 公式 DNS エントリーが伝播される前に、新しいアプリケーション設定をテストしている。

Hosts ファイルを変更する手順

hosts ファイルは、ホスト名を IP アドレスにマッピングするプレーン・テキストのオペレーティング・システム・ファイルです。その場所はオペレーティング・システムによって異なります。

オペレーティング・システム デフォルトのホスト・ファイルの場所
Windows C:\Windows\System32\drivers\etc\hosts
Linux /etc/hosts

Hosts ファイル・エントリーの例:

DAST プレゼンス・マシンがターゲット・ホスト名 tap-000-as360.example.com を特定の IP アドレス 192.168.1.50 に解決するように、hosts ファイルに次の行を追加します。
192.168.1.50 tap-000-as360.example.com # AppScan 360 DAST Target IP