在 Kubernetes 上部署微服務 IAST 代理程式

AppScan 支援在 Kubernetes 叢集上自動安裝 IAST 代理程式。若使用 MutatingAdmissionWebhook,IAST 代理程式會自動安裝在任何啟動的 Pod 上。

執行這項作業的原因和時機

在 Kubernetes 上安裝 IAST 代理程式的步驟說明,支援 Java、.Net 與 Node.js 應用程式。

顯示在 Kubernetes 上安裝的影像

程序

  1. 此處所述,下載 ASoC Kubernetes IAST 代理程式。
  2. 解壓縮 ZIP 檔內容。
  3. 若要在 Kubernetes 叢集中安裝 IAST 代理程式:
    1. 執行 install-secagent-webhook.sh 指令碼並指定 IAST 安裝的名稱空間。例如:install-secagent-webhook.sh -n my-namespace -n my-second-namespace
      此指令碼會在叢集中安裝 MutatingAdmissionWebhook,接著在啟動時將 IAST 代理程式新增至指定名稱空間中的每個 Pod。當未指定名稱空間時,將使用名稱空間 default
    2. 若要套用 IAST 代理程式,請重新啟動任何現有的 Pod。
    3. 選用:若要部署微服務 IAST 分析工具,請新增以下旗標:--with-analyzer。如此即可取得完整的服務圖形視圖並減少誤報。目前僅支援 Node.js 環境。

      顯示 Kubernetes Pod 指令注入問題的服務圖表。

  4. 選擇性的: 您可以將 IAST 安裝程式配置為略過特定 Pod,或指定 Pod 的代理程式偵測語言。在執行 install-secagent-webhook.sh 指令碼之前,配置檔必須置於 "config" 資料夾中。
    配置範例可在解壓縮 zip 的 "examples" 資料夾中找到。
    { 
    // don't install IAST agent on service1. Default for ignore is false 
    "name":"service1", 
    "namespace":"default", 
    "ignore":true 
    }, 
    { 
    // hint IAST installer that service2 is Java. Possible values: java, net-core, nodejs 
    "name":"service2", 
    "namespace":"my-namespace", 
    "agents":["java"] 
    }, 
  5. 若要檢視不同 Pod 回報之問題的 Pod 名稱,請參閱「問題詳細資料」標籤中的「其他資訊」區段。
  6. 若要在 Kubernetes 叢集中解除安裝 IAST 代理程式:
    1. 執行 uninstall-secagent-webhook.sh 指令碼。
    2. 若要完成解除安裝程序,您必須重新啟動任何執行中的 Pod,因為解除安裝期間不會自動從這些 Pod 中移除該代理程式。