PHP IASTエージェントのダウンロードとデプロイ

この手順を使用して、AppScan Enterprise PHP IASTエージェントをダウンロードし、アプリケーションサーバー環境(Windows、Ubuntu、またはRed Hat)にデプロイします。PHP IASTエージェントは、実行時テスト(手動または自動)中に稼働中のWebアプリケーションを監視し、AppScan Enterpriseに脆弱性を報告します。

始める前に

  • 必ずAppScan Enterprise アプリケーションと IAST エージェントを管理する権限を持つアクセス。
  • ターゲットアプリケーションをAppScan Enterpriseで特定してください。
  • ターゲットのPHPアプリケーションサーバー(Windows、Ubuntu、またはRed Hat)で管理者権限を持っていることを確認してください。
  • PHPのバージョンが8.1.0以上であることを確認してください。

このタスクについて

Javaや.NETのエージェントとは異なり、PHPエージェントは、ダウンロードパッケージに含まれるase-config.jsonファイルの詳細を使用して手動で設定する必要があります。サーバー上でエージェントがAppScan Enterpriseに接続するためには、特定の環境変数を設定する必要があります。

PHPエージェントをダウンロードする

手順

  1. AppScan Enterpriseにログインしてください。
  2. アプリケーションリストから、目的のアプリケーションに移動します。
  3. アプリケーション タブを選択し、次に IASTエージェント をクリックします。
  4. 「新規エージェントの作成」をクリックします。
  5. エージェントタイプのリストから、PHPアプリケーションのデプロイ環境に一致するオプションを選択してください。
    • PHP - ウィンドウズ
    • PHP - Ubuntu
    • PHP - レッドハット
  6. エージェント名ボックスに、このエージェントインスタンスの説明的な名前を入力してください。
  7. エージェントをダウンロードをクリックしてください。」
    エージェントZIPパッケージは自動的にダウンロードされます。

パート2:ダウンロードしたパッケージを理解する

手順

  1. ダウンロードしたZIPファイルを見つけてください。
  2. その内容を理解する:
    • エージェントバイナリ:
      • Windows: hcl_agent.dll
      • Ubuntu: hcl_agent.deb
      • レッドハット: hcl_agent.rpm
    • このエージェントインスタンスに特有の設定詳細を含むファイルであるase-config.jsonには、手動サーバー設定に必要なaccessTokenhostの値が含まれています。
    • ライセンスファイル: ライセンス契約情報を含む(例: HCLマスターライセンス契約)。

エージェントをデプロイする(お使いのOSに該当するセクションを選択してください)

Windowsへのデプロイ:

手順

  1. ダウンロードしたエージェントのZIPファイルの内容をサーバーの一時ディレクトリに抽出します。
  2. PHPをエージェント拡張機能をロードするように設定します。
    1. PHPの拡張ディレクトリを見つける。コマンドプロンプトを開き、次のコマンドを実行してください: php -i | findstr "extension_dir"
    2. 抽出されたファイルからhcl_agent.dllファイルを、ステップ2aで見つけたPHP拡張ディレクトリにコピーしてください。
    3. アクティブなphp.ini設定ファイルを見つけてください。コマンドプロンプトで次のコマンドを実行します: php --ini | findstr "Loaded Configuration File"
    4. ステップ2cで見つかったphp.iniファイルをテキストエディタで編集してください。
    5. ファイルの最後に次の行を追加してください: extension=hcl_agent.dll
    6. php.ini ファイルを保存して閉じてください。
  3. 環境変数を設定してください。ase-config.jsonファイルからaccessTokenhostの値を取得します。
    注:
    • IAST_ACCESS_TOKENIAST_HOSTは、サーバー上でローカルに設定することができます。例えば、XAMPPサーバーでは、httpd.confファイルで設定することができます。
    • 他のエージェント(Java、.NET、Node.js)が同じマシンにインストールされている場合、システムレベルではなくサーバーレベルで変数を設定する必要があります(方法B)。

    メソッドA:システムレベル(デフォルト)

    管理者としてコマンドプロンプトを開き、次のコマンドを実行してください。
    setx IAST_ACCESS_TOKEN "ase-config.jsonからのyour_accessToken" /M setx IAST_HOST "ase-config.jsonからのyour_host" /M

    メソッドB:サーバーレベル(XAMPPの例)

    XAMPPサーバーのhttpd.confファイルを編集し、通常はウェブルートの<Directory>セクション内に次の行を追加します。
    以下の環境変数を設定します: IAST_HOST を "ase-config.json からの your_host" に、IAST_ACCESS_TOKEN を "ase-config.json からの your_accessToken" に設定します。
  4. ウェブサーバー(例:ApacheサービスやIIS)を再起動して、変更を適用してください。

