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.