HCL AppScan Traffic Recorder の構成

変更は、HCL AppScan Traffic Recorder に対応した構成ファイル Settings.json で行えます。

設定ファイルに変更を加えた後は、サーバーを再起動する必要があります。
重要: アップグレード時に、Settings.json に既に PKCS12 証明書が設定されている場合は、それをリセットする必要があります。

FIPS 準拠モード

FIPS 準拠モードを設定するには、次の手順を実行します。
  1. HCL AppScan Traffic Recorder のルート・フォルダーでファイル Settings.json を見つけて、テキスト・エディターで開きます。
  2. 設定 requireFips プロパティーを見つけ、その値を false から true に変更します。
  3. ファイルを保存します。

トラフィック・レコーダー接続

  1. Settings.json にトラフィック・レコーダーのデフォルト・ポートを構成します。
  2. トラフィック・レコーダーへのセキュアな (SSL) 接続を構成します。これを行うには、独自の証明書 (方法 A) または自己署名証明書 (方法 B) を使用します。
    方法 A: Settings.json で独自の PEM 証明書または PKCS12 証明書を構成します。
    PEM:
    • PEM 証明書には 2 つのファイル・パス (private.keycertificate.pem へのパス) が必要です。
      • それらのファイル・パスを Settings.json の PEM セクションに挿入します。
        注: \ 文字のエスケープ処理が必要です。例えば、C:\\Users\\admin\\private.key のようにします。
    PKCS12:

    ファイル・パスとパスワードの両方で、必要に応じて文字をエスケープする必要があります。例えば、abc!”123 などのパスワードは abc!\”123 になります ( のシンボルはエスケープされます)。

    1. コマンド・ラインで、次のように実行します。
      .\Java\bin\java.exe -jar .\DastProxy.jar -sc "C:\Path\to\certificate.pfx"
    2. プロンプトが出されたら、証明書のパスワードを入力し、Enter キーを押します。
    OpenSSL を使用して PEM 証明書を作成する例:
    openssl req -newkey rsa:2048 -new -nodes -keyout key.pem -out csr.pem
    openssl x509 -req -days 365 -in csr.pem -signkey key.pem -out server.crt
    OpenSSL を使用して PEM 証明書を PKCS12 証明書に変換する例:
    openssl pkcs12 -export -out certificate.pfx -inkey key.pem -in server.crt
    Java のキー生成ツールを使用して JKS 証明書を PKCS12 証明書に変換する例:
     keytool -importkeystore -srckeystore certificate.jks -srcstoretype JKS -destkeystore certificate.p12 -deststoretype PKCS12
    方法 B: 証明書がない場合は、自己署名証明書を作成して使用する必要があります。この方法は安全性が低くなります。
    オプション A: OpenSSL の使用
    OpenSSL は含まれておらず、自己署名証明書を作成する場合を除き、必須ではありません。
    1. OpenSSL コマンドを使用して、キー・ファイルおよび PEM ファイルを作成します。
      openssl req -new -newkey rsa:2048 -nodes -keyout private.key -x509 -days 365 -out certificate.pem
    2. それらのファイル・パスを Settings.json の PEM セクションに挿入します。
      注: \ 文字のエスケープ処理が必要です。例:
      "C:\\Users\\admin\\private.key"
    オプション B: Java キーツールの使用
    NodeJS 17 以降では、キーツールの制限のために --openssl-legacy-provider ノード・フラグを使用する必要があります。https://nodejs.org/api/cli.html#--openssl-legacy-provider を参照してください
    1. コマンド行で、トラフィック・レコーダーのルート・フォルダーを開きます。
    2. 次のコマンドを使用して、PKCS12 証明書ファイルを作成します。
      .\Java\bin\keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore-new.p12 -storetype PKCS12 -validity 365 -keysize 2048
    3. 証明書の詳細を入力し、パスワードで保護します。

      パスワードは、次のステップで必要です。

    4. コマンドを使用して、HCL AppScan Traffic Recorder で生成された証明書を使用します。
      .\Java\bin\java.exe -jar .\DastProxy.jar -sc "keystore-new.p12"

ルート証明書

テスト対象のアプリケーションが SSL (HTTPS) を使用している場合、トラフィックを記録するためには HCL AppScan Traffic Recorder が中間者の役割を果たす必要があります。このためには、AppScan Traffic Recorder に、アプリケーションとの通信に署名するために使用できるルート証明書が必要です。

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

非アクティブ・タイムアウトの設定

トラフィック・レコーダー・インスタンスを使用後に close コマンドで閉じない場合、ポート上で開いたまま listen を続行します。トラフィック・レコーダー・インスタンスは、事前定義した時間だけアイドルになると、自動的に閉じられます。

トラフィック・レコーダー・インスタンスのデフォルトの非アクティブ・タイムアウトは、60 分です。この値を変更するには、インストール・フォルダーにある Settings.json ファイルで “inactivityTimeoutInMinutes” の値を変更します。

トラフィックの暗号化

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

チェーニングされたプロキシー

複数のチェーニングされたプロキシー、またはプロキシーの例外を定義する必要がある場合は、インストール・フォルダーにあるチェーニングされたプロキシーのルール・ファイル (proxy.chain) を使用します。このファイルには、使用手順が含まれています。