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.
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 leaderboard Metrics Explorer auf:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- Maximieren Sie im Element Messwert das Menü Messwert auswählen, geben Sie
Boot Validation
in die Filterleiste ein und wählen Sie dann über die Untermenüs einen bestimmten Ressourcentyp und Messwert aus:- Wählen Sie im Menü Aktive Ressourcen die Option VM-Instanz aus.
- Wählen Sie im Menü Aktive Messwertkategorien die Option Instanz aus.
- Wählen Sie im Menü Aktive Messwerte Early Boot Validation oder Late Boot Validation 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.
- Klicken Sie auf Anwenden.
Verwenden Sie das Element Filter, um Zeitreihen aus der Anzeige zu entfernen.
Verwenden Sie zum Kombinieren von Zeitreihen die Menüs im Element Aggregation. Wenn Sie beispielsweise die CPU-Auslastung für Ihre VMs basierend auf ihrer Zone anzeigen möchten, legen Sie das erste Menü auf Mittelwert und das zweite Menü auf Zone fest.
Alle Zeitreihen werden angezeigt, wenn das erste Menü des Elements Aggregation auf Nicht aggregiert gesetzt ist. Die Standardeinstellungen für das Element Aggregation werden durch den ausgewählten Messwerttyp bestimmt.
- Gehen Sie für Kontingente und andere Messwerte, die eine Stichprobe pro Tag melden, so vor:
- Legen Sie im Bereich Anzeige den Widget-Typ auf Gestapeltes Balkendiagramm fest.
- Legen Sie als Zeitraum mindestens eine Woche fest.
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 Run-Funktionen verarbeiten. Weitere Informationen finden Sie unter Routing und Speicher und Antworten auf Fehler der Integritätsprüfung automatisieren.
Ursache für das Fehlschlagen der Bootintegritä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 INSTANCE_NAME \ --zone=ZONE --shielded-learn-integrity-policy
Ersetzen Sie Folgendes:
- INSTANCE_NAME: Name der VM
- ZONE: Zone, in der sich die VM befindet.
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/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setShieldedInstanceIntegrityPolicy?key=YOUR_API_KEY { "updateAutoLearnPolicy": true }
Ersetzen Sie Folgendes:
- PROJECT_ID: Projekt-ID des Projekts, in dem sich die VM befindet.
- INSTANCE_NAME: Name der VM
- ZONE: Zone, in der sich die VM befindet.
- YOUR_API_KEY: API-Schlüssel, mit dem Sie auf die API zugreifen können.
Nächste Schritte
- Mehr über die Sicherheitsfunktionen von Shielded VM erfahren.
- Optionen für eine Shielded VM-Instanz ändern
- Antworten auf Fehler der Integritätsprüfung automatisieren