目次

PHP

サポートされるバージョン

AgentはLinux環境にのみインストールできます。Windowsではサポートされていません。

Application SecurityのPHPエージェントは、次のコンポーネントと互換性があります。

コンポーネント Version
サーバ

Apache 2 mod_php

NGinXまたはApacheを使用するPHP-FPM

コード保護機能

一部のコード保護機能は、特定のコンポーネントがアプリケーションで使用されている場合にのみ有効になります。

PHPの場合、 SQL Injection 機能を使用するには、 PHP Data Objects(PDO) を有効にする必要があります。

PHP APIのバージョン

PHP APIのバージョンは、バイナリの識別に使用されます。PHPのバージョンとAPIのバージョンの対応は次のとおりです。

PHPバージョン PHP APIバージョン
7.0 20151012
7.1 20160303
7.2 20170718
7.3 20180731
7.4 20190902

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

PHPエージェントは、 ダウンロードページから入手できます。

エージェントをインストールする

  1. PHPのバージョンとプラットフォームに対応したAgentパッケージをダウンロードします。

  2. 次のようにApacheを停止します。
    sudo service apache2 stop

  3. trend_app_protect-*.so をPHP拡張ディレクトリに移動します。

    $ mv /path/to/trend_app_protect-*.so "$(php -r 'echo ini_get ("extension_dir");')"/trend_app_protect.so

  4. 次の行を php.ini ファイル(または、存在する場合は /etc/php.d/の新しい .ini ファイル)に追加します。

; Enable the extension
extension = trend_app_protect.so

; Add key and secret from the Application Protection dashboard
trend_app_protect.key = <your key>
trend_app_protect.secret = <your secret>
名前「trend_app_protect.so」が、php拡張ディレクトリにコピーされたファイル名と拡張子が 正確に と一致することを確認してください。

Key および Secret は、 Group Settings > Group Credentialsにあります。

環境変数 が設定ファイルよりも優先されます。

  1. エージェントファイルをコピーするか php.ini ファイルを編集したら、次のようにApacheを再起動します。
    sudo service apache2 restart

アプリケーションコード実行の事前要求

状況によっては、要求が処理される前にアプリケーションコードを実行することが望ましい場合があります。たとえば、セキュリティイベントを生成してバックエンドに送信する前にアプリケーションコードを実行する必要がある場合です。

PHPエージェントでは、セキュリティ保護の一部がPHP言語自体ではなくネイティブコードレベルで適用されます。これにより、PHPアプリケーションが Application Security バックエンドに送信される前に、セキュリティイベントが生成されます。

PHPアプリケーションコードをセキュリティイベントの生成前に実行できるようにするために、PHPエージェントには、各要求の前に実行されるPHPコードへのパスを指定できる設定があります。このスクリプトを使用して、テナントIDなどを使用して生成されるセキュリティイベントをコンテキスト化するタグを動的に設定できます。

設定キー 環境変数 Description
trend_app_protect.prepend_php_file TREND_AP_PREPEND_PHP_FILE 各要求で最初に実行されるスクリプトのパス。初期設定:なし。 Malicious Payloadなどによって要求が早期にブロックされた場合、このスクリプトのみが実行されます。この設定はPHPエージェントでのみサポートされます。