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 bei der Untersuchung verdächtiger Aktivitäten sein, 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. Aktivieren Sie Logs zum Datenzugriff für alle Projekte, die VM-Instanzen enthalten, es sei denn, Sie haben Bedenken hinsichtlich des Logvolumens.

Audit-Logeinträge zur SSH-Nutzung überwachen

Die SSH-Nutzung kann sich auf die Sicherheit von VMs und ihrer 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 SSH-Nutzung als sensible Aktion betrachtet werden sollte.

Um den SSH-Zugriff zu überwachen und möglicherweise verdächtiges Verhalten zu erkennen, sollten Sie die folgenden SSH-bezogenen Logeinträge im Blick behalten:

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.v1.OsLoginService.CheckPolicy Gibt einen Anmeldeversuch an.
OS Login google.cloud.oslogin.OsLoginService.v1.StartSession Gibt den Beginn einer OS Login-2FA-Identitätsbestätigung an.
OS Login google.cloud.oslogin.OsLoginService.v1.ContinueSession Bedeutung: Die Bestätigung in zwei Schritten für OS Login wurde abgeschlossen.
Compute Engine v1.compute.projects.setCommonInstanceMetadata Wenn das Feld projectMetadataDelta einen Eintrag für „ssh-keys“ enthält, gibt dieser Protokolleintrag an, 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 Protokolleintrag 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 darauf auswirken, ob Nutzer Metadaten von Instanzen ändern können.
IAM SetIamPolicy Gibt eine Änderung an der IAM-Richtlinie eines Projekts an. Eine Änderung der IAM-Richtlinie kann sich darauf auswirken, ob Nutzer Projektmetadaten und die Konfiguration der Audit-Logs zum Datenzugriff des Projekts ändern können.

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

Um einen vollständigen Überblick über die Aktivitäten auf Ihren VMs zu erhalten, konfigurieren Sie Ihre VMs so, dass /var/log/messages- und SSH-Serverprotokolle beispielsweise mithilfe des Ops-Agents in Cloud Logging exportiert werden.

Je nach verwendeter Linux-Distribution werden SSH-Serverprotokolle möglicherweise in verschiedene Protokolldateien (normalerweise /var/log/auth.log oder /var/log/secure) geschrieben. Diese Protokolldateien sind nicht von der Standardkonfiguration von Ops Agent abgedeckt.