Datenerhebung und Sicherheit von Discovery-Clients

In diesem Dokument werden Bedenken und Fragen zur Installation des Migration Center-Discovery-Clients in Rechenzentren behandelt. Dabei wird die Bedeutung von Sicherheit, Compliance und Leistung beim Ermitteln und Erfassen von Daten aus den IT-Ressourcen von Kunden in stark regulierten Umgebungen hervorgehoben.

Wie die Datenerhebung erfolgt

Der Discovery-Client verwendet verschiedene Methoden, um Daten von Zielcomputern zu erfassen. Welche Daten erhoben werden, hängt von der Methode ab. Auf Gastebene werden Daten mithilfe der Erfassungsskripts erhoben. Auf Hypervisor-Ebene werden Daten mithilfe der zugrunde liegenden Plattform-APIs erhoben.

Discovery-Client-Dienst und ‑Prozess

Der Discovery-Client wird als Dienst namens GoogleMCDC in einem Prozess namens mcdc_service.exe ausgeführt.

Sammlungsskripts

Bei allen Erfassungsmethoden auf Gastebene, die vom Discovery-Client verwendet werden, werden Erfassungsskripts auf den Zielcomputern ausgeführt. Unter den folgenden Links finden Sie die tatsächlichen Skripts, die für die Erfassung verwendet werden:

Die Erfassungsskripts speichern die Ergebnisse in einer Archivdatei (ZIP oder TAR), die dann vom Discovery-Client abgerufen wird.

Erfassungsmechanismen

Der Discovery-Client kann einen oder mehrere der in den folgenden Abschnitten beschriebenen Erfassungsmechanismen verwenden, um Daten von den Zielcomputern zu erfassen.

SSH (Linux)

Während der SSH-Erfassung läuft der folgende Prozess ab:

  1. Zwischen dem Collector-Computer und dem Zielserver wird eine SSH-Sitzung gestartet.
  2. Unter ~/.mcdc-temp/ wird ein temporäres Verzeichnis erstellt.
  3. Das Erfassungsskript wird in dieses Verzeichnis kopiert.
  4. Das Erfassungsskript wird ausgeführt.
  5. Das Ergebnisarchiv wird mit SCP abgerufen.
  6. Das temporäre Verzeichnis wird bereinigt.

WMI (Windows)

Standardmäßig verwendet der Discovery-Client Remote-WMI-Aufrufe, um Daten von Ziel-Windows-Computern zu erfassen. Wenn Sie die skriptbasierte Erfassung aktivieren, kopiert und führt der Discovery-Client ein Skript auf dem Zielcomputer aus.

Bei der skriptbasierten WMI-Erfassung läuft der folgende Prozess ab:

  1. Eine WMI-Verbindung wird zur Zielmaschine hergestellt.
  2. Auf dem Zielcomputer wird unter HKLM:\SOFTWARE\Google\Collector\data ein temporärer (flüchtiger) Registrierungsschlüssel erstellt.
  3. Das Erfassungsskript wird in den Registrierungsschlüssel kopiert.
  4. Unter C:\temp wird ein temporäres Verzeichnis erstellt.
  5. Das Erfassungsskript wird in das temporäre Verzeichnis geschrieben.
  6. Das Erfassungsskript wird ausgeführt.
  7. Das Ergebnis der Erfassung wird in den flüchtigen Registrierungsschlüssel geschrieben.
  8. Das Ergebnis wird auf den Collector-Computer kopiert.

VMware Guest Tools (Linux und Windows)

Bei der VMware-Erfassung für Linux und Windows wird der folgende Prozess durchlaufen:

  1. Ein temporäres Verzeichnis wird mit VMware-Gasttools erstellt.
  2. Das Erfassungsskript wird in dieses Verzeichnis kopiert.
  3. Das Erfassungsskript wird ausgeführt.
  4. Das Ergebnisarchiv wird mit VMware-Gasttools abgerufen.
  5. Das temporäre Verzeichnis wird bereinigt.

Regelmäßige Datenerhebung

