檢視次數:

開始之前

首先完成 開始之前 中的所有六項檢查。特別是,如果 C1FSS 涉及多個專案,請勿開始,並確保您已記錄每個 Bucket Listener 保護的儲存區,以及每個儲存區的 C1FSS 通知 idtopic。您需要這些詳細資訊來進行回滾。
您可以遵循此零停機過程,從 TrendAI 雲端 One File Storage Security (C1FSS) 更新至 TrendAI Vision One™ File Security Storage (V1FSS) 在 Google Cloud Platform。此方法可讓您在設置和驗證 V1FSS 時,保持現有的 C1FSS 堆疊活躍並掃描物件。
在重疊期間,兩個產品會接收每個物件事件並獨立掃瞄。如果您不使用 promote-or-quarantine 插件,重疊意味著重複掃瞄和一些表面上的元數據變動,並不會丟失或錯置物件。如果您使用該插件並攜帶其設定,重疊也意味著兩個產品移動相同的物件,這會引入競爭條件的風險。如果該風險不可接受,請改用短暫停機路徑。

步驟

  1. 安裝 V1FSS 並開啟儲存桶掃描。
    1. 在 TrendAI Vision One 控制台中,前往「Cloud Security」「File Security」,然後在「Inventory」頁面中,於「儲存空間」下,選擇「GCP」
    2. 點擊「Add a single Google Cloud Project」,選擇「Single Google Cloud Project」,並在「General information」頁面上完成所需欄位。
    3. 「Features and Permissions」頁面上,啟用「File Security Storage」並選擇您想要部署File Security掃描器的地區。
      重要
      重要
      選擇每個執行 C1FSS 的區域,這些區域您已在「Before you begin」中記錄。完整的部署程序請參閱部署 File Security 儲存至 Google 雲端平台
      重要
      重要
      如果此專案已經連接到 TrendAI Vision One 用於其他功能,請勿建立新的連接。請將 File Security Storage 添加到現有的連接中,以確保重新生成的套件仍然包含專案已經擁有的所有功能。
    4. 在 Google Cloud 控制台中,打開「Cloud Shell」,然後按照 TrendAI Vision One 控制台「Add Google Cloud Project」頁面上顯示的步驟上傳並提取部署包。
    5. 如果您使用 promote-or-quarantine 插件,請在安裝之前立即配置 promote 和隔離設定。
      注意
      注意
      在此路徑上,現在設定目的地意味著兩個產品會在重疊期間移動物件。如果這不可接受,可以使用短暫停機路徑,或者將 V1FSS 的目的地留空,讓 V1FSS 只標記物件,並在 C1FSS 拆除後再設定目的地。
    6. 查看將會創建的內容。此命令不會更改任何內容。
      ./deploy.sh precheck
      此命令是 Terraform 計劃,而不是權限檢查。
    7. 部署 V1FSS。
      ./deploy.sh install
      該腳本會在您的專案中建立一個 Terraform 狀態儲存桶,應用雲端帳號管理模組和 File Security 儲存模組,並自動將專案註冊到 TrendAI Vision One。無需單獨的註冊步驟。輸出會寫入 deploy_gcp.log
      如果雲端 Shell 中途超時,請重新連接,切換回部署目錄,然後再次執行相同的命令。進度記錄在 Terraform 遠端狀態中,而不是在您的 Shell 中,因此命令會從停止的地方繼續。
    8. 確認專案在部署完成後出現在「Inventory」頁面的「GCP」下。
    9. 確認您專案中的儲存桶已列出,且全部顯示為未受保護。
      注意
      注意
      同步您的儲存桶至 TrendAI Vision One 可能需要一些時間。
    10. 開啟掃描您在「Before you begin」中記錄的儲存桶。
    11. 另外在同一區域中,開啟對 C1FSS 未保護的其中一個儲存桶的掃描。
      此儲存桶是您在步驟2中的測試目標,空儲存桶即可。步驟2說明了為什麼您在此處驗證,而不是在C1FSS保護的儲存桶上驗證。
    Check point
    • 該專案顯示在「Inventory」頁面上的「GCP」下。
    • 您建立的儲存桶列在專案下。
    • C1FSS 現在保護的每個儲存桶都有兩個通知配置,而測試儲存桶則有一個。
    Google Cloud 控制台不顯示通知配置,因此請在 Cloud Shell 中檢查。
    gcloud storage buckets notifications list gs://<bucket>
    現在,兩個產品都會接收每個物件事件並獨立掃瞄。這是零停機重疊。
  2. 驗證 V1FSS 是否正常運作。
    重要
    重要
    在此步驟中,對 C1FSS 保護的儲存桶執行每項檢查,這是您在步驟 1 中啟用的儲存桶。請勿對 C1FSS 保護的儲存桶執行檢查,因為在重疊期間,您無法分辨是哪個產品產生的結果。
    1. 上傳新檔案至儲存桶。
      在 Google Cloud 控制台中,前往「雲端儲存」「Buckets」,打開儲存桶,然後點擊「Upload files」
    2. 在 TrendAI Vision One File Security 頁面上檢查掃瞄活動。
      這證明了 V1FSS 已掃描該檔案。
    3. 檢查掃瞄結果是否在該物件上。
      雲端儲存具有物件中繼資料而非標籤。在雲端儲存瀏覽器中點擊物件並檢查其自訂中繼資料,或在 Cloud Shell 中閱讀。
      gcloud storage objects describe gs://<bucket>/<object> --format="value(custom_fields)"
      預期 fss-scan-result未發現問題
    4. 將 EICAR 測試檔案上傳至儲存桶。
      在雲端 Shell 中執行以下命令,只需更改最後一行的儲存桶名稱。
      curl -sSL https://secure.eicar.org/eicar.com.txt -o eicar.com.txt && \
      gcloud storage cp eicar.com.txt gs://<bucket>/v1fss-verify-eicar.com.txt
      注意
      注意
      EICAR 是一個標準的惡意程式防護測試字串,不是真正的惡意程式。
    5. 等待掃瞄結果同步,並在 TrendAI Vision One 中顯示惡意程式檢測。
      這證明了 V1FSS 檢測到了該檔案。
    6. 檢查物件中繼資料。
      預期 fss-scan-result惡意
    注意
    注意
    當配置 V1FSS 提升或隔離目的地,或使用 C1FSS 提升或隔離插件時,可能會發生競爭條件。在並行處理期間,V1FSS 可能會移動或隔離物件,而 C1FSS 掃描器仍在處理該物件。結果,當 C1FSS 嘗試訪問該物件時,該物件可能不再可用,導致 C1FSS 掃描器日誌中出現預期的錯誤。反之亦然:無論哪個產品先移動物件,另一個產品都找不到任何東西。
    如果您將 V1FSS 目的地留空,則該插件是唯一移動物件的產品,並且不會發生競爭情況,但 V1FSS 可能仍會到達插件已經移動的物件並記錄一次失敗的掃瞄。這是無害的,並且在移除插件後會停止。
    如果您使用該插件並希望在不移除 C1FSS 掃瞄的情況下提前結束雙重移動,請僅刪除步驟 4 中描述的插件功能。C1FSS 將繼續掃瞄並標記物件。如果您可能需要回滾,請先記錄插件設定。
  3. 移除 C1FSS 存儲桶通知。
    這是切換過程。完成此步驟後,只有 V1FSS 會掃描該儲存桶。刪除通知會立即停止事件傳送到 C1FSS,一次一個儲存桶,同時保留 C1FSS 功能、主題、服務帳戶和 IAM 配置不變,因此切換是可逆的,無需重新部署任何內容。
    1. 列出儲存桶的通知配置並識別C1FSS配置。這沒有控制台頁面。
      gcloud storage buckets notifications list gs://<bucket>
      您看到兩個配置。請按以下方式區分它們。

      識別通知設定

      產品
      id
      主題
      C1FSS
      cloud-functions-<project>-<tenant>-tp
      在 Google 管理的租戶專案中,主題形式為 projects/<name>-tp/topics/cloud-functions-…
      V1FSS
      一個短號碼,例如 143
      projects/<your-project>/topics/v1fss-…-scanner,其中 custom_attributes.creator 設定為 V1 FSS_V1_FILESECURITY
      重要
      重要
      在刪除配置之前,請記錄完整的 C1FSS idtopic。在還原重新部署後,您將使用它們來確認相同的配置已恢復。
    2. 刪除 C1FSS 通知配置。
      gcloud storage buckets notifications delete \
        projects/_/buckets/<bucket>/notificationConfigs/<c1-notification-id>
    3. 確認僅保留 V1FSS 配置。
      gcloud storage buckets notifications list gs://<bucket>
      預期只有一個條目,指向…-scanner主題。
    4. 在此區域的每個儲存桶中重複。
    重疊部分在此結束。從此刻起,每個這些桶僅由 V1FSS 掃描。C1FSS 基礎設施仍然存在,但不接收任何事件。
    Check point
    • 每個儲存桶僅列出…-scanner通知配置。
    • 上傳一個檔案到受 C1FSS 保護的儲存桶,並確認該檔案已被掃瞄。使用步驟 2 中的任一案例。TrendAI Vision One 掃瞄活動和物件元資料都應顯示結果。
    這是您對 C1FSS 保護的儲存桶的端到端確認。此時 C1FSS 資源仍然存在,因此如果檢查失敗,您可以在進行到步驟 4 之前重新部署 C1FSS Bucket Listener 函數以進行回滾。
  4. 移除舊的 C1FSS 堆疊。
    1. 如果您使用了 promote-or-quarantine 插件,請移除它。
      在您刪除堆疊之前執行此操作,以便插件的觸發訂閱與其使用者一起被移除,而不是指向已刪除的主題。在拆除 C1FSS 堆疊時,不要將插件留在原處,因為這樣會繼續移動物件,而現在只有 V1FSS 產品在掃描。
      如果您仍然擁有插件的 Terraform 狀態,請在插件目錄中執行以下操作,每個實例執行一次。
      terraform destroy
      否則,請按名稱移除其資源。先刪除函數,以確保沒有任何內容仍在使用該主題。
      gcloud functions delete <plugin-function-name>
      gcloud storage rm -r gs://artifacts-promote-and-quarantine-plugin-<suffix>
      gcloud iam service-accounts delete qua-pro-plugin-sa-<suffix>@<project-id>.iam.gserviceaccount.com
      gcloud iam roles delete plugin_storage_bucket_write_<suffix> --project="$(gcloud config get-value project)"
      gcloud iam roles delete plugin_storage_bucket_access_<suffix> --project="$(gcloud config get-value project)"
      然後確認沒有任何東西授予外掛程式存取您儲存桶的權限。沒有成員應符合 qua-pro-plugin-sa-
      gcloud storage buckets get-iam-policy gs://<scanning-or-destination-bucket>
      重要
      重要
      該插件的服務帳戶不屬於任何 C1FSS 堆疊,因此堆疊拆除中不會移除它。跳過此子步驟會留下具有刪除和寫入權限的活躍身份,能夠存取您的掃描、推廣和隔離桶,且沒有任何過程監控或審核。
      在此區域的每個插件實例中重複。
    2. 刪除 C1FSS 堆疊。
      請按照刪除 GCP 堆疊中的步驟進行操作,使用您在「Before you begin」中識別的拆卸命令來生成 C1FSS。

