檢視次數:
Trend Vision One File Security 容器化掃瞄器可以與 NetApp 的 ONTAP 結合使用,以掃瞄使用基於 RPC 協定的檔案。
fs-ONTAPP-architecture=f17e7ac2-76e6-486a-ae50-1900c0454a50.png

先決條件 上層主題

您需要以下內容:
  • 已配置 SVM 的運作中 ONTAP 叢集。
  • Windows Vscan 伺服器。
  • 具有掃描器服務的 Kubernetes 叢集。確保使用適當的功能標誌啟用 RPC 代理程式管理。欲了解更多詳細資訊,請參閱 部署容器化掃描器
  • 所有元件之間的網路連接。

配置 NetApp ONTAP 上層主題

步驟

  1. 在 ONTAP 管理控制台上啟用 Vscan:
    1. 建立掃描器池:
      vserver vscan scanner-pool create -vserver <svm_name> -scanner-pool <pool_name> -hostnames <vscan_server_hostname> -privileged-users <domain\user>
      
      如需詳細資訊,請參閱 vserver vscan scanner-pool create
    2. 將政策應用於掃描器池:
      vserver vscan scanner-pool apply-policy -vserver <svm_name> -scanner-pool <pool_name> -scanner-policy primary
      如需詳細資訊,請參閱 vserver vscan scanner-pool apply-policy
    3. 在 SVM 上啟用 Vscan:
      vserver vscan enable -vserver <svm_name>
  2. 安裝 NetApp ONTAP AV-Connector:
    1. 從 NetApp 的網站下載 NetApp ONTAP AV-Connector。
    2. 在您的 Windows Vscan 伺服器上安裝連接器。
    3. 設定連接器的項目:
      • ONTAP 管理 LIF 或資料防護 LIF (SVMs) IP 位址
      • 適當的憑證以存取 ONTAP

配置容器化掃描器以支援ONTAP代理 上層主題

:

步驟

  1. 使用 values.yaml 檔案啟用 Management Service 的 ontap-agent 插件。
    visiononeFilesecurity:
      management:
        plugins:
          - name: ontap-agent
            enabled: true
            configMapName: ontap-agent-config
            securitySecretName: ontap-agent-security
            jwtSecretName: ontap-agent-jwt
  2. 配置您的資料庫儲存。
    • 該圖表可以在有或沒有捆綁的 PostgreSQL 資料庫的情況下運行管理服務:
      • 預設 (dbEnabled: false) – 不會建立任何 PostgreSQL 物件(StatefulSet、PVC、Service、Secret、StorageClass)。僅在進行無狀態測試或其他團隊在此 chart 外部部署並連接資料庫時使用
      • 嵌入式資料庫 (dbEnabled: true) – Helm 部署 PostgreSQL StatefulSet,透過內部 ClusterIP 服務進行曝光,並為您提供持久性儲存。
    • EKS 叢集通常已經有一個由 EBS 支援的 StorageClass,例如 gp3。通過關閉捆綁的 hostPath StorageClass 並將 PVC 指向 gp3 來重複使用它
      visiononeFilesecurity:
        management:
          dbEnabled: true
      databaseContainer:
        storageClass:
          create: false          # reuse an existing EBS StorageClass
        persistence:
          storageClassName: gp3  # any EBS-backed StorageClass name works
          size: 100Gi
      說明:
      databaseContainer.storageClass.create: false 跳過建立新的 StorageClass。它重用由 databaseContainer.persistence.storageClassName 參考的現有 StorageClass(EBS gp3、NFS、Ceph 等)。
    • 若要使用 AWS EBS 作為您的存儲,您需要確保:
      • AWS EBS CSI 驅動程式已安裝且正常(kubectl get storageclass 顯示 ebs.csi.aws.com 配置器)
      • CSI 驅動程式的 IAM 角色具有標準 EBS 權限
      • 所需的 StorageClass (gp3, gp2 等) 已存在;如有需要請創建
      • 命名空間有權限建立 PVCs/PVs
        如需詳細資訊,請參閱AWS EKS 存儲設置指南
  3. 使用 Ingress 暴露掃描器服務和管理服務(例如 AWS EKS 部署)
    1. 配置共享主機(建議):
      掃描器和管理服務可以共用相同的主機名稱,以降低基礎設施成本並簡化 DNS 管理。共用主機時:
      • 掃描器服務處理所有到根路徑 (/) 的流量
      • 管理服務處理到 /ontap 路徑的 WebSocket 流量
      • 入口控制器在路由請求時優先考慮較長的/ontap路徑
      注意
      注意
      共享主機的主要要求如下:
      • 兩個入口必須使用相同的group.name註解(AWS ALB)來共享單一負載平衡器
      • 管理服務必須使用 backend-protocol: HTTP1(而非 HTTP2)以確保 WebSocket 升級的相容性
    2. 編輯掃描器服務的 values.yaml 檔案:
      scanner:
      ...
        ingress:
          enabled: true
          className: "alb"
          annotations:
            "alb.ingress.kubernetes.io/backend-protocol-version": "GRPC"
            "alb.ingress.kubernetes.io/group.name": "<lb-group-name>"
            "alb.ingress.kubernetes.io/scheme": "internet-facing"
            "alb.ingress.kubernetes.io/certificate-arn": "<certificate-arn>"
            "alb.ingress.kubernetes.io/target-type": "ip"
          hosts:
            - host: "<custom-domain-name>"
              paths:
                - path: /
                  pathType: Prefix
          tls: []
    3. 編輯管理服務的 values.yaml 檔案:
      managementService:
        ingress:
          enabled: true
          className: "alb"
          annotations:
            "alb.ingress.kubernetes.io/backend-protocol-version": "HTTP1"
            "alb.ingress.kubernetes.io/group.name": "<lb-group-name>"
            "alb.ingress.kubernetes.io/scheme": "internet-facing"
            "alb.ingress.kubernetes.io/certificate-arn": "<certificate-arn>"
            "alb.ingress.kubernetes.io/target-type": "ip"
          hosts:
            - host: "<custom-domain-name>"
              paths:
                - path: /ontap
                  pathType: Prefix
          tls: []
    4. 使用自訂的「values.yml」檔案進行升級。
      helm upgrade my-release visionone-filesecurity/visionone-filesecurity -f values.yaml -n visionone-filesecurity
    5. 通過 Route53 配置 DNS:
      • 檢查 ALB DNS 名稱:
        kubectl get ingress -n visionone-filesecurity
      • 建立新記錄:
        • 名稱:<custom-domain-name>
        • 類型:A(別名)用於 ALB
        • 值/目標:ALB DNS 名稱
    6. 在 Vscan 伺服器上測試掃描器服務和管理服務的端點
      • 管理服務:
        • 使用 websocat 測試 websocket(預期未授權(401)錯誤訊息,因為我們只是測試未帶授權令牌的連接)
          websocat --exit-on-eof wss://<custom-domain-name>/ontap
      • 使用 TMFS-CLI 來測試掃瞄(使用容器化掃瞄器進行掃瞄時,您不需要 API 金鑰。)
  4. 在管理服務中為 RPC 代理生成入職令牌:
    1. 在您的容器化掃描器 Kubernetes 叢集中訪問管理服務。
      kubectl exec -it <management service pod> -n <namespace> -- bash
    2. 為 RPC 代理創建代理槽:
      clish agent create --name <agent-name>
    3. 生成用於 RPC Agent 驗證的入門令牌。
      clish agent onboarding-token issue --instance <agent-name>
  5. 安裝 RPC agent:
    1. 下載 RPC agent 安裝程式(msi)。
    2. 安裝在 Windows Vscan 伺服器上。
    3. 使用以下方式配置 RPC 代理:
      • 生成的入門令牌
      • 掃描服務端點
      • 管理服務端點
  6. 使用管理服務配置 RPC 代理:
    1. 在您的容器化掃描器 Kubernetes 叢集中訪問管理服務。
    2. 檢查用戶端連線狀態:
      clish agent show --instance <agent-name>
    3. 為 RPC 代理程式設定特權使用者憑證(使用者名稱/密碼)。
      clish agent credential modify --instance <agent-name>

