下载和部署 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 或更高版本。
关于此任务
ase-config.json 文件中的详细信息。您必须在服务器上配置特定的环境变量,以便代理连接到AppScan Enterprise。下载 PHP 代理
过程
- 登录到AppScan Enterprise。
- 从应用列表中,导航到目标应用程序。
- 选择 应用程序 选项卡,然后点击 IAST 代理。
- 单击创建新代理。
-
从代理类型列表中,选择与您的 PHP 应用程序部署环境相匹配的选项:
- PHP - Windows
- PHP - Ubuntu
- PHP - 红帽
- 在代理名称框中,为此代理实例输入一个描述性名称。
-
点击 下载代理。
代理 ZIP 包会自动下载。
下载包的第二部分:理解下载的软件包
过程
- 找到下载的ZIP文件。
-
理解其内容:
- 代理二进制文件:
- Windows:
hcl_agent.dll - Ubuntu:
hcl_agent.deb - 红帽:
hcl_agent.rpm
- Windows:
-
ase-config.json:一个包含特定于此代理实例的配置详细信息的文件,包括手动服务器配置所需的accessToken和host值。 - 许可证文件:包含许可协议信息(例如,
HCL 主许可协议)。
- 代理二进制文件:
部署代理(选择适合您操作系统的部分)
在 Windows 上部署:
过程
- 将下载的代理 ZIP 文件的内容提取到服务器上的临时位置。
-
将PHP配置为加载代理扩展:
-
找到你的PHP扩展目录。打开命令提示符并运行:
php -i | findstr "extension_dir"。 -
将
hcl_agent.dll文件(从解压的文件中)复制到步骤2a中找到的PHP扩展目录中。 -
找到您的活动
php.ini配置文件。在命令提示符中运行:php --ini | findstr "Loaded Configuration File"。 -
使用文本编辑器编辑在步骤2c中找到的
php.ini文件。 -
在文件末尾添加以下行:
extension=hcl_agent.dll。 -
保存并关闭
php.ini文件。
-
找到你的PHP扩展目录。打开命令提示符并运行:
-
配置环境变量。从
ase-config.json文件中检索accessToken和host值。注:-
IAST_ACCESS_TOKEN和IAST_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" -
- 重新启动您的网络服务器(例如,Apache 服务,IIS)以应用更改。
在 Ubuntu 上部署:
过程
- 将下载的代理 ZIP 文件内容提取到服务器上的临时位置。
-
安装代理包:
-
配置环境变量。从
ase-config.json文件中检索accessToken和host值。注:- 为了使代理与网络服务器服务正常运行,必须为该服务持续设置环境变量。在终端中使用
export只会为当前会话设置它们。 - 建议的方法是将
SetEnv指令添加到您的Apache配置文件中(例如,httpd.conf或虚拟主机配置文件)。
编辑您的 Apache 配置文件并添加以下行:
将环境变量 IAST_HOST 设置为 "your_host_from_ase-config.json" 将环境变量 IAST_ACCESS_TOKEN 设置为 "your_accessToken_from_ase-config.json" - 为了使代理与网络服务器服务正常运行,必须为该服务持续设置环境变量。在终端中使用
-
重新启动您的网络服务器(例如,
sudo service apache2 restart或sudo service nginx restart)以应用更改。
在 Red Hat 上部署:
过程
- 将下载的代理 ZIP 文件的内容提取到服务器上的临时位置。
-
安装代理包:
- 打开终端窗口。
-
确保
rpm可用。如果没有,请安装它(例如,sudo yum install rpm)。 -
导航 (
cd) 到包含已解压hcl_agent.rpm文件的目录。 -
运行安装命令:
sudo rpm -ivh hcl_agent.rpm。
-
配置环境变量。从
ase-config.json文件中检索accessToken和host值。注:- 为了使代理能够与 Web 服务器服务正确配合运行,必须为该服务持久设置环境变量。在终端中使用
export只会为当前会话设置它们。 - 推荐的方法是将
SetEnv指令添加到您的Apache配置文件中(例如,httpd.conf或虚拟主机配置文件)。
编辑您的 Apache 配置文件并添加以下行:
设置环境变量 IAST_HOST 为 "your_host_from_ase-config.json" 设置环境变量 IAST_ACCESS_TOKEN 为 "your_accessToken_from_ase-config.json" - 为了使代理能够与 Web 服务器服务正确配合运行,必须为该服务持久设置环境变量。在终端中使用
-
重新启动您的网络服务器(例如,
sudo systemctl restart httpd或sudo systemctl restart nginx)以应用更改。
结果
下一步:
过程
- 在AppScan Enterprise中,导航到并确认新代理显示“已连接”状态。
- 对您的应用程序运行测试(例如,功能测试、手动探索、DAST扫描)。IAST代理监控此流量。
- 在代理发现时查看AppScan Enterprise中的已报告漏洞。