AppScan 360° Setup Assistant

概觀

Setup Assistant 是一個自動化診斷套件,旨在部署前驗證您的環境是否符合必要的基礎架構、網路和安全要求。透過及早識別配置落差,此工具可確保安裝流程更順暢,並減少實際部署階段的疑難排解負擔。
註: AppScan 360° Setup Assistant 不符合 FIPS 標準。

資料收集與隱私權

  • Setup Assistant 會收集營運和診斷資料,以驗證環境整備狀態並對部署問題進行疑難排解。這包括系統配置、工具版本、Kubernetes 叢集狀態、網路檢查以及登錄互動。

  • 例如資料庫主機 / 使用者、網路規則、叢集 ID 和登錄端點等特定資料點被視為敏感資訊,因為它們可能會暴露內部基礎架構的詳細資料。

  • 儘管系統不會記錄認證(例如密碼),使用者仍應安全地檢閱和處理產生的日誌(例如 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 的存在和狀態,這對於自動化 SSL/TLS 憑證管理至關重要。

    儲存基礎架構:檢查是否存在資料持續性所需的特定 StorageClass 或 持續性磁碟區 (PV)。

  • Gateway API:驗證 GatewayClass 是否存在,以確保該叢集已準備好進行流量管理。

外部整合測試

驗證器會對外部相依關係執行「真實世界」的連線功能測試。

  • 儲存器登錄:執行完整的生命週期測試—登入、載入、推送和提取測試映像—以確保叢集可以檢索應用程式映像。

  • SQL 資料庫連線功能:產生一個臨時 Kubernetes 工作,嘗試與 SQL Server 進行即時連線。這會確認網路原則和資料庫憑證(IP、使用者 ID 和密碼)已正確配置。

模式 3:除錯 Pod 公用程式

除錯 Pod 是一種互動式工具,用於通過前置檢查,但執行時期問題仍然存在的情況。它允許管理員「步入」叢集環境。

功能工作流程

  1. 指定名稱空間:您可以指定自訂名稱空間或退回到 default。

  2. 部署:啓動一個名爲 precheck-debug 的 Pod,該 Pod 會維持作用中狀態 3600秒(1小時)。

  3. 互動存取:一旦 Pod 處於「就緒」狀態,該工具會直接提供一條 kubectl exec 指令在叢集中開啟一個 Bash Shell。

模式 4:Kubernetes 疑難排解器

此模組會執行深入的連線功能和 API 完整性檢查,以診斷主機和叢集之間的通訊問題。

API 連線能力檢查

  • 二進位檔案和上下文:驗證 kubectl 是否已安裝,且有效的叢集上下文處於作用中狀態。

  • Healthz 與服務:測試 /healthz 原始端點和內部 kubernetes 服務以確保控制平面有正常回應。

  • 資源存取能力:確認有列出所有名稱空間下所有 Pod 的能力。

進階網路 (MTU) 驗證

  • 介面偵測:自動識別預設網路介面。

  • MTU 偵測:驗證「最大傳輸單元 (MTU)」是否設置爲 1500 或更高,以防止封包碎裂。

  • 路徑 MTU 探索:傳送一個設定了「請勿碎裂」位元的 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 中,以便進行深入分析