用戶資產評估器資料收集與安全性

本文將說明在資料中心安裝 Migration Center 用戶資產評估器時的疑慮和問題。在高度管制環境中,從客戶 IT 資產中發現及收集資料時,這項指南強調安全性、法規遵循和效能的重要性。

資料收集方式

用戶資產評估器會使用多種方法,從目標機器收集資料。蒐集的資料會因方法而異。在訪客層級,系統會使用收集指令碼收集資料;在超級電腦層級,系統會使用基礎平台 API 收集資料。

用戶資產評估器服務和程序

探索用戶端會以名為 GoogleMCDC 的服務形式,在名為 mcdc_service.exe 的程序下執行。

集合指令碼

用戶資產評估器使用的所有訪客層級收集方法,會在目標機器上執行收集指令碼。您可以透過下列連結查看實際用於收集資料的劇本:

收集指令碼會將結果儲存在封存檔案 (zip 或 tar) 中,然後由探索用戶端擷取。

收集機制

用戶資產評估器可能會使用下列各節所述的一或多個收集機制,從目標機器收集資料。

SSH (Linux)

在 SSH 收集期間,會執行以下程序:

  1. 收集器機器與目標伺服器之間會啟動 SSH 工作階段。
  2. 系統會在 ~/.mcdc-temp/ 下建立臨時目錄。
  3. 系統會將收集指令碼複製到該目錄。
  4. 執行集合指令碼。
  5. 使用 SCP 擷取結果封存檔案。
  6. 臨時目錄已清除。

WMI (Windows)

在 Windows 上收集 WMI 時,會執行下列程序:

  1. 系統會啟動與目標機器的 WMI 連線。
  2. 系統會在目標機器的 HKLM:\SOFTWARE\Google\Collector\data 下建立臨時 (揮發性) 登錄機碼。
  3. 收集指令碼會複製到登錄機碼。
  4. 系統會在 C:\temp 下建立臨時目錄。
  5. 收集指令碼會寫入暫時目錄。
  6. 執行集合指令碼。
  7. 收集結果會寫入揮發性登錄機碼鍵。
  8. 結果會複製到收集器機器。

VMware 來賓工具 (Linux 和 Windows)

在 Linux 和 Windows 的 VMware 收集期間,會發生以下程序:

  1. 使用 VMware 訪客工具建立臨時目錄。
  2. 系統會將收集指令碼複製到該目錄。
  3. 執行集合指令碼。
  4. 系統會使用 VMware 訪客工具擷取結果封存檔。
  5. 臨時目錄已清除。

定期資料收集

用戶資產評估器會定期從所有已設定的伺服器收集資料。收藏分為兩種類型:

  • 完整收集:每天為每部伺服器執行一次。這個收集作業會執行完整的收集指令碼,收集虛擬機器的各種資訊,例如硬體、環境、已安裝的軟體、執行中的程序等等。
  • 成效收集:每 10 分鐘在每部伺服器上執行一次。這個集合會執行效能收集指令碼,收集 CPU、記憶體、網路和磁碟使用率的資料。

我們會收集哪些資料

收集指令碼會收集目標 VM 的資料,以瞭解 VM 的設定方式和使用的資源。這有助於評估及規劃遷移至雲端的作業。

