In diesem Thema wird beschrieben, wie Sie mit Cloud Monitoring die Bootintegrität von Shielded VM-Instanzen beobachten können, für die das Integritätsmonitoring aktiviert ist, die Ursache eines Fehlers bei der Integritätsprüfung feststellen und die Referenz der Integritätsrichtlinie aktualisieren.
Vorbereitung
- Wenn Sie die Befehlszeilenbeispiele in dieser Anleitung verwenden möchten:
- Installieren Sie das gcloud-Befehlszeilentool oder aktualisieren Sie es auf die neueste Version.
- Legen Sie eine Standardregion und -zone fest.
- Wenn Sie die API-Beispiele dieser Anleitung verwenden möchten, richten Sie den API-Zugang ein.
- Aktivieren Sie das Integritätsmonitoring.
VM-Bootintegrität mithilfe von Monitoring überwachen
Verwenden Sie Cloud Monitoring, um sich Ereignisse der Integritätsprüfung anzusehen und zugehörige Benachrichtigungen festzulegen. Mit Cloud Logging können Sie Details zu diesen Ereignissen aufrufen.
Ereignisse der Integritätsprüfung ansehen
So rufen Sie mit dem Metrics Explorer die Messwerte für eine überwachte Ressource auf:
- Rufen Sie in der Google Cloud Console die Seite Monitoring auf.
Wenn Sie Cloud Monitoring noch nie verwendet haben, wird beim ersten Zugriff auf Monitoring in der Google Cloud Console automatisch ein Arbeitsbereich erstellt und Ihr Projekt mit diesem Arbeitsbereich verknüpft. Wenn Ihr Projekt nicht mit einem Arbeitsbereich verknüpft ist, wird ein Dialogfeld angezeigt, in dem Sie entweder einen Arbeitsbereich erstellen oder dieses Projekt zu einem vorhandenen Arbeitsbereich hinzufügen können. Wir empfehlen, einen Arbeitsbereich zu erstellen. Klicken Sie nach der Auswahl auf Hinzufügen.
- Klicken Sie im Navigationsbereich von Monitoring auf
Metrics Explorer.
- Prüfen Sie, ob der Tab Messwert ausgewählt ist.
- Treffen Sie im Feld Ressourcentyp und Messwert finden Ihre Auswahl über das Menü oder geben Sie den Namen für die Ressource und den Messwert ein. Verwenden Sie die folgenden Informationen, um die Felder auszufüllen:
- Wählen Sie für Resource type den Wert gce_instance aus oder geben Sie ihn ein.
- Wählen Sie unter Metric
einen der folgenden Messwerte aus:
- Early Boot Validation zeigt an, ob der frühe Teil der letzten Bootsequenz die Prüfung bestanden hat. Das ist der Teil der Bootsequenz vom Start der UEFI-Firmware bis zur Übergabe der Kontrolle an den Bootloader.
- Late Boot Validation zeigt an, ob der späte Teil der letzten Bootsequenz die Prüfung bestanden hat. Das ist der Teil der Bootsequenz vom Bootloader bis zum Abschluss. Hierbei ist das Laden des Betriebssystemkernels eingeschlossen.
- Mit den Menüs Filter, Gruppieren nach und Aggregator können Sie die Darstellung der Daten ändern. Sie können beispielsweise nach Ressourcen- oder Messwertlabels gruppieren. Weitere Informationen finden Sie unter Messwerte auswählen.
Benachrichtigungen für Ereignisse der Integritätsprüfung festlegen
Legen Sie Benachrichtigungen für die Messwerte Prüfung des frühen Starts und Prüfung des späten Starts fest, falls Sie informiert werden möchten, wenn bei Ihrer VM-Instanz die Startprüfung fehlschlägt. Weitere Informationen zu Benachrichtigungen finden Sie unter Einführung in Benachrichtigungen.
Informationen zu den Einstellungen der Benachrichtigungsrichtlinien für "Early Boot Validation" finden Sie unter Compute Engine-Prüfung des frühen Starts.
Informationen zu den Einstellungen der Benachrichtigungsrichtlinien für "Late Boot Validation" finden Sie unter Compute Engine-Prüfung des späten Starts.
Details zu Ereignissen der Integritätsprüfung ansehen
- Zur Seite "VM-Instanzen"
- Klicken Sie auf die Instanz-ID, um die Seite VM-Instanzdetails zu öffnen.
- Klicken Sie unter Logs auf Cloud Logging.
- Suchen Sie nach dem
earlyBootReportEvent
- oderlateBootReportEvent
-Logeintrag, den Sie einblenden möchten. - Maximieren Sie den Logeintrag >
jsonPayload
>earlyBootReportEvent
bzw.lateBootReportEvent
. In diesem Abschnitt gibt das ElementpolicyEvaluationPassed
an, ob der entsprechende Teil der Bootsequenz die Prüfung gemäß der Referenz der Integritätsrichtlinie bestanden hat. - Maximieren Sie den Abschnitt
actualMeasurements
und die darin enthaltenen nummerierten Elemente, damit die PCR-Werte (Platform Configuration Register) angezeigt werden, die aus der letzten Bootsequenz gespeichert wurden. Die PCR-Werte werden in denvalue
-Elementen der nummerierten Elemente gespeichert. Die PCR-Werte geben die Startkomponenten und ihre Ladereihenfolge in der letzten Startsequenz an. Sie werden mit der Referenz der Integritätsrichtlinie verglichen, um festzustellen, ob sich die Startsequenz der VM-Instanz geändert hat. Weitere Informationen zur Bedeutung von PCR-Werten finden Sie unter Integritätsüberwachungsereignisse. - Maximieren Sie den Abschnitt
policyMeasurements
, um die PCR-Werte einzublenden, die für die Referenz der Integritätsrichtlinie gespeichert wurden.
Antworten auf Ereignisse der Integritätsprüfung automatisieren
Sie können Antworten auf Bootvalidierungsereignisse automatisieren, indem Sie die Cloud Logging-Logs exportieren und in einem anderen Dienst wie Cloud Functions verarbeiten. Weitere Informationen finden Sie unter Übersicht über Logexporte und Antworten auf Fehler der Integritätsprüfung automatisieren.
Ursache für das Fehlschlagen der Startintegritätsprüfung ermitteln
- Zur Seite "VM-Instanzen"
- Klicken Sie auf die Instanz-ID, um die Seite VM-Instanzdetails zu öffnen.
- Klicken Sie unter Logs auf Cloud Logging.
- Suchen Sie die neuesten Logeinträge des Typs
earlyBootReportEvent
undlateBootReportEvent
und prüfen Sie, bei welchem Eintrag fürpolicyEvaluationPassed
der Wert false angezeigt wird. - Maximieren Sie den Logeintrag >
jsonPayload
>earlyBootReportEvent
bzw.lateBootReportEvent
. - Maximieren Sie die Abschnitte
actualMeasurements
undpolicyMeasurements
sowie die darin enthaltenen nummerierten Elemente, um die PCR-Werte (Platform Configuration Register) einzublenden, die aus der letzten Bootsequenz und der Referenz der Integritätsrichtlinie gespeichert wurden. Die PCR-Werte geben die Startkomponenten und ihre Ladereihenfolge in der letzten Startsequenz und der Referenz der Integritätsrichtlinie an. Vergleichen Sie die PCR-Werte in den Abschnitten
actualMeasurements
undpolicyMeasurements
, um festzustellen, wo die aktuelle Bootsequenz und die Referenz der Integritätsrichtlinie voneinander abweichen. Unterschiedliche Werte führen zum Fehlschlagen der Prüfung. Beachten Sie, dass die Elementnummern in diesen Abschnitten nur selten den PCR-Nummern entsprechen. Elemente mit ähnlichen Nummern inactualMeasurements
undpolicyMeasurements
können für verschiedene PCRs stehen. Bei der frühen Bootsequenz für Windows und Linux sind z. B. das Element3
inactualMeasurements
und das Element2
inpolicyMeasurements
beide PCR7-Werte.Prüfen Sie die Ereignisse der Integritätsüberwachung, um festzustellen, wofür der geänderte PCR-Wert steht, und untersuchen Sie, ob diese Änderung vorgesehen war.
Referenz der Integritätsrichtlinie aktualisieren
Die anfängliche Referenz der Integritätsrichtlinie wird bei der Erstellung der Instanz vom Start-Image abgeleitet, dem implizit vertraut wird. Das Aktualisieren der Referenz der Integritätsrichtlinie erfolgt mithilfe der aktuellen Instanzkonfiguration. Die VM-Instanz muss ausgeführt werden, während Sie die Referenz aktualisieren.
Sie sollten die Referenz nach allen geplanten startspezifischen Änderungen in der Instanzkonfiguration aktualisieren, z. B. nach Kernelaktualisierungen oder der Kerneltreiberinstallation, da diese zum Fehlschlagen der Integritätsprüfung führen. Falls eine Integritätsprüfung unerwartet fehlschlägt, sollten Sie versuchen, den Grund für den Fehler herauszufinden, und sich darauf vorbereiten, die Instanz gegebenenfalls zu stoppen.
Sie benötigen die Berechtigung setShieldedInstanceIntegrityPolicy
, um die Referenz der Integritätsrichtlinie aktualisieren zu können.
Nutzen Sie dabei das folgende Verfahren.
gcloud
Die Referenz der Integritätsrichtlinie der VM-Instanz können Sie mit dem Befehl compute instances update
und dem Flag --shielded-learn-integrity-policy
aktualisieren.
Im folgenden Beispiel wird die Referenz der Integritätsrichtlinie für die VM-Instanz my-instance zurückgesetzt:
gcloud compute instances update my-instance \ --shielded-learn-integrity-policy
API
Aktualisieren Sie die Referenz der Integritätsrichtlinie für die VM-Instanz mithilfe des Anfragetextelements updateAutoLearnPolicy
mit der Methode setShieldedInstanceIntegrityPolicy
.
Im folgenden Beispiel wird die Referenz der Integritätsrichtlinie für eine VM-Instanz zurückgesetzt:
PATCH https://compute.googleapis.com/compute/alpha/projects/my-project/zones/us-central1-b/instances/my-instance/setShieldedInstanceIntegrityPolicy?key={YOUR_API_KEY} { "updateAutoLearnPolicy": true }
Weitere Informationen
- Mehr über die Sicherheitsfunktionen von Shielded VM erfahren
- Optionen für eine Shielded VM-Instanz ändern
- Antworten auf Fehler der Integritätsprüfung automatisieren