Java IAST エージェントの配置

Java、.NET、Node.js または PHP ベースのアプリケーションをサポートするアプリケーション・サーバーに IAST エージェントを配置できます。このセクションでは、Web サーバーに Java エージェント・タイプを作成する方法について説明します。

始める前に

IAST を使用する最も簡単で効果的な方法は、Web サーバーに WAR ファイル・サーブレットとして配置することです。これが不可能な場合、例えば、Quarkus フレームワークで IAST を実行する場合は、JAR ファイルを使用して、IAST エージェントを Java エージェントとしてインストールできます。
サポート: JRE/JDK 1.8 以上を実行する Web アプリケーション・サーバーのみがサポートされています。
  1. 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}
    • 外部と通信するために証明書が必要な場合 (例えば、透過プロキシーを通過する場合)、有効な証明書を指定し、次のコマンドを実行して鍵ストアにインポートします。
      注: 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
                                          
  2. IAST エージェント・バージョン 1.14.2 より前のバージョンで、コンパイル時間およびランタイム Java バージョンがどちらも 9 以降である場合は、Java 実行コマンドに次のフラグを追加します:
    –Djava.lang.invoke.stringConcat=BC_SB

手順

  1. ASoC Java IAST エージェントをダウンロードします。
    1. ここに記載されている手順に従って、エージェントをダウンロードします。
  2. ZIP ファイルの抽出:
    1. ダウンロードしたファイルを展開してファイルの内容にアクセスします。
  3. IAST エージェントの配置:
    オプション A: WAR サーブレットとしてデプロイ:
    1. WAR ファイルの位置を特定:
      1. 展開した ZIP ファイルのルートディレクトリーで Secagent.war を見つけます。
    2. サーバーの配置:
      • Tomcat サーバー/Jetty サーバー: Secagent.warwebapps フォルダーにコピーするか、他の WAR サーブレットと同様に配置します。
      • WebSphere サーバー: エンタープライズアプリケーションではなく、Web アプリケーションとして Secagent.war を配置します。コンテキストルートが /Secagent に設定されていることを確認します。
      • WebSphere Liberty サーバー/Open Liberty サーバー: Secagent.wardropins フォルダーにコピーするか、通常どおりに配置します。
      • JBoss/WildFly サーバー/JBoss EAP サーバー: Secagent.wardeployments フォルダーにコピーするか、他の WAR サーブレットと同様に配置します。
      • Weblogic: Secagent.war を、他の WAR サーブレットと同様に配置します。
    3. 配置の検証:
      1. Web ブラウザーを開いて、http://<server address>/Secagent に移動します。
      2. Secagent ページが表示された場合は、エージェントは正常に配置されています。
      3. IAST エージェントは、アプリケーションの使用またはテスト (機能テストの実行、ダイナミックスキャンの実行、または手動でのアプリケーションの探索) 時に、リクエストを監視し、セキュリティーの問題を報告します。
    オプション B: JAR ファイルとしてデプロイ:

    IAST エージェントを WAR ファイルとして配置できない場合 (QuarkXPress フレームワークを使用する場合など) は、この方法を使用します。

    1. JAR ファイルの位置を特定:
      1. secagent.jar を検索します (jar_deployment フォルダー内)。
    2. Java エージェントをアプリケーションに追加します。
      1. コマンドライン・オプション: 以下のフラグをアプリケーションのコマンド行に追加します。
        -Djavaagent:<path to secagent.jar>
      2. 環境変数オプション: JAVA_TOOL_OPTIONS 環境変数を設定します。
        set JAVA_TOOL_OPTIONS=-javaagent:<path to secagent.jar>  
    3. 配置の検証:
      1. [IAST Secagent]」から始まるメッセージがないか stdout を確認します。
      2. これらのメッセージが表示された場合、エージェントは正常にインストールされています。
      3. IAST エージェントは、アプリケーションの使用またはテスト (機能テストの実行、ダイナミックスキャンの実行、または手動でのアプリケーションの探索) 時に、リクエストを監視し、セキュリティーの問題を報告します。

セキュリティー・マネージャーを使用した Java エージェントの実行

このタスクについて

Java エージェントは、次のようにセキュリティー・マネージャーを使用して実行できます。

  • Tomcat の WAR ファイルとして、または
  • Tomcat 以外のサーバーの jar ファイルとして。指導については、AppScan サポート・チームにお問い合わせください。

セキュリティー・マネージャーを Tomcat の WAR として使用して Java エージェントを実行するには、次の手順を実行します。

手順

  1. catalina.policy ファイルを見つけます。
    catalina.policy ファイルは通常、Tomcat のインストール構成ディレクトリーにあります。正確なパスは、オペレーティング・システムと Tomcat のバージョンによって異なる場合があります。
  2. catalina.policy ファイルをテキスト・エディターで開きます。
  3. 「grant」ブロックを探します。

    キーワード「grant」から始まり、1 つ以上の「permission」ステートメントが続くブロックを探します。

  4. 必要な許可を以下のように追加します。
    1. 「grant」ブロック内に、次の許可を追加します。
      permission java.lang.RuntimePermission "net.bytebuddy.*";
    2. ファイルの最後に、次の許可を追加します。
      grant codeBase "file:${catalina.base}/webapps/Secagent/-" {
                                          permission java.security.AllPermission;
                                          };
  5. catalina.policy ファイルを保存します。
  6. Tomcat サーバーを再起動して、変更内容を適用します。