プロキシー・サーバーの使用

AppScan プレゼンス・プロキシー・サーバーを使用してトラフィックを記録し、それを CONFIG ファイルとして保存し、インポートして ASoC スキャンを実行できます。以下の手順の下にあるサブセクションの説明に従って、オプションでこのファイルを暗号化することができます。

手順

  1. REST API の資料を参照するには、ブラウザーに以下のように入力します。
    http://localhost:<port>
    別のマシンから参照するには、以下のように入力します。
    http://<IP>:<port>
    port
    プロキシー・サーバーが listen するポート
    IP
    プロキシー・サーバーがインストールされているマシンの IP アドレス
  2. サイトが保護されている場合 (HTTPS)、以下のいずれかの操作を行い、SSL 警告を回避できます。
    1. REST API を使用して自己署名ルート認証局をダウンロードします。これは、AppScan プロキシー・サーバーで PEM ファイルとして使用します。
    2. 探査に使用するブラウザー、または必要な場所 (トラフィックの送信元に応じて決まります) に証明書をインストールします。
    詳細については、ルート証明書を構成するを参照してください。
  3. プロキシーを開始するには、REST API 要求のStartProxy を使用して、記録ポート (トラフィックの送信先にするポート) を定義します。
    注: プロキシー・サーバーがサイトに直接アクセスできない場合は、この REST API でアップストリーム (チェーニングされた) プロキシーを定義することも可能です。
    注: 複数の チェーニングされたプロキシー、またはプロキシーの例外を定義する必要がある場合、インストール・フォルダーにあるチェーニングされたプロキシーのルール・ファイル (proxy.chain) を使用します。
    注: トラフィックが暗号化されていない場合 (下のサブセクションを参照)、以下を使用して、個々の記録用にトラフィック・ファイル (DAST.CONFIG) を暗号化できます。
    Query param Example:
    /StartProxy/<recordingPort>?encrypted=true
  4. 定義した記録ポート経由でトラフィックを送信します。
  5. 完了したら、以下の REST API 要求を送信します:StopProxy (StopProxy/0 は使用できません)。
  6. 記録されたトラフィック・ファイルをダウンロードするために、以下の REST API 要求を送信します:トラフィック
    トラフィック・ファイルの拡張子は .dast.config です
    注: トラフィック・ファイルをダウンロードすると、そのトラフィック・データがプロキシー・サーバーから削除されます。

    ASoC REST API を使用し、DAST.CONFIG ファイルを使用して既存のジョブの探査データを更新することができます。以下のことができます。

DAST.CONFIG ファイルの暗号化

プロキシー・サーバー REST API を使用し、DAST.CONFIG ファイルをアップロードして暗号化してから、暗号化したファイルをダウンロードできます。
  • ファイルをアップロードして暗号化するには、以下を使用します。EncryptDastConfig
  • 暗号化したファイルをダウンロードするには、以下を使用します。DownloadEncryptedDastConfig
詳しくは、プロキシー・サーバー・コマンド (REST API)を参照してください。

すべてのトラフィックの暗号化

デフォルトでは、トラフィック (DAST.CONFIG) ファイルは暗号化されません。すべてのトラフィックを暗号化するようにサーバーを構成するには、インストール・フォルダーにある Settings.json ファイルで "encryptDastConfig" キーを true に変更します。

一定時間操作がなかったことによるタイムアウト

プロキシー・インスタンスを使用後に close コマンドで閉じない場合、ポート上で開いたままリッスンを続行します。事前定義した時間アイドルになると、プロキシー・インスタンスは自動的に閉じられます。プロキシー・インスタンスのデフォルトの非アクティブ・タイムアウトは、60 分です。インストール・フォルダーに保存されている Settings.json ファイルでこの値を変更することができます。
重要: このファイルの他の設定は変更しないでください。

ルート証明書を構成する

お使いのアプリケーションが SSL (HTTPS) を使用している場合、トラフィックを記録するためにプロキシーが中間者攻撃として動作する必要があります。このためには、プロキシー・サーバーに、アプリケーションとの通信の署名を行うために使用できるルート証明書が必要です。
デフォルトではプロキシー・サーバーは、ユーザーの介入なく固有のルート証明書を生成します。ただし、アプリケーションを参照中に SSL 警告が表示されます。以下のいずれかを実行できます。
  1. 警告を無視します。
  2. マシン上のプロキシーによって生成された証明書をインストールします。
    1. REST API を使用して自己署名ルート認証局をダウンロードします。これは、AppScan プロキシー・サーバーで PEM ファイルとして使用します。
    2. 探査に使用するブラウザー、または必要な場所 (トラフィックの送信元に応じて決まります) に証明書をインストールします。
  3. 独自のルート証明書をプロキシー・サーバーにインポートします。サポートされる証明書形式は、PKCS12 (.P12、.PFX)、JKS です。
    1. コマンド行ウィンドウを開き、プロキシー・サーバー・マシンのインストール・フォルダーへ移動します。
    2. 次のコマンドを実行します。
      .\Java\jre\bin\java -jar DastProxy.jar -irc [path to certificate file] -ircp [password]
    注: 完全なコマンドの使用法を表示するには、次を実行します。
     .\Java\jre\bin\java -jar DastProxy.jar
重要: 証明書はプロキシー・サーバーに保存されるので、専用のテスト証明書を使用することをお勧めします。
注: このワークフローのデモ・スクリプト ProxyServerDemoScript.py は、AppScan インストール・フォルダーにあります。