このページのトピック
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エージェントは、 ダウンロードページから入手できます。
エージェントをインストールする
-
PHPのバージョンとプラットフォームに対応したAgentパッケージをダウンロードします。
-
次のようにApacheを停止します。
sudo service apache2 stop
-
trend_app_protect-*.so
をPHP拡張ディレクトリに移動します。
$ mv /path/to/trend_app_protect-*.so "$(php -r 'echo ini_get ("extension_dir");')"/trend_app_protect.so
-
次の行を
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にあります。
環境変数 が設定ファイルよりも優先されます。
- エージェントファイルをコピーするか
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エージェントでのみサポートされます。 |
適切なTrend Micro Cloud Oneリージョンと通信するようにエージェントを設定する
「us-1」以外のCloud Oneリージョンを使用している場合は、リージョンのエージェントの接続を設定する必要があります。