プライベート・サイトのスキャンについて

AppScan 360° 一元管理型オンプレミスサーバーから Dynamic Application Security Testing (DAST) を実行できます。この機能には、スキャナー (AppScan 360° インスタンスに存在) がテスト対象のアプリケーションにアクセスできることが要件となります。同じネットワークセグメントにある Web アプリケーションや、標準ルーティングを介してアクセス可能な Web アプリケーションは、問題なくスキャンできます。ただし、ターゲットアプリケーションが分離されたネットワークセグメント、厳密な内部ファイアウォールの内側、または中央 AppScan 360° サーバーが直接接続を確立できない VPN 上に存在する場合は、プライベートサイト・スキャン (PSS) が必要です。

PSS トンネリング

PSS ソリューションでは、お客様のネットワークに、ネットワークにリスクをもたらすおそれのある特別な変更を加える必要はありません。お客様のネットワーク内にセットアップされている PSS クライアントには、AppScan 360° インスタンスへの (直接または HTTP プロキシーを介した) アクセスとスキャン対象のサイトへのアクセスのみが必要です。

このソリューションは、TCP/IP トンネルを構成する 2 つのエンドポイント (サーバーとクライアント) からなります。このトンネルは、分離されたネットワーク (クライアント) 側にあるエンドポイントから開始されます。

トンネル・サーバー

このエンドポイントは、スキャナーとともに 分離されたネットワークセグメント内にあります。これは、新しいスキャンが開始されたときにのみ始動されます。スキャンに対するサーバーの 2 つの「サイド」が、listen 接続 (バックツーバック・サーバー) を構成します。

  • まず、サーバーはトンネル・クライアントからの着信接続を listen します。これが、トンネル・サイドです。
  • もう一方として、サーバーはスキャナーからの着信接続を listen します。この点において、サーバーは HTTP プロキシーをエミュレートするため、これがプロキシー・サイドとなります。

クライアントからの接続が利用可能になると、スキャナーがプロキシー・サイドに要求を送信します。送信された要求は、トンネル・サイドの着信接続にポート転送されます。クライアントから返される応答は、プロキシー・サイドによってスキャナーに転送されます。

トンネル・クライアント

このエンドポイントは分離されたネットワークセグメント内にあり、サーバーへの TCP/IP 接続を生成します。トンネル・クライアントはトンネル・サーバーと同じ機能を実行しますが、トンネル・サーバーとは異なる点として、クライアント接続 (バックツーバック・クライアント) の 2 つのセットから構成されています。トンネル・クライアントにも 2 つの「サイド」があります。

  • トンネルサイドは、AppScan 360°インスタンス上のトンネルサーバーに発信される接続のセットです。
  • クライアント・サイドは、スキャンされるサーバーに (直接またはプロキシーを介して) 発信される接続のセットです。

トンネル・クライアントはポート転送を行います。

AppScan Presence

プライベートサイトのスキャントンネルは、AppScan Presence と呼ばれる、AppScan 360° で制御される中央メカニズムに依存します。AppScan Presence は、中央サービスから実行対象のタスクを受信し、ハンドラーをトリガーしてそのタスクを実行する通信チャネルです。Presence Service は、ポーリングサービスであり、セキュリティーで保護された HTTP 通信を使用して、タスクの有無を確認するために継続的に AppScan 360° サービスをポーリングします。

AppScan Presence サービスは、AppScan 360 サービスからタスクを取得し、そのタスクを処理するために必要な情報をダウンロードして、ハンドラーをトリガーするという役割だけを果たします。この場合、タスクはトンネル・クライアントによって処理されます。取得される情報は、サーバーへのトンネル・クライアント接続を開始するために必要なデータです。

スキャンの実行

スキャンを実行するには、トンネル・クライアントを始動してサーバーに接続する必要があります。これは、AppScan Presence フレームワークによって実行されます。

AppScan Presence フレームワークは、トンネル・クライアント・マシン上で稼働するプレゼンス・サービスからなります。Presence Service により、プレゼンス AppScan 360 インスタンスがポーリングされます。このサーバーはスキャンを実行できる状態になるとそのことを示します。サービス間で交換されるスキャンの詳細には、クライアントが接続しなければならないトンネル・サーバーの IP アドレスが含まれます。さらに、クライアントは接続先サーバーを確実に識別するための情報も受信します。詳細については、この後の「セキュリティーの考慮事項」のセクションで説明します。

