Java IAST エージェントの配置
Java、.NET、Node.js または PHP ベースのアプリケーションをサポートするアプリケーション・サーバーに IAST エージェントを配置できます。このセクションでは、Web サーバーに Java エージェント・タイプを作成する方法について説明します。
始める前に
IAST を使用する最も簡単で効果的な方法は、Web サーバーに
WAR ファイル・サーブレットとして配置することです。これが不可能な場合、例えば、Quarkus フレームワークで IAST を実行する場合は、JAR ファイルを使用して、IAST エージェントを Java エージェントとしてインストールできます。サポート: JRE/JDK 1.8 以上を実行する Web アプリケーション・サーバーのみがサポートされています。
- IAST が実行されているサーバーがプロキシーの背後にある場合:
- 透過プロキシーの場合は、サーバーの実行時に次の Java プロパティーのいずれかを使用します。
- 標準 Java プロパティー:
-Dhttps.proxyHost={proxy_ip} -Dhttps.proxyPort={proxy_port} - カスタム Java プロパティー:
-DIast.proxyHost={proxy_ip} -DIast.proxyPort={proxy_port} - 環境変数:
IAST_PROXY_HOST={proxy_ip} IAST_PROXY_PORT={proxy_port}
- 標準 Java プロパティー:
- 外部と通信するために証明書が必要な場合 (例えば、透過プロキシーを通過する場合)、有効な証明書を指定し、次のコマンドを実行して鍵ストアにインポートします。注: JRE をデフォルト設定でインストールした場合、鍵ストア名は
cacertsとなり、パスワードchangeitによって保護されます。それ以外の場合は、-storepass、-keystore、および-fileに独自の値を指定します。keytool.exe -import -storepass "changeit" -keystore "C:\Program Files (x86)\Java\jre1.8.0_144\lib\security\cacerts" -alias certificate.cer -file "C:\certificate.cer" -noprompt
- 透過プロキシーの場合は、サーバーの実行時に次の Java プロパティーのいずれかを使用します。
- IAST エージェント・バージョン 1.14.2 より前のバージョンで、コンパイル時間およびランタイム Java バージョンがどちらも 9 以降である場合は、Java 実行コマンドに次のフラグを追加します:
–Djava.lang.invoke.stringConcat=BC_SB
手順
-
ASoC Java IAST エージェントをダウンロードします。
- ここに記載されている手順に従って、エージェントをダウンロードします。
-
ZIP ファイルの抽出:
- ダウンロードしたファイルを展開してファイルの内容にアクセスします。
-
IAST エージェントの配置:
オプション A: WAR サーブレットとしてデプロイ:
- WAR ファイルの位置を特定:
- 展開した ZIP ファイルのルートディレクトリーで
Secagent.warを見つけます。
- 展開した ZIP ファイルのルートディレクトリーで
- サーバーの配置:
- Tomcat サーバー/Jetty サーバー: Secagent.war を
webappsフォルダーにコピーするか、他の WAR サーブレットと同様に配置します。 - WebSphere サーバー: エンタープライズアプリケーションではなく、Web アプリケーションとして Secagent.war を配置します。コンテキストルートが
/Secagentに設定されていることを確認します。 - WebSphere Liberty サーバー/Open Liberty サーバー: Secagent.war を
dropinsフォルダーにコピーするか、通常どおりに配置します。 - JBoss/WildFly サーバー/JBoss EAP サーバー: Secagent.war を deployments フォルダーにコピーするか、他の WAR サーブレットと同様に配置します。
- Weblogic: Secagent.war を、他の WAR サーブレットと同様に配置します。
- Tomcat サーバー/Jetty サーバー: Secagent.war を
- 配置の検証:
- Web ブラウザーを開いて、
http://<server address>/Secagentに移動します。 - Secagent ページが表示された場合は、エージェントは正常に配置されています。
- IAST エージェントは、アプリケーションの使用またはテスト (機能テストの実行、ダイナミックスキャンの実行、または手動でのアプリケーションの探索) 時に、リクエストを監視し、セキュリティーの問題を報告します。
- Web ブラウザーを開いて、
IAST エージェントを WAR ファイルとして配置できない場合 (QuarkXPress フレームワークを使用する場合など) は、この方法を使用します。
- JAR ファイルの位置を特定:
secagent.jarを検索します (jar_deploymentフォルダー内)。
- Java エージェントをアプリケーションに追加します。
- コマンドライン・オプション: 以下のフラグをアプリケーションのコマンド行に追加します。
-Djavaagent:<path to secagent.jar>
- 環境変数オプション: JAVA_TOOL_OPTIONS 環境変数を設定します。
set JAVA_TOOL_OPTIONS=-javaagent:<path to secagent.jar>
- コマンドライン・オプション: 以下のフラグをアプリケーションのコマンド行に追加します。
- 配置の検証:
- 「
[IAST Secagent]」から始まるメッセージがないかstdoutを確認します。 - これらのメッセージが表示された場合、エージェントは正常にインストールされています。
- IAST エージェントは、アプリケーションの使用またはテスト (機能テストの実行、ダイナミックスキャンの実行、または手動でのアプリケーションの探索) 時に、リクエストを監視し、セキュリティーの問題を報告します。
- 「
- WAR ファイルの位置を特定:
セキュリティー・マネージャーを使用した Java エージェントの実行
このタスクについて
Java エージェントは、次のようにセキュリティー・マネージャーを使用して実行できます。
- Tomcat の WAR ファイルとして、または
- Tomcat 以外のサーバーの jar ファイルとして。指導については、AppScan サポート・チームにお問い合わせください。
セキュリティー・マネージャーを Tomcat の WAR として使用して Java エージェントを実行するには、次の手順を実行します。
手順
-
catalina.policy ファイルを見つけます。
catalina.policy ファイルは通常、Tomcat のインストール構成ディレクトリーにあります。正確なパスは、オペレーティング・システムと Tomcat のバージョンによって異なる場合があります。
- catalina.policy ファイルをテキスト・エディターで開きます。
-
「grant」ブロックを探します。
キーワード「grant」から始まり、1 つ以上の「permission」ステートメントが続くブロックを探します。
-
必要な許可を以下のように追加します。
- catalina.policy ファイルを保存します。
- Tomcat サーバーを再起動して、変更内容を適用します。