後續步驟

更新已完成。V1FSS 正在掃描您的儲存桶,C1FSS 已退役。

零停機時間更新的還原 上層主題

如果您在從 C1FSS 更新至 V1FSS 時遇到問題,您可以按照以下步驟回退至 C1FSS。啟用 V1FSS 並不會改變 C1FSS 的任何內容,因此在大多數情況下,您只需關閉 V1FSS,無需還原任何內容。

步驟

  1. 如果您已經移除 C1FSS 桶通知,請先恢復它,再關閉 V1FSS。
    重新部署 C1FSS Bucket Listener 函數。在 Google Cloud 控制台中,前往「Cloud Functions」,打開…-bucket-listener函數,點擊「編輯」,不做任何更改,然後點擊「部署」
    重要
    重要
    請勿嘗試直接使用gcloud storage buckets notifications create重新建立通知配置。其目標主題位於 Google 管理的專案中,您的帳戶無法觸及任何 IAM 表面,因此無論您記錄的idtopic如何,該命令都會因PERMISSION_DENIED而失敗。重新部署函數會使雲端函數再次提供主題並重新建立通知配置。
    確認通知設定已恢復並與您記錄的相符。
    gcloud storage buckets notifications list gs://<bucket>
  2. 如果您提前刪除了插件功能以結束雙重移動,請在插件目錄中使用terraform apply重新創建它,並使用您記錄的設置。
    注意
    注意
    新的deployment_name值會生成一個新的資源名稱後綴,因此重新創建的實例名稱與您刪除的實例不同。
  3. 在 TrendAI Vision One 控制台中,前往 File Security 「Inventory」 頁面並關閉桶的掃描。
    這僅刪除 V1FSS 通知配置。TrendAI Vision One 刪除路徑是根據主題名稱過濾的,因此 C1FSS 配置不會受到影響。
    C1FSS 如更新前一樣掃描桶。

後續步驟

重要
重要
還原僅在您刪除 C1FSS 堆疊之前才有可能。在那些被刪除後,還原意味著需要從頭開始重新部署 C1FSS。