配置并发扫描
AppScan 360° SAST 由两个步骤组成:
- 准备扫描进行分析。
此操作由
preparer服务在最终用户提交源代码或二进制文件(如用于扫描的.war文件)时执行。 - 分析扫描。
此操作由
analyzer服务执行。此服务的输入文件可以由preparer或直接由选择使用提供的工具在其客户机系统上执行准备的最终用户提供(例如,AppScan Go!)。
可通过根据需要配置最大数量的准备器和分析器来运行并发扫描,以允许 Kubernetes 自动调整可用于扫描的每个服务的数量。由于准备或分析的时间因扫描而异,因此并发特定于其中每个操作。
每个服务的最大数量取决于预期的扫描负载峰值配置文件,即提交的扫描峰值数量、扫描源代码/二进制文件的百分比和扫描 IRX 的百分比。
由于这些未知因素,可能无法在初始部署时定义最佳配置。可以根据实际扫描负载和监控 RabbitMQ 队列来调整 AppScan 360° SAST 配置,以确定扫描等待任一服务可用性的平均时间。
通过在安装或重新配置 AppScan 360° SAST 时启用以下属性,可以使用入口访问 RabbitMQ 管理门户网站:
rabbitmq:
ingress:
enabled: true
hostname: <fqdn to access rabbitmq portal>
初始配置可以指定
preparers 和 analyzers 的等数,并且可以随时间的推移进行调整。使用下表帮助计算某些示例配置所需的总资源(最大值)。注: 要实现并发,需要考虑两件事:
- ASCP 安装过程中发放的 AppScan 360° 许可证数。
- Kubernetes 配置和资源可用性,以允许多个准备器和分析器同时启动和运行。
每种资源类型的计算 = 准备器数量 * 每个准备器的资源 + 分析器数量 * 每个分析器的资源 + ASCP 适配器数量 * 每个适配器的资源 + 剩余服务的资源总数(这些服务不会自动进行计算)。
| ASCP 适配器计数 | 准备器计数 | 分析器计数 | MaxCPU | MaxRAM |
|---|---|---|---|---|
| 1 | 1 | 1 | 24 ((6*1)+(6*1)+(4*1)+4+2+2) | 60GB ((16*1)+(24*1)+(6*1)+6+4+4) |
| 3 | 3 | 3 | 56 ((6*3)+(6*3)+(4*3)+4+2+2) | 152GB ((16*3)+(24*3)+(6*3)+6+4+4) |
| 3 | 10 | 10 | 140 ((6*10)+(6*10)+(4*3)+4+2+2) | 452GB ((16*10)+(24*10)+(6*3)+6+4+4) |
| 3 | 5 | 10 | 110 ((6*5)+(6*10)+(4*3)+4+2+2) | 372GB ((16*5)+(24*10)+(6*3)+6+4+4) |
注: ASCP 适配器服务最多可扩展至 3。不需要进一步增加。