設定 AppScan 360° 靜態分析 環境

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

您安裝和部署 AppScan 360° 靜態分析 的環境需要設定一些先決條件工具,才能達到最佳效能:

HCL ID

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

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

Linux 系統

需要 Ubuntu 或 Red Hat Enterprise Linux 系統以起始部署。實際部署可在遠端 Kubernetes 叢集(例如,在 Azure Kubernetes 服務中的叢集)中,但部署是從此 Linux 機器起始。

AppScan 中央平台

AppScan 中央平台AppScan 中央平台 體驗的基礎。它結合了使用者介面、API 和核心伺服器元件。

如需安裝配置 AppScan 中央平台 的完整說明,請參閱這裡

重要: 請先安裝 AppScan 中央平台 再下載和部署 AppScan 中央平台
安裝後,請從 ASCP 收集以下資訊,並視情況將資訊儲存至本端檔案:
  • ASCP 服務主機名稱

    ASCP 伺服器的主機名稱 (FQDN)。例如, ascp.example.com

  • 鑑別記號

    鑑別記號位於 <ascp-install-path>\Keys\AgentsApiKey.txt

  • CA 憑證

    憑證檔案位於 <ascp-install-path>\Certs\AppScan360_RootCA.crt

  • 私密金鑰

    私密金鑰檔案位於 <ascp-install-path>\Certs\AppScan360_RootCA.key

本端儲存器服務

要從下載自 HCL 授權與下載入口網站的封存檔案安裝 AppScan 360° 靜態分析 時,需要可將映像推送至遠端登錄的本端儲存器服務。您可以使用 Docker,持續性程序來管理儲存區,或者儲存區,這是管理實體或虛擬機器上儲存器的執行階段。

Kubectl

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

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

Kubernetes 叢集

叢集是 AppScan 360° 靜態分析 代理程式儲存器的所在位置,也是使用的位置。

例如,若要部署 Azure Kubernetes 叢集,使用者必須擁有資源群組,才能管理叢集所使用的資源。

叢集設定附註:
  • 根據預設,AppScan 360° SAST prepareranalyzer pod 需要最少 16GB 的記憶體。
  • 需要支援 ReadWriteMany 的儲存提供者。AKS 提供 azurefile 作為儲存提供者,其支援 ReadWriteMany。如果要使用如 longhorn 的自訂儲存提供者,則確保其支援 ReadWriteMany

確認 VM 與 Kubernetes 叢集之間的通訊

例如,如果您使用 Azure Kubernetes 叢集:
  1. 登入您的 Azure 帳戶。
    > azure login
  2. 若要連線至 Azure 上的 Kubernetes 叢集:
    > az aks get-credentials --resource-group <resource-group-name> --name <cluster-name>

    --resource-group 是有您叢集的 Azure 資源群組。--name 用於連線至 CLI 的叢集名稱。

    連線到叢集會將您的安裝記號合併到主資料夾中的 .kube/config 檔案。如果配置檔案不存在,將建立它。

Keda

安裝及配置 Keda
> helm repo add kedacore https://kedacore.github.io/charts
> helm repo update
> helm install keda kedacore/keda --namespace keda --create-namespace  

輸入控制器

部署輸入控制器。

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

需要連結至 DNS 名稱的 IP 位址。此 IP 位址必須存在於預設的 Kubernetes 資源群組中以進行 AKS 部署。

註: 此處的服務註釋適用於 Azure 負載平衡器性能檢查,且僅應在安裝輸入至峰值叢集時使用。
> helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx 
> helm repo update 
> helm install ingress-nginx ingress-nginx/ingress-nginx \ 
    --namespace ingress-nginx \ 
    --create-namespace \ 
    --set controller.service.loadBalancerIP=<ip-address> \ 
    --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/healthz

NGINX 入口安裝可針對容限,nodeSelector 等進行配置。使用 -f 選項可將這些配置傳送至「輸入 Helm」部署指令。配置參數包括:

參數 說明
controller.config.proxy-body-size 要求主體中允許的大小上限。值應大於您嘗試推送的資料大小。
controller.config.proxy-connect-timeout 與透過 Proxy 處理的伺服器建立連線的逾時上限。
controller.config.proxy-read-timeout 設定讀取透過 Proxy 處理的伺服器之要求的逾時。
controller.config.proxy-send-timeout 設定傳送要求至透過 Proxy 處理的伺服器的逾時
controller.config.enable-access-log-for-default-backend 啟用預設後端的記錄存取權。依預設會停用。
controller.config.ssl-redirect 如果伺服器具有 TLS 憑證,請設定重新導向 (301) 至 HTTPS 的廣域值。預設值為 true。
controller.config.use-http2 啟用或停用安全連線中的 HTTP/2 支援。
nodeSelector.kubernetes.io/os 要執行輸入的節點上的作業系統類型。
tolerations.key 容錯。

認證管理員

安裝及配置 Cert-manager
> helm repo add jetstack https://charts.jetstack.io
> helm repo update
> helm install cert-manager jetstack/cert-manager --namespace cert-manager --create-namespace --set installCRDs=true

Helm

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

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

Azure CLI

Azure CLI 是一組用來建立和管理 Azure 資源的指令。

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