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:
- Datenzugriffslogs für IAP aktivieren
- Audit-Logeinträge im Zusammenhang mit der SSH-Nutzung überwachen
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.