開始之前
首先完成 開始之前 中的所有六項檢查。特別是,如果 C1FSS 涉及多個專案,請勿開始,並確保您已記錄每個 Bucket Listener 保護的儲存區,以及每個儲存區的 C1FSS
通知
id 和 topic。您需要這些詳細資訊來進行回滾。您可以遵循此短暫停機過程,將 TrendAI 雲端 One File Storage Security (C1FSS) 更新至 TrendAI Vision One™ File Security Storage (V1FSS) 在 Google Cloud Platform。由於 C1FSS 掃瞄在 V1FSS 掃瞄開始之前停止,此方法避免了兩個產品同時掃瞄並處理同一物件時可能發生的競爭條件。沒有物件被重複掃瞄,
fss- 元數據不會反覆更改,且沒有物件被兩個產品移動。掃描會在步驟 2 和步驟 3 之間暫停。在此間隙上傳的物件不會被任何產品掃描。這兩個動作都是單一動作,因此間隙通常只有幾分鐘,其持續時間取決於您,而不是任何部署步驟。
步驟
- 安裝 V1FSS,並且不要開啟 C1FSS 保護的任何儲存桶的掃描功能。
- 在 TrendAI Vision One 控制台中,前往,然後在「Inventory」頁面中,於「儲存空間」下,選擇「GCP」。
- 點擊「Add a single Google Cloud Project」,選擇「Single Google Cloud Project」,並在「General information」頁面上完成所需欄位。
- 在「Features and Permissions」頁面上,啟用「File Security Storage」並選擇您要部署File Security掃描器的地區。

重要
選擇每個執行 C1FSS 的區域,這些區域已記錄在「Before you begin」中。完整的部署程序請參閱部署 File Security 儲存至 Google 雲端平台。
重要
如果此專案已經連接到 TrendAI Vision One 用於其他功能,請勿建立新的連接。請將 File Security Storage 添加到現有的連接中,以確保重新生成的套件仍然包含專案已經擁有的所有功能。 - 在 Google Cloud 控制台中,打開「Cloud Shell」,然後按照 TrendAI Vision One 控制台「Add Google Cloud Project」頁面上顯示的步驟上傳並提取部署包。
- 如果您使用 promote-or-quarantine 插件,請在安裝之前立即配置 promote 和隔離設定。請參閱 更新提升和隔離設定。現在配置設定可以避免 V1FSS 掃描您的物件但不移動它們的情況。在此路徑上沒有重疊,因此不會有兩個產品移動相同物件的風險。
- 查看將會創建的內容,然後部署 V1FSS。
./deploy.sh precheck ./deploy.sh install
precheck命令不會改變任何東西。它是一個 Terraform 計劃,而不是權限檢查。install命令會在您的專案中建立一個 Terraform 狀態儲存桶,應用雲端帳號管理模組和 File Security 儲存模組,並自動將專案註冊到 TrendAI Vision One。無需單獨的註冊步驟。輸出會寫入deploy_gcp.log。如果雲端 Shell 在中途超時,請重新連接,切換回部署目錄,然後再次執行相同的命令。進度會記錄在 Terraform 遠端狀態中,而不是在您的 Shell 中,因此命令會從停止的地方繼續。 - 確認專案在部署完成後出現在「Inventory」頁面上的「GCP」下,並且專案中的儲存桶已列出,全部顯示為未受保護。

注意
同步您的儲存桶至 TrendAI Vision One 可能需要一些時間。 - 請勿立即開啟 C1FSS 保護的任何儲存桶的掃描功能。將它們保持關閉直到步驟3是縮短停機時間的關鍵。(選用)立即掃描未受C1FSS 保護的儲存桶,並用它來確認 V1FSS 是否正常運作,然後再進行任何切換。此儲存桶沒有 C1FSS 通知配置,因此不會出現任何衝突。
Check point-
該專案顯示在「Inventory」頁面上的「GCP」下。
-
C1FSS 保護的每個儲存桶都列在專案下,並且仍顯示為未受保護。
-
C1FSS仍在掃描。每個儲存桶的通知配置仍指向雲端函數主題,其
…-bucket-listener函數未被更改。
- 移除 C1FSS 儲存桶通知。

重要
停機時間從此開始。在此步驟與步驟3之間上傳的物件不會被任何產品掃描。刪除通知配置會立即停止事件傳送,同時保留 C1FSS 基礎設施完好無損,因此如果第 3 步出錯,您可以在不重新部署的情況下恢復。這在此路徑上比在零停機路徑上更重要,因為在您操作期間,您的存儲桶是未受保護的。- 列出儲存桶的通知配置並識別 C1FSS 的配置。目前它是唯一的配置,因為 V1FSS 掃描尚未啟用。
gcloud storage buckets notifications list gs://<bucket>
C1FSS 設定的id為cloud-functions-<project>-<tenant>-tp,並且在 Google 管理的租戶專案中有一個topic。
重要
在刪除配置之前,請記錄完整的id和topic。它們是您用來確認還原的依據。 - 刪除 C1FSS 通知配置。
gcloud storage buckets notifications delete \ projects/_/buckets/<bucket>/notificationConfigs/<c1-notification-id>
- 確認清單現在已空,然後對此區域中的每個儲存桶重複此操作。
gcloud storage buckets notifications list gs://<bucket>
- 如果您使用 promote-or-quarantine 插件,請立即刪除該插件功能,以便 C1FSS 停止移動物件以及掃描它們。這是功能刪除而非通知刪除,因為插件是從 C1FSS 掃瞄結果的 Pub/Sub 主題觸發,而不是從您的儲存桶觸發。
gcloud functions delete <plugin-function-name>

