设置 AppScan 360° 分布式环境
在安装 AppScan 360° 之前,设置环境以实现最佳部署。
HCL 标识
您的 HCL 标识会将您的帐户与有效的许可证以及对软件和支持的访问权相关联。访问 HCL 许可证和下载门户和 HCL Harbor 时,需要此项。
有关创建 HCL 标识以及访问许可证和软件的完整信息,请参阅本文档。
Linux 系统
需要 Ubuntu Linux 系统 V24.04 或更高版本才能启动部署。实际部署可以位于远程 Kubernetes 集群,但部署是从此 Linux 机器启动的。系统必须安装 Bash shell 和 openssl,并且必须能够连接到指定的 SQL Server。
inotify 实例数:- 将
fs.inotify.max_user_instances=524288添加到 /etc/sysctl.conf 中。 - 重新启动节点以使更改生效。
本地容器服务 (Docker)
Docker 是可将映像推送到远程注册表的本地容器服务。在通过从 HCL 许可证和下载门户网站下载的存档文件安装 AppScan 360° 平台和 AppScan Remediation Advisories 时,需要此项。
Kubectl
Kubectl 用于与远程 Kubernetes 集群通信。
有关安装和配置 Kubectl 的完整说明,请参阅此处。
Helm 3
Helm 3 是一组使您可以更轻松地配置和使用 Kubernetes 应用程序的资源。
有关安装 Helm CLI 的完整说明,请参阅此处。
验证 Linux 和组件服务之间的通信
> kubectl version或者> kubectl get nodes要验证 Docker 连接,请运行:
> docker version
> helm versionKubernetes 集群
集群是 AppScan 360° 平台代理程序容器驻留并投入使用的位置。
需要支持 ReadWriteMany 的存储提供程序。如果要使用像 longhorn 这样的定制存储提供程序,那么请确保其支持 ReadWriteMany。
此外,为确保访问持久卷的 Pod 具有适当的文件权限和安全性,Kubernetes CSI 驱动程序必须支持 fsGroup 安全上下文。
入口控制器
部署支持 HTTPS 后端协议的入口控制器。
建议的入口控制器是 NGINX(V1.11.5 或 V1.12.1 或更高版本)。但是,如果集群中已存在相应的入口控制器,则无需安装新的控制器。
-
proxy-body-size:2g -
proxy-connect-timeout:3600 -
proxy-read-timeout:3600 -
proxy-send-timeout:3600 -
enable-access-log-for-default-backend:true -
ssl-redirect:true -
use-http2:true -
use-forwarded-headers:true -
compute-full-forwarded-for:true
证书管理器
安装和配置 Cert-manager。
metrics-server
适用于 Kubernetes 内置自动伸缩管道的可扩展且高效的容器资源指标来源。
MSSQL
MSSQL 是关系数据库管理系统。
SSO (LDAP Active Directory/Open ID Connect)
Active Directory 会认证和授权网络中的所有用户和计算机,为网络访问分配和实施安全策略。
Open ID Connect 是 OAuth 2.0 之上的一个身份验证层,允许客户端根据授权服务器执行的身份验证来验证最终用户的身份,以及以可互操作和类似 REST 的方式获取有关最终用户的基本资料信息。
网络
网络应加密并支持网络策略。
存储器
AppScan 360° 使用两种类型的存储。所需的存储空间很大程度上取决于扫描次数和所扫描应用程序的大小。作为准则,单次扫描执行所需的平均存储大小为:
- MSSQL Server DB 存储:150 KB
- 文件存储:10 兆字节
| 扫描执行 | 1,000 | 100,000 | 1,000,000 |
|---|---|---|---|
| MSSQL Server 存储 | 150MB | 15 GB | 150 GB |
| 文件存储 | 10 GB | 1 TB | 10 TB |
您可以手动删除旧扫描以节省空间。
CPU 和内存
CPU 和内存要求取决于用户数量和预期工作负载。
缺省情况下,Kubernetes 作业会为每个扫描分配最小资源。在某些情况下,受用户的活跃程度、使用的自动化程度、应用程序的大小以及扫描频率等因素的影响,可能需要更多的资源才能正常运行扫描;假设资源可用,Pod 将尝试扩展到最大定义的资源。如果没有足够的资源进行扩展,则某些扫描可能会失败。
为最大程度获得成功,请为系统提供足够的资源,使其能够在需要时进行扩展。资源分配派生自并发扫描数。AppScan 360° 平台资源
仅运行 AppScan 360° 平台时:| 内存 | CPU (vCore) | ||
|---|---|---|---|
| ASCP | |||
| 最小值 | 42 GB | 10 | |
| 最大值 | 48 GB | 12 | |
扫描资源
运行扫描时,其他资源:
| 内存 | CPU (vCore) | ||
|---|---|---|---|
| 动态分析扫描:单次扫描 | |||
| 最小值 | 3 GB | 2 | |
| 推荐 | 4 GB | 3 | |
| 动态分析扫描:五个并发扫描 | |||
| 最小值 | 15 GB | 10 | |
| 推荐 | 20 GB | 15 | |
| 动态分析扫描:十个并发扫描 | |||
| 最小值 | 30 GB | 20 | |
| 推荐 | 40 GB | 30 | |
| 静态分析扫描:单次扫描 | |||
| 最小值 | 16 GB | 2 | |
| 最大值 | 28 GB | 4 | |
| 静态分析扫描:五个并发扫描 | |||
| 最小值 | 80 GB | 10 | |
| 最大值 | 140 GB | 20 | |
| 静态分析扫描:十个并发扫描 | |||
| 最小值 | 160 GB | 20 | |
| 最大值 | 280 GB | 40 | |
| 软件组成分析 (SCA) 扫描:单次扫描 | |||
| 最小值 | 10 GB | 4 | |
| 推荐 | 20 GB | 10 | |
| 软件组成分析 (SCA) 扫描:五次并发扫描 | |||
| 最小值 | 50 GB | 20 | |
| 推荐 | 100 GB | 50 | |
| 软件组成分析 (SCA) 扫描:十次并发扫描 | |||
| 最小值 | 100 GB | 40 | |
| 推荐 | 200Gb | 100 | |
- 将上面列出的单次扫描的扫描资源乘以预期的并发扫描次数,然后将此结果与 AppScan 360° 平台资源相加。例如:
- 五个并发扫描所需的最少资源为 122GB 内存和 20 个 CPU(42GB 用于 AppScan 360° 平台,80GB 用于扫描,10 个 CPU 用于 AppScan 360° 平台,10 个 CPU 用于扫描)。
- 12 个并发扫描所需的最少资源为 234GB 内存和 34 个 CPU(42GB 用于 AppScan 360° 平台,192GB 用于扫描,10 个 CPU 用于 AppScan 360° 平台,24 个 CPU 用于扫描)。
- 确保 AppScan 360° 平台安装过程中发放的 AppScan 360° 许可证数量充足。
- 定义 Kubernetes 配置和资源可用性,以允许多个扫描同时启动和运行。
- 我们不建议超过 25 个并发项。
每个服务的最大数量取决于预期的扫描负载峰值配置文件,即提交的扫描峰值数量、扫描源代码/二进制文件的百分比和扫描 IRX 的百分比。由于这些未知因素,可能无法在初始部署时定义最佳配置。可以根据实际扫描负载调整 HCL AppScan 360° 配置。
数据库
- 数据库安装、管理、备份、维护和许可是用户的责任。
- 支持 MSSQL Server 2019 和更高版本。
- 在安装 HCL AppScan 360° 之前,确保有一个具有
db_creator许可权的用户。
浏览器
- Chrome
- Safari
- Edge
- Firefox
身份提供者
| 管理员 | 应用程序管理者 | |
| 用户名 | Admin | 用户 |
| 密码 | Admin12! | User123! |
要加入其他用户,HCL AppScan 360° 需要 Microsoft Active Directory。
屏幕分辨率
HCL AppScan 360° 的建议屏幕分辨率为 1920 x 1080。
访问点
| 组件 | 入口 URL |
|---|---|
| 用户门户网站 | https://<CK_CONFIGURATION_DISCLOSED_SITE_URL> |
| 用户 API | https://<CK_CONFIGURATION_DISCLOSED_SITE_URL>/api |
| 用户 API (Swagger) | https://<CK_CONFIGURATION_DISCLOSED_SITE_URL>/swagger |