ユーザーがプライベート・スキャンを要求し、スキャンを実行するために使用するプレゼンス・インスタンスを選択すると、スキャン・エージェントが割り当てられて、そのエージェントのトンネル・サーバーが始動します。続いて、タスクが AppScan 360° サーバー内のキューに入れられます。このタスクがプレセンス・サービスによって受け入れられると、関連する接続情報を使用してトンネル・クライアントを起動します。

セキュリティーに関する考慮事項

お客様のネットワークとトンネル接続のセキュリティーという 2 つの重要なセキュリティー面が考慮されました。

このソリューションでは、組織のコアネットワークルーティングを変更する必要はありません。重要な点として、AppScan Presence と PSS トンネルクライアントによって特別な譲歩が必要になることはありません。したがって、お客様は組織のセキュリティーポリシーを AppScan Presence と PSS トンネルクライアントを実行するホストマシンに適用できます。ほとんどの場合、内部のファイアウォールに変更を加える必要はありません (特定のポートや IP アドレスでの受信接続の許可など)。例外は以下のとおりです。
  • 分離されたセグメント内のマシンが中央ネットワークへの直接発信アクセスから制限されている場合、AppScan Presence をホストするマシンが AppScan 360インスタンスに到達できるようにする必要があります。
  • 組織が独自の証明書を使用して SSL/TLS トラフィックに再署名する場合、通信が中断されることなく、アーキテクチャーに組み込みのセキュリティー・メカニズムが正しく機能できるように、AppScan 360° への接続を制限対象から除外する必要があります。
このような場合は、AppScan 360 が使用する IP アドレスまたはホスト名を再署名の対象から除外するか、そうした IP 範囲への直接アクセスを許可して、ファイアウォールによって通信がブロックされないようにしてください。

プレゼンス ID

プレゼンス・サービスごとに、その ID としての役割を果たす一意の鍵があります。これは、プレゼンス・インスタンスを識別して、適切なスキャン・タスクを割り当てるために使用されます。この鍵はいつでも更新することができるので、定期的な更新を要件とする組織のセキュリティー・ポリシーに準拠することができます。サーバー上で鍵を更新すると、鍵が物理的にプレゼンス・マシンに配置されるまで、プレゼンス・インスタンスがタスクの受信を停止します。

認証

検証されていない場所からのネットワークセグメント間で外部アクセスを防ぐには、トンネルサーバーとトンネルクライアントが互いを信頼できることが不可欠となります。スキャンを実行する準備が整い、トンネル・サーバーが開始されると、サーバーの秘密鍵と証明書、およびランダムなクライアント鍵 (25 文字の英数字) が生成されます。スキャンの詳細とともに、このサーバー証明書とクライアント鍵が (プレゼンスサービスと AppScan 360 サービス間の通信により) トンネルクライアントに渡されます。これにより、トンネル・クライアントとトンネル・サーバーは、リモート接続の ID を検証できます。

スキャンが完了すると、サーバー証明書とクライアント鍵は無効になり、再スキャンであっても再利用されることは決してありません。

証明書は最新の NIST 標準および FIPS 標準に準拠しており、これらの標準は更新されることがあります (暗号化アルゴリズム、ハッシュ・アルゴリズム、およびキーの長さ)。

転送中のデータの保護

トンネル接続は TLS 1.2 を使用して暗号化されます。トンネル・クライアントは、事前に随時のサーバー証明書を取得し、それを使用して、TLS 認証で使用されるサーバー証明書が想定どおりの証明書であることを検証します。クライアントは、サーバーを認証した後、クライアント鍵をサーバーに送信して、サーバーがクライアントを認証できるようにします。データがこのトンネルを通過する際には、スキャナーとテスト・アプリケーションの間で要求と応答がやり取りされるため、高い機密性が維持されます。データを保護するために、トンネルを通過する間、このような 1 回限りの証明書と鍵を使用してデータが暗号化されます。