Best Practices für die Prüfung des SSH-Zugriffs

In diesem Dokument werden Best Practices für die Prüfung des SSH-Zugriffs auf Linux-VM-Instanzen beschrieben.

Mit Cloud-Audit-Logs können Sie vergangene Aktivitäten analysieren. Sie können eine wichtige Informationsquelle sein, wenn Sie verdächtige Aktivitäten untersuchen, die sich auf IhreGoogle Cloud -Ressourcen auswirken.

Die folgenden Abschnitte enthalten Best Practices, mit denen Sie einen prüfbaren Audit-Trail verwalten können:

Das Dokument konzentriert sich auf Verfahren, die entweder für Google Cloud spezifisch sind oder bei der Verwendung von SSH in Google Cloudvon besonderer Bedeutung sind. In diesem Dokument werden keine Best Practices für bestimmte Implementierungen von SSH-Clients oder -Servern behandelt.

Datenzugriffslogs für IAP aktivieren

Damit IAP bei jedem Versuch, eine SSH-Verbindung herzustellen, den Cloud-Audit-Logs einen Eintrag hinzufügt, aktivieren Sie Datenzugriffslogs für die Cloud Identity-Aware Proxy API. Datenzugriffslogs sind standardmäßig deaktiviert. Sofern Sie keine Bedenken hinsichtlich des Logvolumens haben, sollten Sie Audit-Logs zum Datenzugriff für alle Projekte mit VM-Instanzen aktivieren.

Audit-Log-Einträge zur SSH-Nutzung überwachen

Die Verwendung von SSH kann sich auf die Sicherheit von VMs und ihren Arbeitslasten auswirken. Daher ist es wichtig, sowohl für erfolgreiche Verbindungsversuche als auch für fehlgeschlagene Zugriffsversuche einen Audit-Trail zu führen. Dies ist besonders wichtig in Produktionsumgebungen, in denen die Verwendung von SSH als sensible Aktion betrachtet werden sollte.

Um den SSH-Zugriff zu verfolgen und möglicherweise verdächtiges Verhalten zu erkennen, sollten Sie Logeinträge im Zusammenhang mit SSH im Blick behalten, einschließlich der folgenden:

Dienst Methode Beschreibung
IAP AuthorizeUser Gibt einen Verbindungsversuch über die IAP-TCP-Weiterleitung an. Protokolleinträge enthalten Details zum Gerät des Nutzers sowie erfüllte und nicht erfüllte Zugriffsebenen.
OS Login google.cloud.oslogin.dataplane.OsLoginDataPlaneService.CheckPolicy Gibt einen Anmeldeversuch an.
OS Login google.cloud.oslogin.dataplane.OsLoginDataPlaneService.StartSession Gibt den Beginn einer OS Login-2FA-Identitätsbestätigung an
OS Login google.cloud.oslogin.dataplane.OsLoginDataPlaneService.ContinueSession Gibt an, dass eine OS Login-2FA-Identitätsbestätigung abgeschlossen wurde
Compute Engine v1.compute.projects.setCommonInstanceMetadata Wenn das Feld projectMetadataDelta einen Eintrag für „ssh-keys“ enthält, weist dieser Logeintrag darauf hin, dass ein SSH-Schlüssel in den Projektmetadaten hinzugefügt, entfernt oder geändert wurde.
Compute Engine v1.compute.instances.setMetadata Wenn das Feld projectMetadataDelta einen Eintrag für „ssh-keys“ oder „sshKeys“ enthält, weist dieser Logeintrag darauf hin, dass ein SSH-Schlüssel in den Instanzmetadaten hinzugefügt, entfernt oder geändert wurde.
Compute Engine google.ssh-serialport.v1.connect Gibt einen Verbindungsversuch zur seriellen Konsole an.
IAM beta.compute.instances.setIamPolicy, v1.compute.instances.setIamPolicy Gibt eine Änderung an der IAM-Richtlinie einer VM-Instanz an. Eine Änderung der IAM-Richtlinie kann sich auf die Möglichkeit von Nutzern auswirken, Instanzmetadaten zu ändern.
IAM SetIamPolicy Gibt eine Änderung an der IAM-Richtlinie eines Projekts an. Eine Änderung der IAM-Richtlinie kann sich auf die Möglichkeit von Nutzern auswirken, Projektmetadaten und die Konfiguration der Audit-Logs zum Datenzugriff des Projekts zu ändern.

Alle Audit-Logeinträge enthalten ein Feld principalEmail, in dem das Hauptkonto angegeben ist, das die Aktivität initiiert hat.

Um einen umfassenden Überblick über die Aktivitäten auf Ihren VMs zu erhalten, konfigurieren Sie Ihre VMs so, dass /var/log/messages- und SSH-Serverlogs in Cloud Logging exportiert werden, z. B. mit dem Ops-Agent.

Je nach verwendeter Linux-Distribution werden SSH-Serverlogs möglicherweise in andere Logdateien geschrieben (in der Regel /var/log/auth.log oder /var/log/secure). Diese Logdateien sind nicht in der Standardkonfiguration des Ops-Agents enthalten.