Der Discovery-Client erfasst regelmäßig Daten von allen konfigurierten Servern. Es gibt zwei Arten der Erhebung:

  • Vollständige Erfassung:Wird einmal täglich für jeden Server ausgeführt. Bei dieser Erfassung wird das vollständige Erfassungsskript ausgeführt, das verschiedene Informationen zur VM erfasst, z. B. Hardware, Umgebung, installierte Software und laufende Prozesse.
  • Leistungserfassung:Wird alle 10 Minuten auf jedem Server ausgeführt. Bei dieser Sammlung wird das Leistungserfassungsskript ausgeführt, das Daten zur CPU-, Arbeitsspeicher-, Netzwerk- und Laufwerksauslastung erfasst.

Welche Daten werden erhoben?

Mit den Erfassungsskripten werden Daten zu Ziel-VMs erfasst, um zu ermitteln, wie sie konfiguriert sind und welche Ressourcen sie verwenden. Das hilft bei der Bewertung und Planung der Migration in die Cloud.

In der folgenden Liste werden die erhobenen Daten beschrieben:

  • Systeminformationen: Die grundlegenden Informationen, die für die Bestimmung der Größe, der Leistungsanforderungen und der Abhängigkeiten der VM von bestimmter Hardware oder bestimmten Treibern entscheidend sind. Es enthält Folgendes:
    • Betriebssystem (Version und Release)
    • Hardware (CPU, Arbeitsspeicher, BIOS-Details)
    • Netzwerkkonfiguration (Netzwerkschnittstellen, IP-Adressen, Routingtabellen)
    • Speicher (Festplatten, Partitionen, Bereitstellungspunkte)
  • Installierte Software und Dienste: Die Skripts erfassen eine Liste der installierten Pakete und laufenden Dienste, um den Softwarestack der VM und ihre Rolle zu ermitteln. Es enthält Folgendes:
    • Webserver (Apache, Tomcat, JBoss)
    • Datenbanken (Beweise für SQL Server werden im Windows-Script gesammelt)
    • Andere Anwendungen, für die während der Migration möglicherweise spezielle Konfigurationen erforderlich sind.
  • Anwendungskonfigurationen: Die Skripts erfassen auch Konfigurationsdateien für Webserver (IIS, Apache, Tomcat, JBoss, Wordpress). So können Sie die spezifischen Einstellungen und Abhängigkeiten dieser Anwendungen besser nachvollziehen, was für einen reibungslosen Übergang zur Cloud-Umgebung unerlässlich ist.
  • Erkennung von VMware- und Cloud-Umgebungen: Sowohl die Linux- als auch die Windows-Skripts versuchen zu erkennen, ob die VM bereits in einer Cloud-Umgebung (AWS oder Google Cloud) oder in einem vCenter-Cluster ausgeführt wird. Dazu werden Anfragen an die Metadatenserver dieser Cloud-Anbieter gesendet. Wenn sich die VM bereits in der Cloud befindet, werden mit den Skripts relevante Metadaten wie Instanz-ID, Instanztyp und andere Details erfasst.
  • Leistungsmesswerte:Mit den Skripts zum Erfassen von Leistungsdaten wird die Ressourcennutzung gemessen. Dazu gehören:
    • CPU
    • Arbeitsspeicher
    • E/A-Vorgänge
    • Netzwerk
  • Netzwerkverbindungen:Die Skripts erfassen offene Verbindungen, um ein Bild der verschiedenen Abhängigkeiten von Netzwerkressourcen zu erstellen.

Auswirkungen auf die Leistung von Zielcomputern

Bewertung der Ressourcennutzung

Die Ressourcennutzung der Erfassungsskripts auf dem Zielcomputer hängt von Parametern wie der Anzahl der ausgeführten Prozesse, der Anzahl der bereitgestellten Anwendungen und der Anzahl der aktiven Netzwerkverbindungen ab.

Unter Windows wird das Erfassungsskript mit der niedrigsten Priorität ausgeführt, die über die Threading API verfügbar ist. Unter Linux wird ein nice-Wert von 5 verwendet, um Beeinträchtigungen von Produktionsarbeitslasten zu minimieren und sicherzustellen, dass diese eine höhere Priorität als das Erfassungsskript haben.

