配置 HCL AppScan 流量记录器
您可以在配置文件 Settings.json 中进行以便与 HCL AppScan 流量记录器 配合使用的更改
对设置文件进行任何更改后,您必须重新启动服务器。
重要: 升级时,如果已在 Settings.json 中设置了 PKCS12 证书,则必须将其重置。
符合 FIPS 的方式
要设置符合 FIPS 的方式:
- 在 HCL AppScan 流量记录器 的根文件夹中找到 Settings.json 文件,并在文本编辑器中打开该文件。
- 找到设置
requireFips
属性,并将其值从false
更改为true
。 - 保存文件。
流量记录器连接
- 为流量记录器配置 Settings.json 的缺省端口。
- 配置与流量记录器的安全 (SSL) 连接。您可以使用您自己的证书(方法 A)或自签名证书(方法 B)来执行此操作。方法 A:在 Settings.json 中配置您自己的 PEM 或 PKCS12 证书:PEM:
- PEM 证书需要两个文件路径(private.key 和 certificate.pem 的路径)。
- 将文件路径插入到 Settings.json 的 PEM 部分。注:
\
字符需要转义。例如,C:\\Users\\admin\\private.key
。
- 将文件路径插入到 Settings.json 的 PEM 部分。
PKCS12:您必须根据需要在文件路径和密码中转义字符。例如,
abc!”123
等密码变为abc!\”123
(“
符号被转义)。- 在命令行中,运行:
.\Java\bin\java.exe -jar .\DastProxy.jar -sc "C:\Path\to\certificate.pfx"
- 出现提示时,请输入证书的密码,然后单击 Enter。
一个通过使用 OpenSSL 创建 PEM 证书的示例:openssl req -newkey rsa:2048 -new -nodes -keyout key.pem -out csr.pem openssl x509 -req -days 365 -in csr.pem -signkey key.pem -out server.crt
一个通过使用 OpenSSL 将 PEM 证书转换为 PKCS12 证书的示例:openssl pkcs12 -export -out certificate.pfx -inkey key.pem -in server.crt
一个通过使用 Java 的 keygen 工具将 JKS 证书转换为 PKCS12 证书的示例:keytool -importkeystore -srckeystore certificate.jks -srcstoretype JKS -destkeystore certificate.p12 -deststoretype PKCS12
方法 B:如果您没有证书,那么必须创建并使用自签名证书。此方法不太安全。- 选项 A:使用 OpenSSL
- 除了创建自签名证书外,OpenSSL 既不包括在内也不需要。
- 使用 OpenSSL 命令创建密钥和 PEM 文件:
openssl req -new -newkey rsa:2048 -nodes -keyout private.key -x509 -days 365 -out certificate.pem
- 将文件路径插入到
Settings.json
的 PEM 部分。注:\
字符需要转义。例如:"C:\\Users\\admin\\private.key"
- 使用 OpenSSL 命令创建密钥和 PEM 文件:
- 选项 B:使用 Java 密钥工具
- 对于 NodeJS 17 和更高版本,由于密钥工具的限制,您必须使用
--openssl-legacy-provider
节点标志,请参阅 https://nodejs.org/api/cli.html#--openssl-legacy-provider- 在命令行中,打开流量记录器根文件夹。
- 使用以下命令创建 PKCS12 证书文件:
.\Java\bin\keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore-new.p12 -storetype PKCS12 -validity 365 -keysize 2048
- 填写证书详细信息并使用密码进行保护。
下一步所需的密码。
- 使用以下命令在 HCL AppScan 流量记录器 中使用生成的证书:
.\Java\bin\java.exe -jar .\DastProxy.jar -sc "keystore-new.p12"
- PEM 证书需要两个文件路径(private.key 和 certificate.pem 的路径)。
根证书
如果您测试的应用程序使用的是 SSL (HTTPS),则 HCL AppScan 流量记录器 必须作为中间人来记录交流。为此,它必须具有根证书,以使用该证书对其与应用程序的通信进行签名。
缺省情况下,HCL AppScan 流量记录器 会生成一个唯一的根证书,无需用户介入。但是,在浏览应用程序时,您将收到 SSL 警告。可以忽略它们,也可以执行下列其中一项操作:
- 在您的计算机上安装 HCL AppScan 流量记录器 生成的证书:
- 使用 REST API 可下载由 HCL AppScan 流量记录器 使用的自签名根证书认证中心作为
PEM
文件。 - 在用于探索的浏览器上安装证书,或在需要的位置(取决于流量的来源)进行安装。
- 使用 REST API 可下载由 HCL AppScan 流量记录器 使用的自签名根证书认证中心作为
- 将您自己的根证书导入 HCL AppScan 流量记录器:
- 打开命令行窗口,导航到流量记录器机器上的安装文件夹。
- 运行以下命令:
要查看所使用的全部命令,请运行:.\Java\bin\java -jar DastProxy.jar -irc [path to certificate file] -ircp [password]
.\Java\bin\java -jar DastProxy.jar
重要: 由于证书将保存在流量记录器上,因此建议您使用专用测试证书。注: 受支持的证书格式为 PKCS12(.P12、.PFX)、JKS。
- 在
StartProxy
命令中提供您自己的修订服务器证书(而不是根证书)。
设置不活动超时值
如果在使用后未使用关闭命令关闭流量记录器实例,则该流量记录器实例将保持打开状态并在端口上侦听。如果流量记录器实例处于闲置状态达到预定义的时间,则会自动关闭。
流量记录器实例的缺省不活动超时为 60 分钟。在安装文件夹的Settings.json
文件中的 “inactivityTimeoutInMinutes”
更改此值。加密流量
缺省情况下,不会加密流量文件 (.DAST.CONFIG)。要将服务器配置为加密所有流量,请将安装文件夹中的 Settings.json
文件中的 "encryptDastConfig"
值更改为 true
。
链接代理
如果需要定义多个链接代理,或定义代理异常,请使用在安装文件夹中找到的链接代理规则文件 (proxy.chain
)。文件包含使用说明。