驗證部署 上層主題

步驟

  1. 在 ONTAP 管理控制台上檢查 Vscan 狀態:
    vserver vscan connection-status show-all
  2. 檢查管理服務中的 RPC 代理連線
  3. 通過創建帶有 EICAR 簽名的測試文件來測試文件掃描,以驗證它們是否被已封鎖。

部署常見問題 上層主題

What do I do if the agent connection state shows Disconnected(N) on Management Service CLI ?
疑難排解
  1. 驗證網路連接 - 確保 Vscan 伺服器能夠連接到容器化掃描器叢集中的管理服務
  2. 檢查代理程式日誌 - 如果網路連線穩定,請在 Windows 事件日誌中查看代理程式日誌以獲取更多疑難排解資訊
  3. 代理程式安裝期間斷線:
    1. 在日誌中搜尋 Failed to connect using onboard token 並檢視錯誤訊息
    2. 如果錯誤顯示為令牌已過期,請發行新的啟動令牌並重新安裝代理程式
  4. 代理程式運行後斷線:
    1. 搜尋日誌中的Failed to connect using device token並檢視錯誤訊息
    2. 如果錯誤顯示為令牌已過期,請進行代理重新啟動(見下文)
How do I re-onboard an agent?
  1. 在 Vscan 伺服器上停止 Ontap 代理服務 (v1fs-ontap-agent)
  2. 透過管理服務 CLI 重新啟動代理並發出新的啟動令牌:
    clish agent re-onboard --instance <agent-name>
  3. 在 Ontap 代理安裝資料夾中修改 config.yaml 檔案(預設:C:\Program Files\v1fs-ontap-agent\
  4. 移除 device_token 鍵及其值
  5. 新增 onboarding_token 鍵值並使用新發行的權杖:
    onboarding_token: eyJh......
  6. 啟動 Ontap 代理服務 (v1fs-ontap-agent)
  7. 使用管理服務 CLI 驗證代理連線狀態
  8. 代理程式成功連線後,請使用以下方式重新輸入憑證:
    clish agent credential modify --instance
        <agent-name>