以下清單說明會收集的資料:

  • 系統資訊:決定 VM 大小、效能需求,以及對特定硬體或驅動程式的依附性的重要基本資訊。該指南的內容包括:
    • 作業系統 (版本和發布)
    • 硬體 (CPU、記憶體、BIOS 詳細資料)
    • 網路設定 (網路介面、IP 位址、路由表)
    • 儲存空間 (磁碟磁碟機、分割區、掛接點)
  • 已安裝的軟體和服務:指令碼會收集已安裝套件和執行中服務的清單,以瞭解 VM 的軟體堆疊及其角色。該指南的內容包括:
    • 網路伺服器 (Apache、Tomcat、JBoss)
    • 資料庫 (Windows 指令碼會收集 SQL Server 的證據)
    • 其他可能需要在遷移期間進行特定設定的應用程式。
  • 應用程式設定:指令碼也會收集網路伺服器 (IIS、Apache、Tomcat、JBoss、WordPress) 的設定檔。這有助於瞭解這些應用程式的特定設定和依附元件,對於確保順利轉換至雲端環境至關重要。
  • VMWare 和雲端環境偵測功能:Linux 和 Windows 指令碼都會嘗試偵測 VM 是否已在雲端環境 (AWS 或 Google Cloud) 或 VCenter 叢集中執行。這類應用程式會向這些雲端服務供應商的中繼資料伺服器提出要求。如果 VM 已在雲端中,指令碼會收集相關的結構描述資料,例如執行個體 ID、執行個體類型和其他詳細資料。
  • 成效指標:成效收集指令碼會評估資源使用率。包括:
    • CPU
    • 記憶體
    • I/O 作業
    • 網路
  • 網路連線:指令碼會收集已開啟的連線,以便建立網路資源的不同依附元件圖表。

對目標機器的效能影響

資源使用率評估

在目標機器上,收集指令碼的資源使用率取決於參數,例如執行中的程序數量、部署的應用程式數量、有效網路連線數量等。

在 Windows 上,收集指令碼會使用 Threading API 提供的最低優先順序執行。在 Linux 上,nice 值為 5,可盡量減少與實際工作負載的干擾,並確保這些工作負載的優先順序高於收集指令碼。

在未載入的機器上,一般收集作業可能會使用 5 到 20 秒的單一核心 CPU 高使用率。如果有其他工作負載,可能需要更長的時間,因為這些工作負載的優先順序較高。

緩解策略

用戶資產評估器提供一種機制,可在特定時段內避免收集特定伺服器。這項功能可用於避免在尖峰時段收集執行重要工作負載的伺服器。

安全性考量

驗證及授權

與目標機器通訊

  • 用戶資產評估器會使用安全管道,對目標機器進行驗證及通訊。包括 SSH、WMI、VMware 工具和 VCenter 連線。探索用戶端會使用內建安全措施,做為這些通訊協定的一部分。
  • 在 SSH 中,探索用戶端允許使用者名稱/密碼和金鑰驗證。如需支援的金鑰組合類型完整清單,請參閱「目標素材資源需求」。

與 Google Cloud的通訊

  • 註冊的用戶資產評估器會在正常運作期間與 Google Cloud Migration Center 通訊。通訊會透過具有 roles/migrationcenter.discoveryClient 角色繫結的服務帳戶進行。服務帳戶會自動建立,或由使用者在註冊程序中提供。
  • 服務帳戶私密金鑰會在探索用戶端機器上,使用下一個章節所述的加密機制加密。
  • 所有與 Google Cloud 的通訊都會使用這個服務帳戶進行驗證,並使用 SSL/TLS 加密。

資料加密

  • 傳輸中:所有探索用戶端通訊管道都會使用加密機制保護傳輸中的資料。這包括使用不同通訊協定 (SSH/WMI) 與目標機器通訊,以及使用 HTTPS 與 Google Cloud 通訊。
  • 靜態資料:用戶資產評估器 PII、SPII 和密鑰都會在靜態資料中使用 AES128_GCM 演算法加密,並使用 Windows DPAPI 安全地儲存加密金鑰。

入侵偵測和防範

由於探索用戶端會連結貴機構的許多 VM 並在其中執行指令碼,因此可能會觸發 EDR 或 xDR 警示。這取決於您設定安全性工具的方式,以及您使用的特定工具。請注意,並考慮為特定快訊和裝置建立例外狀況。

記錄和支援

探索用戶端會在運作期間收集記錄,以便進行偵錯和支援。用戶資產評估器記錄會透過兩種機制收集:

  • 本機記錄:記錄會寫入 C:\ProgramData\Google\mcdc\logs 底下的檔案。系統會輪替並壓縮記錄檔。
  • Cloud 記錄:已註冊的客戶也會將記錄傳送至 Google Cloud ,以便 Google Cloud 支援團隊在客戶回報問題時使用。