Best practice per il controllo dell'accesso SSH

Il presente documento descrive le best practice per il controllo dell'accesso SSH alle istanze di macchine virtuali (VM) Linux.

I Cloud Audit Logs ti consentono di analizzare le attività passate e possono essere un'importante fonte di informazioni per effettuare indagini su attività sospette che interessano le tue risorse diTrusted Cloud .

Nelle sezioni seguenti troverai best practice che possono aiutarti a fare in modo che l'audit trail sia non ripudiabile:

Il documento si concentra su pratiche specifiche di Trusted Cloud by S3NS o di particolare pertinenza per l'utilizzo di SSH su Trusted Cloud. Nel documento non vengono trattate le best practice per implementazioni specifiche di client o server SSH.

Abilita i log di accesso ai dati per Identity-Aware Proxy (IAP)

Per assicurarti che IAP aggiunga una voce a Cloud Audit Logs ogni volta che un utente tenta di stabilire una connessione SSH, abilita i log di accesso ai dati per l'API Cloud Identity-Aware Proxy. I log di accesso ai dati sono disattivati per impostazione predefinita. A meno che tu non abbia dubbi sul volume dei log, abilita i log di accesso ai dati per tutti i progetti che contengono istanze VM.

Monitora le voci di audit log relative all'utilizzo di SSH

L'utilizzo di SSH può influire sulla sicurezza delle VM e dei relativi workload, quindi è importante mantenere un audit trail sia per i tentativi di connessione riusciti sia per quelli di accesso non riusciti. Questo è particolarmente importante negli ambienti di produzione, in cui l'utilizzo di SSH deve essere considerato un'azione sensibile.

Per monitorare l'accesso SSH ed eventualmente rilevare comportamenti sospetti, assicurati di monitorare le voci di log relative a SSH, tra cui:

Servizio Metodo Descrizione
IAP AuthorizeUser Indica un tentativo di connessione tramite l'inoltro TCP di IAP. Le voci di log contengono dettagli sul dispositivo dell'utente e sui livelli di accesso soddisfatti e non soddisfatti.
OS Login google.cloud.oslogin.dataplane.OsLoginDataPlaneService.CheckPolicy Indica un tentativo di accesso.
OS Login google.cloud.oslogin.dataplane.OsLoginDataPlaneService.StartSession Indica l'avvio di una verifica con autenticazione a due fattori (2FA) di OS Login
OS Login google.cloud.oslogin.dataplane.OsLoginDataPlaneService.ContinueSession Indica il completamento di una verifica con autenticazione a due fattori (2FA) di OS Login
Compute Engine v1.compute.projects.setCommonInstanceMetadata Se il campo projectMetadataDelta contiene una voce di log per "ssh-keys", questa indica che una chiave SSH è stata aggiunta, rimossa o modificata nei metadati del progetto.
Compute Engine v1.compute.instances.setMetadata Se il campo projectMetadataDelta contiene una voce di log per "ssh-keys" o "sshKeys", questa indica che una chiave SSH è stata aggiunta, rimossa o modificata nei metadati dell'istanza.
Compute Engine google.ssh-serialport.v1.connect Indica un tentativo di connessione alla console seriale
IAM beta.compute.instances.setIamPolicy, v1.compute.instances.setIamPolicy Indica una modifica alla policy IAM di un'istanza VM. Una modifica della policy IAM potrebbe influire sulla capacità degli utenti di modificare i metadati delle istanze.
IAM SetIamPolicy Indica una modifica alla policy IAM di un progetto. Una modifica delle policy IAM potrebbe influire sulla capacità degli utenti di modificare i metadati del progetto e la configurazione degli audit log dell'accesso ai dati del progetto.

Tutti i record dell'audit log contengono un campo principalEmail che identifica l'entità che ha avviato l'attività.

Per avere un quadro completo dell'attività sulle VM, configurale in modo da esportare /var/log/messages e i log del server SSH in Cloud Logging, ad esempio tramite Ops Agent.

Tieni presente che, a seconda della distribuzione Linux utilizzata, i log del server SSH potrebbero essere scritti in file di log diversi (in genere /var/log/auth.log o /var/log/secure) e che a questi non si applica la configurazione predefinita utilizzata da Ops Agent.