Eine typische Erfassung kann auf einer nicht ausgelasteten Maschine 5 bis 20 Sekunden lang eine hohe Single-Core-CPU-Auslastung verursachen. Wenn andere Arbeitslasten vorhanden sind, kann es länger dauern, da diese eine höhere Priorität haben.

Strategien zur Risikominderung

Der Discovery-Client bietet einen Mechanismus, um die Erfassung bestimmter Server zu bestimmten Zeiten zu verhindern. Mit dieser Funktion kann verhindert werden, dass Daten von Servern mit kritischen Arbeitslasten während der Spitzenzeiten erfasst werden.

Sicherheitsaspekte

Authentifizierung und Autorisierung

Kommunikation mit Zielcomputern

  • Der Discovery-Client verwendet sichere Kanäle, um sich bei Zielcomputern zu authentifizieren und mit ihnen zu kommunizieren. Dazu gehören SSH-, WMI-, VMware-Tools- und vCenter-Verbindungen. Der Discovery-Client verwendet die integrierten Sicherheitsmaßnahmen im Rahmen dieser Protokolle.
  • Im Discovery-Client von SSH sind sowohl die Authentifizierung mit Nutzername und Passwort als auch die schlüsselbasierte Authentifizierung möglich. Eine vollständige Liste der unterstützten Arten von Schlüsselpaaren finden Sie unter Anforderungen an Ziel-Assets.

Kommunikation mit Google Cloud

  • Registrierte Discovery-Clients kommunizieren während des normalen Betriebs mit dem Google Cloud Migration Center. Die Kommunikation erfolgt über ein Dienstkonto mit der Rollenbindung roles/migrationcenter.discoveryClient. Das Dienstkonto wird entweder automatisch erstellt oder vom Nutzer während der Registrierung angegeben.
  • Der private Schlüssel des Dienstkontos wird auf dem Discovery-Clientcomputer mit dem im folgenden Abschnitt beschriebenen Verschlüsselungsmechanismus verschlüsselt.
  • Die gesamte Kommunikation mit Google Cloud wird mit diesem Dienstkonto authentifiziert und mit SSL/TLS verschlüsselt.

Datenverschlüsselung

  • Bei der Übertragung:Alle Kommunikationskanäle des Discovery-Clients verwenden Verschlüsselung, um Daten bei der Übertragung zu schützen. Dazu gehört die Kommunikation mit den Zielcomputern über die verschiedenen Protokolle (SSH/WMI) und die Kommunikation mit Google Cloud über HTTPS.
  • Ruhende Daten:Personenbezogene vertrauliche Informationen, vertrauliche personenbezogene Informationen und Secrets des Discovery-Clients werden alle mit dem AES128_GCM-Algorithmus verschlüsselt und die Verschlüsselungsschlüssel werden mit der Windows DPAPI sicher gespeichert.

Einbruchserkennung und ‑vermeidung

Da der Discovery-Client verwendet wird, um eine Verbindung zu vielen VMs in Ihrer Organisation herzustellen und Skripts darauf auszuführen, kann er EDR- oder XDR-Benachrichtigungen auslösen. Dies hängt stark von der Konfiguration Ihrer Sicherheitstools und den von Ihnen verwendeten Tools ab. Sie sollten sich dessen bewusst sein und Ausnahmen für die jeweiligen Benachrichtigungen und Geräte erstellen.

Logging und Support

Der Discovery-Client erfasst während des Betriebs Logs, um Debugging und Support zu ermöglichen. Die Discovery-Client-Logs werden mit zwei Mechanismen erfasst:

  • Lokale Logs:Die Logs werden in die Datei unter C:\ProgramData\Google\mcdc\logs geschrieben. Die Logdateien werden rotiert und komprimiert.
  • Cloud-Logs:Registrierte Clients senden die Logs auch an Google Cloud , damit sie vom Google Cloud -Supportteam verwendet werden können, wenn Kundenprobleme gemeldet werden.