下载和部署 PHP IAST 代理

使用此程序下载 AppScan Enterprise PHP IAST 代理,并将其部署到您的应用服务器环境(Windows、Ubuntu 或 Red Hat)。PHP IAST 代理在运行时测试(手动或自动)期间监控您的运行 Web 应用程序,并将漏洞报告给AppScan Enterprise。

开始之前

  • 确保您具有 AppScan Enterprise 访问权限,并拥有管理应用程序和IAST代理的权限。
  • 识别 AppScan Enterprise 中的目标应用程序。
  • 验证您在目标PHP应用程序服务器(Windows、Ubuntu或Red Hat)上具有管理员权限。
  • 验证您的 PHP 版本是否为 8.1.0 或更高版本。

关于此任务

与 Java 或 .NET 的代理不同,PHP 代理需要手动配置,使用下载包中包含的 ase-config.json 文件中的详细信息。您必须在服务器上配置特定的环境变量,以便代理连接到AppScan Enterprise。

下载 PHP 代理

过程

  1. 登录到AppScan Enterprise。
  2. 从应用列表中,导航到目标应用程序。
  3. 选择 应用程序 选项卡,然后点击 IAST 代理
  4. 单击创建新代理
  5. 从代理类型列表中,选择与您的 PHP 应用程序部署环境相匹配的选项:
    • PHP - Windows
    • PHP - Ubuntu
    • PHP - 红帽
  6. 在代理名称框中,为此代理实例输入一个描述性名称。
  7. 点击 下载代理
    代理 ZIP 包会自动下载。

下载包的第二部分:理解下载的软件包

过程

  1. 找到下载的ZIP文件。
  2. 理解其内容:
    • 代理二进制文件:
      • Windows: hcl_agent.dll
      • Ubuntu: hcl_agent.deb
      • 红帽:hcl_agent.rpm
    • ase-config.json:一个包含特定于此代理实例的配置详细信息的文件,包括手动服务器配置所需的accessTokenhost值。
    • 许可证文件:包含许可协议信息(例如,HCL 主许可协议)。

部署代理(选择适合您操作系统的部分)

在 Windows 上部署:

过程

  1. 将下载的代理 ZIP 文件的内容提取到服务器上的临时位置。
  2. 将PHP配置为加载代理扩展:
    1. 找到你的PHP扩展目录。打开命令提示符并运行:php -i | findstr "extension_dir"
    2. hcl_agent.dll文件(从解压的文件中)复制到步骤2a中找到的PHP扩展目录中。
    3. 找到您的活动php.ini配置文件。在命令提示符中运行:php --ini | findstr "Loaded Configuration File"
    4. 使用文本编辑器编辑在步骤2c中找到的php.ini文件。
    5. 在文件末尾添加以下行:extension=hcl_agent.dll
    6. 保存并关闭 php.ini 文件。
  3. 配置环境变量。从ase-config.json文件中检索accessTokenhost值。
    注:
    • IAST_ACCESS_TOKENIAST_HOST 可以在服务器上本地设置。例如,在 XAMPP 服务器上,可以在 httpd.conf 文件中进行设置。
    • 如果其他代理(Java、.NET、Node.js)安装在同一台机器上,您必须在服务器级别(方法B)而不是系统级别设置变量。

    方法A:系统级别(默认)

    以管理员身份打开命令提示符并运行以下命令:
    
    ```plaintext
    setx IAST_ACCESS_TOKEN "your_accessToken_from_ase-config.json" /M
    setx IAST_HOST "your_host_from_ase-config.json" /M
    ```
    

    方法B:服务器级别(XAMPP示例)

    编辑您的 XAMPP 服务器的 httpd.conf 文件,并在通常位于您的 Web 根目录的 <Directory> 部分中添加以下行:
    将环境变量 IAST_HOST 设置为 "your_host_from_ase-config.json" 将环境变量 IAST_ACCESS_TOKEN 设置为 "your_accessToken_from_ase-config.json"
  4. 重新启动您的网络服务器(例如,Apache 服务,IIS)以应用更改。

在 Ubuntu 上部署:

过程

  1. 将下载的代理 ZIP 文件内容提取到服务器上的临时位置。
  2. 安装代理包:
    1. 打开终端窗口。
    2. 确保 dpkg 可用。如果没有,请安装它(例如,sudo apt-get update && sudo apt-get install dpkg)。
    3. 导航 (cd) 到包含已解压 hcl_agent.deb 文件的目录。
    4. 运行安装命令:sudo dpkg -i hcl_agent.deb
      注:
      如果提示有关依赖项的问题,您可能需要随后运行 sudo apt-get install -f
  3. 配置环境变量。从 ase-config.json 文件中检索 accessTokenhost 值。
    注:
    • 为了使代理与网络服务器服务正常运行,必须为该服务持续设置环境变量。在终端中使用export只会为当前会话设置它们。
    • 建议的方法是将SetEnv指令添加到您的Apache配置文件中(例如,httpd.conf或虚拟主机配置文件)。

    编辑您的 Apache 配置文件并添加以下行:

    将环境变量 IAST_HOST 设置为 "your_host_from_ase-config.json" 将环境变量 IAST_ACCESS_TOKEN 设置为 "your_accessToken_from_ase-config.json"
  4. 重新启动您的网络服务器(例如,sudo service apache2 restartsudo service nginx restart)以应用更改。

在 Red Hat 上部署:

过程

  1. 将下载的代理 ZIP 文件的内容提取到服务器上的临时位置。
  2. 安装代理包:
    1. 打开终端窗口。
    2. 确保 rpm 可用。如果没有,请安装它(例如,sudo yum install rpm)。
    3. 导航 (cd) 到包含已解压 hcl_agent.rpm 文件的目录。
    4. 运行安装命令:sudo rpm -ivh hcl_agent.rpm
  3. 配置环境变量。从 ase-config.json 文件中检索 accessTokenhost 值。
    注:
    • 为了使代理能够与 Web 服务器服务正确配合运行,必须为该服务持久设置环境变量。在终端中使用export只会为当前会话设置它们。
    • 推荐的方法是将SetEnv指令添加到您的Apache配置文件中(例如,httpd.conf或虚拟主机配置文件)。

    编辑您的 Apache 配置文件并添加以下行:

    设置环境变量 IAST_HOST 为 "your_host_from_ase-config.json" 设置环境变量 IAST_ACCESS_TOKEN 为 "your_accessToken_from_ase-config.json"
  4. 重新启动您的网络服务器(例如,sudo systemctl restart httpdsudo systemctl restart nginx)以应用更改。

结果

PHP IAST 代理已安装并配置在您的应用服务器上。在网络服务器重启后,代理尝试使用提供的环境变量连接到AppScan Enterprise。

下一步:

过程

  1. 在AppScan Enterprise中,导航到应用程序 > IAST代理并确认新代理显示“已连接”状态。
  2. 对您的应用程序运行测试(例如,功能测试、手动探索、DAST扫描)。IAST代理监控此流量。
  3. 在代理发现时查看AppScan Enterprise中的已报告漏洞。