設定分散式安裝的 AppScan 360° 環境

安裝 AppScan 360° 前,請先設定您的環境,以獲得最佳部署。

HCL ID

您的 HCL ID 會將您的帳戶與有效授權建立關聯,並可存取軟體和支援。必須存取 HCL 授權與下載入口網站和 HCL Harbor。

如需建立 HCL ID 和存取授權和軟體的完整資訊,請參閱本文件

Linux 系統

需要 Ubuntu Linux 系統 22:04 版或更新版本,才能啟動部署。實際部署可在遠端 Kubernetes 叢集中,但部署是從此 Linux 機器起始。系統必須安裝 Bash Shell 和 openssl,而且可以連線至指定的 SQL 伺服器。

對於動態掃描,在所有執行動態掃描的節點中增加核心中的 inotify 執行個體數量:
  1. fs.inotify.max_user_instances=524288 新增至 /etc/sysctl.conf
  2. 重新啟動節點,讓變更生效。

本端儲存器服務 (Docker)

Docker 是可將映像檔推送至遠端登錄的本端儲存器服務。從 HCL 授權與下載入口網站下載的封存檔中安裝 ASCPAppScan 補救諮詢 時,必須使用此服務。

Kubernetes 叢集

叢集是 ASCP 代理程式儲存器的所在位置,也是使用的位置。

需要支援 ReadWriteMany 的儲存提供者。如果要使用如 longhorn 的自訂儲存提供者,則確保其支援 ReadWriteMany

Kubectl

Kubectl 用來與遠端 Kubernetes 叢集通訊。

如需安裝和配置 Kubectl 的完整指示,請參閱這裡

Helm 3

Helm 3 是一組資源,可讓配置和使用 Kubernetes 應用程式變得更簡單。

如需安裝 Helm CLI 的完整指示,請參閱此處

確認 Linux 與元件服務之間的通訊

若要驗證 Kubernetes 連線能力,請執行:
> kubectl version
> kubectl get nodes

若要驗證 Docker 連線能力,請執行:

> docker version
若要驗證 Helm 連線能力,請執行:
> helm version

輸入控制器

部署支援 HTTPS 後端通訊協定的輸入控制器。

建議的輸入控制器為 NGINX (最新版本)。但是,如果叢集中已有適當的輸入控制器,則不需要安裝新的控制器。

這個控制器應該符合下列需求:
  • 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

認證管理員

安裝及配置認證管理員

MSSQL

MSSQL 是一種關聯式資料庫管理系統。

Active Directory (LDAP)

Active Directory 會鑑別並授權網路中的所有使用者及電腦,指派並強制執行網路存取的安全原則。

重要:AppScan 360° 1.1.0 版本或更早版本升級時,LDAP 配置無法按原方式重新使用。安裝前,您必須確認所有 LDAP 參數均符合 AppScan 360° 1.2 版本要求。

網路

網路應加密並支援網路原則。

重要: 我們強烈建議安裝憑證以進行用戶端之間的通訊,並讓 AppScan 360° 成為受信任的憑證。若無受信任的憑證,用戶端之間的通訊和 AppScan 360° 將不受信任;用戶端可以將憑證匯入至用戶端的 JRE 金鑰儲存庫。然而,此選項可能無法適用於從 AppScan 360° 自動下載 Static Analyzer 指令行公用程式 (SAClientUtil) 的靜態分析用戶端(例如 Azure 外掛程式)。

儲存體

AppScan 360° 使用兩種類型的儲存體。需要的儲存空間主要取決於掃描次數和接受掃描的應用程式大小。作為一項準則,執行單一掃描所需的平均儲存空間大小為:

  • MSSQL 伺服器 DB 儲存體:150 KB
  • 檔案儲存體:10 MB
每次掃描執行次數的預估儲存空間:
掃描執行 1000 100000 1000000
MSSQL 伺服器儲存體 150 MB 15 GB 150 GB
檔案儲存體 10 GB 1 TB 10 TB
資料庫和檔案儲存體的建議最小儲存容量為各 200 GB,用於暫時儲存日誌。
註: 儲存裝置應加密、備援、可在 Pod 之間共用,並支援 RWX (ReadWriteMany) 存取模式。

您可以手動刪除舊掃描以節省空間。

CPU 和記憶體

CPU 和記憶體需求取決於使用者數量和預期的工作量。

依預設,Kubernetes 工作會為每次掃描分配最小資源。在某些情況下,使用者活躍度、自動化程度、應用程式規模和掃描頻率等因素會造成影響,可能需要更多資源來確保掃描正常運行;假設資源可用,Pod 將嘗試擴充到最大定義的資源。如果資源不足以擴充,部分掃描可能會失敗。

為最大化成功,請提供足夠的資源讓系統能夠在需要時擴充。資源分配是從並行掃描的次數衍生而來。

ASCP 資源

僅在 ASCP 執行時:
記憶體 CPU (vCore)
ASCP
最小 42 GB 10
最大 48 GB 12
註: ASCP 資源是恆定的,並且是掃描所需資源之外的其他資源。

掃描資源

執行掃描時,其他資源:

記憶體 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
若要達到額外並行性,必須有足夠可用其他資源:
  • 將上述單次掃描所需的掃描資源乘以預期並行掃描的數量,然後將其加到 ASCP 資源。
    例如:
    • 五個並行掃描的最小資源需求為 122 GB 記憶體和 20 個 CPU(42 GB 用於 ASCP + 80 GB 用於掃描,以及 10 個 CPU 用於 ASCP + 10 個 CPU 用於掃描)。
    • 12 個並行掃描的最小資源需求為 234 GB 記憶體和 34 個 CPU(42 GB 用於 ASCP + 192 GB 用於掃描,以及 10 個 CPU 用於 ASCP + 24 個 CPU 用於掃描)。
  • 確保 ASCP 安裝期間發出的 AppScan 360° 授權數量足夠。
  • 定義 Kubernetes 配置與資源的可用性,以允許同時啟動並執行多個掃描。
  • 我們不建議超過 25 個並行執行。

每項服務的最大數量取決於預期的尖峰掃描負載設定檔,也就是提交的掃描峰值數量、掃描原始碼/二進位的百分比,以及掃描 IRX 的百分比。由於這些不明要素,因此可能無法在初始部署時定義最佳配置。HCL AppScan 360° 配置可根據實際掃描負載進行調整。

註: 若要執行掃描,掃描所需的資源應可在單一節點上取得。靜態掃描的建議節點應至少有 28 GB 的 RAM 和四個核心;動態掃描的建議節點應至少有 4 GB 的 RAM,三個核心,以及 200 GB 的磁碟空間,用於暫時儲存日誌。

資料庫

  • 資料庫安裝、管理、備份、維護和授權為使用者的責任。
  • 支援 MSSQL Server 2019 及以上版本。
  • 安裝 HCL AppScan 360° 前,請確認有一位具備 db_creator 許可權的使用者。

瀏覽器

AppScan 360° 支援下列瀏覽器的最新版本:
  • Chrome
  • Safari
  • Edge
  • Firefox

身分提供者

安裝過程中會建立兩位本端使用者。
管理員 應用程式管理者
使用者名稱 管理員 使用者
密碼 Admin12! User12!

若要加入其他使用者,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
註: 需要連同 DNS 伺服器中的輸入指定 IP 一起發佈輸入 FQDN。