部署 Java IAST 代理程序
您可以在支持基于 Java、.NET、Node.js 或 PHP 的应用程序的应用程序服务器上部署 IAST 代理程序。本部分说明如何在 Web 服务器上创建 Java 代理程序类型。
开始之前
使用 IAST 最简单、最有效的方法是在 Web 服务器上将其部署为
WAR 文件 Servlet。如果这样不可行(例如,在 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 属性:
- 对于 1.14.2 之前的 IAST 代理程序版本,如果编译时和运行时 Java 版本均为 9 或更高版本,请将以下标志添加到 Java 运行命令中:
–Djava.lang.invoke.stringConcat=BC_SB
过程
-
下载 ASoC Java IAST 代理程序:
- 按照此处提供的说明下载代理程序。
-
解压缩 ZIP 文件:
- 解压缩已下载的文件,以访问其内容。
-
部署 IAST 代理程序:
选项 A:部署为 WAR Servlet:
- 找到 WAR 文件:
- 在已解压缩的 ZIP 文件的根目录中找到
Secagent.war。
- 在已解压缩的 ZIP 文件的根目录中找到
- 部署您的服务器:
- Tomcat 服务器/Jetty 服务器:将 Secagent.war 复制到您的
webapps文件夹,或像部署任何其他 WAR Servlet 一样进行部署。 - WebSphere 服务器:将 Secagent.war 部署为 Web 应用程序,而不是企业应用程序。确保上下文根目录设置为
/Secagent。 - WebSphere Liberty 服务器/Open Liberty 服务器:将 Secagent.war 复制到
dropins文件夹,或者按照常规方式进行部署。 - Jboss/WildFly 服务器/JBoss EAP 服务器:将 Secagent.war 复制到 deployments 文件夹,或像部署任何其他 WAR Servlet 一样进行部署。
- Weblogic:像部署任何其他 WAR Servlet 一样部署 Secagent.war。
- Tomcat 服务器/Jetty 服务器:将 Secagent.war 复制到您的
- 验证部署:
- 打开 Web 浏览器并导航至
http://<server address>/Secagent。 - 如果打开了 Secagent 页面,则表示代理程序已成功部署。
- 在您使用或测试应用程序(运行功能测试、运行动态扫描或手动浏览应用程序)时,IAST 代理程序将监控请求并报告安全问题。
- 打开 Web 浏览器并导航至
如果无法将 IAST 代理程序部署为 WAR 文件(例如,使用 Quarkus 框架时),请使用此方法。
- 找到 JAR 文件:
- 在
jar_deployment文件夹中找到secagent.jar。
- 在
- 将 Java 代理程序添加到应用程序中:
- 命令行选项:将以下标志添加到应用程序的命令行中:
-Djavaagent:<path to secagent.jar>
- 环境变量选项:设置 JAVA_TOOL_OPTIONS 环境变量:
set JAVA_TOOL_OPTIONS=-javaagent:<path to secagent.jar>
- 命令行选项:将以下标志添加到应用程序的命令行中:
- 验证部署:
- 检查
stdout中以“[IAST Secagent]”开头的消息。 - 如果显示了这些消息,则表示代理程序已成功安装。
- 在您使用或测试应用程序(运行功能测试、运行动态扫描或手动浏览应用程序)时,IAST 代理程序将监控请求并报告安全问题。
- 检查
- 找到 WAR 文件:
使用安全管理器运行 Java 代理程序
关于此任务
您可以使用安全管理器运行 Java 代理程序:
- 作为 Tomcat 上的 war 文件或
- 作为 Tomcat 以外的服务器上的 jar 文件。请联系 AppScan 支持团队以寻求指导。
要在 Tomcat 上以 war 形式使用安全管理器运行 Java 代理程序:
过程
-
找到 catalina.policy 文件。
catalina.policy 文件通常位于 Tomcat 安装配置目录中。具体路径可能会因操作系统和 Tomcat 版本而异。
- 在文件编辑器中打开 catalina.policy 文件。
-
找到“grant”块。
查找以关键字“grant”开头,后跟一个或多个“permission”语句的块。
-
如下所示,添加所需许可权:
- 保存 catalina.policy 文件。
- 重新启动 Tomcat 服务器以应用更改。