下载 Java IAST 代理程序并将其部署在 Web 服务器上

您必须下载并在被测应用程序的 Web 服务器上部署 IAST 代理,以监视运行时期间发送的流量并报告其发现的漏洞。

开始之前

  • 被测应用程序应安装在 Web 服务器上。
  • 您必须在 AppScan Enterprise 中的“监视器”视图的“任务夹”选项卡中创建一个应用程序。有关在 AppScan Enterprise 中创建应用程序的更多信息,请参阅创建应用程序

关于此任务

本部分帮助您下载并在被测应用程序的 Web 服务器上部署 Java IAST 代理程序。

过程

  1. 登录 AppScan Enterprise Server。
  2. 转至“监控”页面 > “投资组合”选项卡以查看可用应用程序列表。
  3. 单击您要将 IAST 代理下载到的应用程序。
    系统将显示应用程序页面。有关创建应用程序的更多信息,请参阅创建应用程序
  4. 在左侧窗格中,单击 IAST 代理
    IAST 代理程序页面显示在右侧窗格中。
  5. 单击创建新代理
    将显示 IAST 入门页面。
  6. 单击创建新代理
    系统显示 IAST 代理创建页面。
  7. 代理类型
    注: IAST 功能支持基于 Java、.NET 和 Node.js 的应用程序。
  8. 代理名称框中,输入您为应用程序创建的代理的唯一名称。代理名称可以包含字母数字和特殊字符,最大长度为 30 个字符。
  9. 单击下载代理。将显示检查您的下载文件夹消息,并且 AppScanIASTAgent
  10. AppScanIASTagent 文件提取到文件夹中。
  11. 您可以使用以下任一类型的文件来部署 Java IAST 代理程序:
    1. 使用 WAR 文件
    2. 使用 JAR 文件
    注: 对于 Java IAST 代理程序,JAR 和 WAR 文件具有相同的通信令牌,因此两种代理程序将与同一 IAST 会话进行通信。在一些应用程序使用 WAR 文件而其他应用程序使用 JAR 文件的情况下,这一点很有帮助。
  12. 如果编译时和运行时 Java 版本均为 9 或更高版本,请将以下 Java 属性添加到 Java 运行命令:–Djava.lang.invoke.stringConcat=BC_SB

结果

IAST 代理部署在被测应用程序的 Web 服务器上。现在,您可以在应用程序的监视页面中查看 IAST 代理程序检测到的所有问题。

使用 WAR 文件部署 Java IAST 代理程序

过程

  1. 在测试的应用程序的 Web 服务器上部署 Secagent.war
  2. 与被测应用程序交互(运行功能测试,运行动态扫描或手动探索应用程序),以便 IAST 代理监测请求并报告安全问题。
    注: IAST 扫描不会发送自己的请求。仅当请求通过系统测试、手动探索或 DAST 扫描等发送到正在测试的应用程序时,它才能发现问题。
  3. 转至应用程序的选项卡视图,然后单击左侧窗格中的所有问题,以查看与已发现的安全漏洞相关的问题列表。
    注: 您可以使用过滤器 Discovery Method=IAST 仅查看应用程序中的 IAST 问题。

使用 JAR 文件部署 Java IAST 代理程序

过程

  1. jar_deployment 文件夹中,找到 Secagent.jar
  2. Secagent.jar
  3. 将以下标志添加到您的应用程序命令行:-Djavaagent:<path to secagent.jar>
    示例:

    对于购物网站:

    
                  java -javaagent:secagent.jar -jar ./shopping/target/shopping-0.9.0-SNAPSHOT.jar

结果

当您使用或测试应用程序(运行功能测试、运行动态扫描或手动探索应用程序)时,IAST 代理会监视请求并报告安全问题。

使用安全管理器运行 Java 代理

关于此任务

您可以使用安全管理器运行 Java 代理:

  • 作为 Tomcat 上的 war 文件或
  • 作为 Tomcat 以外的服务器上的 jar 文件。请联系 AppScan 支持团队获取指导。

要在 Tomcat 上使用安全管理器作为 war 运行 Java 代理:

过程

  1. 找到 catalina.policy 文件。
    catalina.policy 文件通常位于 Tomcat 安装配置目录中。确切的路径可能会有所不同,具体取决于您的操作系统和 Tomcat 版本。
  2. 在文本编辑器中打开 catalina.policy 文件。
  3. 找到“授予”块。
    查找以关键字“grant”开头的块,后跟一个或多个“permission”语句。
  4. 添加所需的权限如下:
    1. 在“grant”块内,添加以下权限:
      权限 java.lang.RuntimePermission "net.bytebuddy.*";
    2. 在文件末尾添加以下权限:
      授予代码库“文件:${catalina.base} /webapps/Secagent/-”{ permission java.security.AllPermission; } ;
  5. 保存 catalina.policy 文件。
  6. 重新启动 Tomcat 服务器以应用更改。