Ubuntuへのデプロイ:

手順

  1. ダウンロードしたエージェントのZIPファイルの内容をサーバーの一時ディレクトリに抽出します。
  2. エージェントパッケージをインストールしてください。
    1. ターミナル・ウィンドウを開きます。
    2. dpkgが利用可能であることを確認してください。もしインストールされていない場合は、(例:sudo apt-get update && sudo apt-get install dpkg)インストールしてください。
    3. 抽出されたhcl_agent.debファイルを含むディレクトリに移動するには、cdコマンドを使用してください。
    4. インストールコマンドを実行してください: sudo dpkg -i hcl_agent.deb
      注:
      依存関係についてのプロンプトが表示された場合、その後でsudo apt-get install -fを実行する必要があるかもしれません。
  3. 環境変数を設定します。ase-config.jsonファイルからaccessTokenhostの値を取得してください。
    注:
    • エージェントがウェブサーバーサービスと正しく機能するためには、そのサービスのために環境変数を永続的に設定する必要があります。ターミナルでexportを使用すると、環境変数は現在のセッションでのみ設定されます。
    • 推奨される方法は、Apacheの設定ファイル(例:httpd.conf またはバーチャルホストの設定ファイル)に SetEnv ディレクティブを追加することです。

    Apacheの設定ファイルを編集し、以下の行を追加してください。

    以下の環境変数を設定してください: IAST_HOST を「ase-config.json からの your_host」に、IAST_ACCESS_TOKEN を「ase-config.json からの your_accessToken」に。
  4. 変更を適用するために、ウェブサーバーを再起動してください(例:sudo service apache2 restart または sudo service nginx restart)。

Red Hatへのデプロイ:

手順

  1. ダウンロードしたエージェントZIPファイルの内容をサーバーの一時ディレクトリに抽出します。
  2. エージェントパッケージをインストールしてください。
    1. ターミナル・ウィンドウを開きます。
    2. rpmが利用可能であることを確認してください。インストールされていない場合は、(例:sudo yum install rpm)インストールしてください。
    3. 抽出された hcl_agent.rpm ファイルを含むディレクトリに cd コマンドで移動します。
    4. インストールコマンドを実行してください: sudo rpm -ivh hcl_agent.rpm
  3. 環境変数を設定します。accessTokenhostの値をase-config.jsonファイルから取得します。
    注:
    • エージェントがウェブサーバーサービスと正しく機能するためには、そのサービスの環境変数を永続的に設定する必要があります。ターミナルでexportを使用すると、それらは現在のセッションでのみ設定されます。
    • 推奨される方法は、Apacheの設定ファイル(例:httpd.conf または仮想ホストの設定ファイル)に SetEnv ディレクティブを追加することです。

    Apacheの設定ファイルを編集し、以下の行を追加してください。

    以下の環境変数を設定してください: IAST_HOST を "ase-config.json からの your_host" に、IAST_ACCESS_TOKEN を "ase-config.json からの your_accessToken" に。
  4. 変更を適用するために、ウェブサーバーを再起動してください(例:sudo systemctl restart httpd または sudo systemctl restart nginx)。

タスクの結果

PHP IASTエージェントがアプリケーションサーバーにインストールされ、設定されています。ウェブサーバーが再起動した後、エージェントは提供された環境変数を使用してAppScan Enterpriseに接続を試みます。

次のステップ:

手順

  1. AppScan Enterpriseで、アプリケーション > IASTエージェントに移動し、新しいエージェントが「接続済み」ステータスを表示していることを確認します。
  2. アプリケーションに対してテストを実行します(例:機能テスト、手動探索、DASTスキャン)。IASTエージェントはこのトラフィックを監視します。
  3. エージェントが見つけた脆弱性を AppScan Enterprise として表示します。