Questo documento descrive le best practice per il controllo dell'accesso SSH alle istanze di macchine virtuali (VM) Linux.
I log di controllo di Cloud ti consentono di analizzare le attività passate e possono essere un'importante fonte di informazioni per indagare su attività sospette che interessano le tue risorse.Google Cloud
Le sezioni seguenti contengono best practice che possono aiutarti a mantenere una traccia di controllo non contestabile:
- Attivare i log di accesso ai dati per gli acquisti in-app
- Monitorare le voci dei log di controllo relative all'utilizzo di SSH
Il documento si concentra su pratiche specifiche per Google Cloud o di particolare rilevanza quando si utilizza SSH su Google Cloud. Il documento non illustra le best practice per implementazioni specifiche di client o server SSH.
Abilita i log di accesso ai dati per IAP
Per assicurarti che IAP aggiunga una voce agli audit log di Cloud ogni volta che un utente tenta di stabilire una connessione SSH, abilita i log degli accessi ai dati per l'API Cloud Identity-Aware Proxy. I log di accesso ai dati sono disabilitati 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.
Monitorare le voci dei log di controllo relative all'utilizzo di SSH
L'utilizzo di SSH può influire sulla sicurezza delle VM e dei relativi carichi di lavoro, pertanto è importante mantenere una traccia di controllo 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 il reindirizzamento TCP IAP. Le voci di log contengono dettagli sul dispositivo dell'utente, sui livelli di accesso soddisfatti e su quelli non soddisfatti. |
OS Login | google.cloud.oslogin.v1.OsLoginService.CheckPolicy |
Indica un tentativo di accesso. |
OS Login | google.cloud.oslogin.OsLoginService.v1.StartSession |
Indica l'inizio di una verifica 2FA di OS Login |
OS Login | google.cloud.oslogin.OsLoginService.v1.ContinueSession |
Indica il completamento di una verifica 2FA di OS Login |
Compute Engine | v1.compute.projects.setCommonInstanceMetadata |
Se il campo projectMetadataDelta contiene una voce per "ssh-keys",
questa voce di log 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 per "ssh-keys" o "sshKeys",
questa voce di log 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 al criterio IAM di un'istanza VM. Una modifica del criterio IAM potrebbe influire sulla possibilità degli utenti di modificare i metadati delle istanze. |
IAM |
SetIamPolicy |
Indica una modifica al criterio IAM di un progetto. Una modifica dei criteri 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 del log di controllo contengono un campo principalEmail
che identifica il principale
che ha avviato l'attività.
Per avere un quadro completo dell'attività sulle VM, configurale in modo da esportare i log dei server /var/log/messages
e SSH in Cloud Logging, ad esempio utilizzando 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 questi file di log non sono coperti dalla configurazione predefinita utilizzata da Ops Agent.