重要
在刪除插件之前,請記錄其設定。您需要這些設定來回滾,並且因為該插件在 V1FSS 中不存在,這是您擁有的最後配置。記錄PROMOTE_STORAGE_BUCKET、PROMOTE_MODE、QUARANTINE_STORAGE_BUCKET和QUARANTINE_MODE,您可以使用以下命令來讀取。gcloud functions describe <plugin-function-name> --format="value(environmentVariables)"
- 列出儲存桶的通知配置並識別 C1FSS 的配置。目前它是唯一的配置,因為 V1FSS 掃描尚未啟用。
- 開啟掃描您在「Before you begin」中記錄的儲存桶。當此步驟完成時,停機時間結束。您也可以選擇開啟對 C1FSS 從未保護過的儲存桶進行掃描,以確認 V1FSS 能夠獨立掃描物件。
- 驗證 V1FSS 是否正常運作。由於 C1FSS 不再掃描任何內容,因此在此路徑上的歸因是明確的。
- 將新檔案上傳至儲存桶。在 Google Cloud 控制台中,前往 ,打開儲存桶,然後點擊「Upload files」。
- 檢查掃瞄結果是否在該物件上。雲端儲存具有物件中繼資料而非標籤。在雲端儲存瀏覽器中點擊物件並檢查其自訂中繼資料,或在雲端 Shell 中閱讀。
gcloud storage objects describe gs://<bucket>/<object> --format="value(custom_fields)"
預期fss-scan-result為未發現問題。 - 在 TrendAI Vision One File Security 頁面上檢查掃瞄活動。
- 將 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 是一個標準的惡意程式防護測試字串,不是真正的惡意程式。 - 檢查物件元數據。預期
fss-scan-result為惡意。 - 等待掃瞄結果同步,並在 TrendAI Vision One 中顯示惡意程式檢測。
- 如果您已經移轉了您的推廣和隔離設定,請確認物件是否真的移動。成功的掃瞄並不表示檔案已到達正確的位置。目的地儲存桶、資料夾佈局設定和目的地的 IAM 授權是三個可能出錯的獨立項目。請確認以下所有事項:
-
EICAR 物件會從來源儲存桶消失,並出現在您的隔離儲存桶中。
-
物件位於您預期的路徑:
gs://<quarantine>/<object>,且use_source_bucket_as_folder = false,或gs://<quarantine>/<source-bucket>/<object>,且true。 -
清理物件對您的推廣目的地執行相同的操作。

注意
如果您選擇將 V1FSS 目的地留空,預期物件將停止移動。它們現在會被標記在原地並留在來源儲存桶中。如果任何下游系統讀取您的隔離或提升儲存桶,它將停止接收物件。 -
- 將新檔案上傳至儲存桶。
- 移除舊的 C1FSS 堆疊。依照步驟 4 操作手動更新至 TrendAI Vision One 檔案安全儲存(適用於 Google Cloud Platform)-零停機時間兩種更新路徑的步驟相同,只是您已在步驟 2 中刪除了外掛程式功能。在刪除堆疊之前,請移除插件的剩餘資源,包括其服務帳戶和自訂角色。
後續步驟
更新已完成。V1FSS 正在掃描您的儲存桶,C1FSS 已退役。
針對短暫停機更新的還原
如果您在從 C1FSS 更新到 V1FSS 時遇到問題,您可以按照以下步驟還原到 C1FSS。在此路徑中,順序是零停機路徑的反向:首先還原 C1FSS,然後關閉 V1FSS,以確保沒有任何產品未進行掃描的時間窗口。
步驟
- 重新部署 C1FSS Bucket Listener 函數。僅刪除了通知配置,因此功能及其來源仍然存在,這是一次沒有變更的重新部署。在 Google Cloud 控制台中,前往「Cloud Functions」,打開
…-bucket-listener功能,點擊「編輯」,不做任何更改,然後點擊「部署」。
重要
請勿嘗試直接使用gcloud storage buckets notifications create重新建立通知配置。其目標主題位於 Google 管理的專案中,您的帳戶無法觸及任何 IAM 介面,因此無論您記錄的id和topic為何,該命令都會因PERMISSION_DENIED而失敗。如果您有 C1FSS 的 Terraform 生成,在storages/目錄中執行terraform apply也有效,並且不需要您的狀態保持完整。只需函數仍然存在即可。確認通知設定已恢復並符合您在步驟2中記錄的內容。gcloud storage buckets notifications list gs://<bucket>
- 如果您刪除了插件功能,請在插件目錄中使用
terraform apply重新創建它,並使用您在步驟2中記錄的設置。
注意
新的deployment_name值會生成新的資源名稱後綴,因此重新建立的實例名稱與您刪除的實例名稱不同。 - 然後,在 TrendAI Vision One 控制台中,前往 File Security 「Inventory」 頁面並關閉桶的掃描功能。這僅刪除 V1FSS 通知配置。TrendAI Vision One 的刪除路徑是根據主題名稱過濾的,因此 C1FSS 配置不會受到影響。C1FSS 如更新前一樣掃描桶。
後續步驟
重要還原僅在您刪除 C1FSS 堆疊之前才有可能。在那些被刪除後,還原意味著需要從頭開始重新部署 C1FSS。
|
