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 エージェントを WAR サーブレットまたは JAR ファイルとしてデプロイします。
WAR サーブレットとしてデプロイ:
- 解凍した ZIP ファイルのルートで
Secagent.war
を見つけます。 - サーバーの手順に従ってください:
- Tomcat サーバー/Jetty サーバー: Secagent.war を
webapps
フォルダーにコピーするか、他の WAR サーブレットと同様に配置します。 - WebSphere サーバー: Secagent.war を、他の WAR サーブレットと同様に配置します。注: 次の点を確認します:
- エンタープライズ・アプリケーションではなく、Web アプリケーションとしてエージェントを配置します
- コンテキスト・ルートとして
/Secagent
を選択します。
- WebSphere Liberty サーバー/Open Liberty サーバー: Secagent.war を
dropins
フォルダーにコピーするか、他の WAR サーブレットと同様に配置します。 - JBoss/WildFly サーバー/JBoss EAP サーバー: Secagent.war を deployments フォルダーにコピーするか、他の WAR サーブレットと同様に配置します。
- Weblogic: Secagent.war を、他の WAR サーブレットと同様に配置します。
- Tomcat サーバー/Jetty サーバー: Secagent.war を
- 配置を確認するには、ブラウザーを開いて次を参照します:
Secagent ページを開くと、エージェントが無事にロードされています。アプリケーションを使用またはテストすると (機能テストの実行、動的スキャンの実行、またはアプリのマニュアル探査)、IAST エージェントによって要求が送信時に監視され、検出されたセキュリティー問題が報告されます。http://<server address>/Secagent
IAST エージェントを WAR ファイルとしてデプロイできない場合は、このデプロイメント方式を使用します。例えば、Quarkus フレームワークで IAST を実行している場合などです。このデプロイメント方式では、IAST エージェントは Java エージェントとして実行されます。
jar_deployment
フォルダー内でsecagent.jar
を見つけます。- 以下のフラグをアプリのコマンド行に追加します。
-Djavaagent:<path to secagent.jar>
- 配置を検証するには、
stdout
で「[IAST Secagent]
」で始まるメッセージを確認してください。
- 解凍した ZIP ファイルのルートで
セキュリティー・マネージャーを使用した 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 サーバーを再起動して、変更内容を適用します。