設定 AppScan 360° 靜態分析 環境
安裝 AppScan 360° 靜態分析 前,請先設定您的環境以獲得最佳部署。
- 所有 Kubernetes 環境:
- 若您是從 Harbor 下載 AppScan 360° 靜態分析
- 如果您透過 HCL 授權與下載入口網站從封存檔案下載 AppScan 360° 靜態分析:
- 如果您使用雲端型 Azure 叢集:
HCL ID
您的 HCL ID 會將您的帳戶與有效授權建立關聯,並可存取軟體和支援。必須存取 HCL 授權與下載入口網站和 HCL Harbor。
如需建立 HCL ID 和存取授權和軟體的完整資訊,請參閱本文件。
Linux 系統
需要 Ubuntu 或 Red Hat Enterprise Linux 系統以起始部署。實際部署可在遠端 Kubernetes 叢集(例如,在 Azure Kubernetes 服務中的叢集)中,但部署是從此 Linux 機器起始。
AppScan 中央平台
AppScan 中央平台 是 AppScan 中央平台 體驗的基礎。它結合了使用者介面、API 和核心伺服器元件。
如需安裝配置 AppScan 中央平台 的完整說明,請參閱這裡。
- 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
preparer
和analyzer
pod 需要最少 16GB 的記憶體。 - 需要支援
ReadWriteMany
的儲存提供者。AKS 提供azurefile
作為儲存提供者,其支援ReadWriteMany
。如果要使用如longhorn
的自訂儲存提供者,則確保其支援ReadWriteMany
。
確認 VM 與 Kubernetes 叢集之間的通訊
- 登入您的 Azure 帳戶。
> azure login
- 若要連線至 Azure 上的 Kubernetes 叢集:
> az aks get-credentials --resource-group <resource-group-name> --name <cluster-name>
--resource-group
是有您叢集的 Azure 資源群組。--name
用於連線至 CLI 的叢集名稱。連線到叢集會將您的安裝記號合併到主資料夾中的 .kube/config 檔案。如果配置檔案不存在,將建立它。
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 部署。
> 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 |
容錯。 |
認證管理員
> 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 的完整指示,請參閱此處。