部署 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 版本都是 V9 或更高版本,则将以下标志添加到 java 运行命令:
–Djava.lang.invoke.stringConcat=BC_SB
过程
- 下载 ASoC Java IAST 代理程序,如此处所述。
- 解压缩 ZIP 文件的内容。
-
将 IAST 代理程序部署为 WAR servlet 或 JAR 文件:
部署为 WAR Servlet:
- 在解压缩的 ZIP 文件的根目录中找到
Secagent.war
: - 遵循服务器的说明操作:
- Tomcat 服务器/Jetty 服务器:将 Secagent.war 复制到您的
webapps
文件夹,或像部署任何其他 WAR Servlet 一样进行部署。 - WebSphere 服务器:像部署任何其他 WAR Servlet 一样部署 Secagent.war。注: 确保:
- 将代理部署为 Web 应用程序,而不是企业应用程序
- 选择
/Secagent
作为上下文根
- WebSphere Liberty 服务器/Open Liberty 服务器:将 Secagent.war 复制到您的
dropins
文件夹,或像部署任何其他 WAR Servlet 一样进行部署。 - Jboss/WildFly 服务器/JBoss EAP 服务器:将 Secagent.war 复制到 deployments 文件夹,或像部署任何其他 WAR Servlet 一样进行部署。
- Weblogic:像部署任何其他 WAR Servlet 一样部署 Secagent.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”开头,后跟一个或多个“permission”语句的块。
-
如下所示,添加所需许可权:
- 保存 catalina.policy 文件。
- 重新启动 Tomcat 服务器以应用更改。