AppScan 360° Setup Assistant

概述

Setup Assistant 是一个自动诊断套件,旨在部署前验证您的环境是否满足必要的基础结构、网络配置和安全要求。通过尽早识别配置漏洞,该工具可确保安装过程更加顺畅,并降低实际部署阶段的故障诊断成本。
注: AppScan 360° Setup Assistant 不符合 FIPS 标准。

数据收集和隐私

  • 该安装辅助工具会收集运行与诊断数据,以验证环境就绪情况并对部署问题进行故障诊断。这包括系统配置、工具版本、Kubernetes 集群状态、网络检查和注册表交互。

  • 某些数据点(如数据库主机/用户、网络规则、集群标识符和注册表端点)被视为敏感数据点,因为它们可能会暴露内部基础结构的详细信息。

  • 虽然系统不会在日志中记录凭证(例如,密码),但用户仍应安全地审查和处理所生成的日志(例如,prerequisite_check.log),并妥善地限制相关的访问权限。

如何下载和运行 Setup Assistant

AppScan Setup Assistant 可供所有 AppScan 360° 客户使用,无论其许可证层级如何。
  • 下载:可从 HCL GitHub 存储库获取该实用程序。
  • 位置:下载完成后,将 Setup Assistant 存放在您要安装 AppScan 360° 的系统上。
  • 许可权:通过运行 chmod +x runcheck.sh 来确保脚本可执行
  • 执行:使用 ./runcheck.sh 命令启动该实用程序

操作方式

  1. 交互方式:执行该实用程序时,它会提示您从 5 个特定的诊断选项中进行选择。选择与所需验证级别对应的模式。
  2. 属性驱动模式(自动):要对特定的环境变量运行检查且无需手动提示,请将 singular-singular.clusterKit.properties 文件放入该实用程序所在的文件夹中。该 Assistant 将自动抽取配置数据并相应地对环境进行验证。


方式说明

方式 1。系统资源验证(基准检查)

此模块用于评估主机在物理和操作系统层级的资源容量。

  • CPU 信息:收集内核数、处理器架构以及每个内核的线程数,以确保处理能力满足最低要求。

  • 内存 (RAM):计算总可用内存和当前利用率百分比。

  • 磁盘空间:监控根 (/) 分区,以确保有足够的存储空间来存放日志和二进制文件。

  • 安全控制:检测有效的 SELinux 或 AppArmor 配置,这些配置可能需要针对容器化工作负载进行特定的策略调整。

  • 本地防火墙:检查 iptables、firewalld 和 UFW,以确保所有本地规则都未阻止所需的应用程序端口。

  • DNS 解析:识别内部和外部名称服务器,以确认环境是否能够解析服务主机名。

方式 2:网络、连接和 K8s 运行状况(完整检查)

Kubernetes 集群运行状况

在部署应用程序组件之前,该工具将验证目标集群的状态。

  • API 可访问性:确认 kubectl 客户端可以与集群控制平面进行有效通信。

  • 证书管理器:验证 cert-manager Pod 是否存在及其状态,这些 Pod 对于自动化 SSL/TLS 证书管理至关重要。

    存储基础结构:检查是否存在数据持久化所需的指定 StorageClass 或持久卷 (PV)。

  • Gateway API:验证是否存在 GatewayClass,以确保集群已准备好进行流量管理。

外部集成测试

验证器会对外部依赖关系执行“真实”连接测试。

  • 容器注册表:执行完整的生命周期测试(登录、加载、推送和拉取测试映像),以确保集群可以检索应用程序映像。

  • SQL 数据库连接:生成临时 Kubernetes 作业以尝试与 SQL Server 建立实时连接。这将确认是否正确配置了网络策略和数据库凭证(IP、用户标识及密码)。

方式 3:Debug Pod 实用程序

Debug Pod 是一种交互式工具,通常在预检查已通过,但运行时问题依然存在时使用。它允许管理员“进入”集群环境。

功能工作流程

  1. 命名空间定位:您可以指定定制命名空间,或回退使用 default。

  2. 部署:启动名为 precheck-debug 的 Pod,它会在 3600 秒(1 小时)内保持处于活动状态。

  3. 交互式访问:在 Pod 处于“就绪”状态后,该工具将提供一条直接的 kubectl exec 命令,用于在集群内打开 Bash shell。

方式 4:Kubernetes 故障诊断程序

此模块负责执行深度的连通性与 API 完整性检查,以诊断主机与集群之间的通信问题。

API 可访问性检查

  • 二进制文件和上下文:验证是否已安装 kubectl 并且有效的集群上下文是否处于活动状态。

  • Healthz 和服务:测试 /healthz 原始端点和内部 kubernetes 服务以确保控制平面能够正常响应。

  • 资源访问:确认具备列出所有命名空间中 Pod 的能力。

高级网络 (MTU) 验证

  • 接口检测:自动识别缺省网络接口。

  • MTU 检测:验证最大传输单元 (MTU) 是否设置为 1500 或更高值以防止出现数据包分片。

  • 路径 MTU 发现:发送一个设置了“Do Not Fragment”位的 1472 字节数据包,以测试端到端网络路径。

方式 5:配置容量规划检查

容量规划模块可确保 Kubernetes 集群有足够的硬件资源(CPU 和内存),以便根据您的安装类型和扫描并发需求为特定的工作负载提供支持。

安装类型

  • AIO(一体式):针对单个专用节点验证各项要求。

  • FF(全面):计算集群中所有节点的容量,以对照集群总资源进行验证。

资源计算逻辑

该工具用于计算基准 (ASCP) 并为每种并发扫描类型添加相关要求:

  • ASCP 基准:已保留 10 个 vCore 和 25 GB RAM。

  • 扫描要求:

    • SAST/SCA:对于每个并发扫描,最少需要 16GB(推荐 28GB)和 2 个 vCore(推荐 4 个)。

    • DAST:对于每个并发扫描,最少需要 3GB(推荐 4GB)和 2 个 vCore(推荐 3 个)。

结果解读

  • 通过:集群满足推荐的资源阈值。

  • 警告:集群满足最低要求,但未达到推荐水平。

  • 失败:集群不满足运行所请求的并发扫描数量的最低要求。

每次检查的详细日志都记录在 prerequisite_check.log 中,以便进行深入分析