Monitorare gli audit log di accesso al sistema operativo


Puoi monitorare i tentativi di connessione alle istanze di macchine virtuali (VM) in cui è attivato l'accesso del sistema operativo visualizzando i log di controllo dell'accesso del sistema operativo. Questi audit log sono sempre attivati e non possono essere disattivati utilizzando le configurazioni di accesso ai dati.

Puoi anche monitorare eventi e attività relativi all'accesso al sistema operativo, come l'aggiunta, l'eliminazione o l'aggiornamento di una chiave SSH o l'eliminazione di informazioni POSIX con l'SDK di amministrazione di Google Workspace.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale la tua identità viene verificata per l'accesso a servizi e API. Google Cloud Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.

Visualizzare gli audit log di accesso al sistema operativo

Per visualizzare un elenco di audit log di accesso al sistema operativo, esegui una query su Cloud Audit Logs.

Console

  1. Nella console Google Cloud, vai alla pagina Esplora log.

    Vai a Esplora log

  2. Nel campo Query, inserisci la seguente query:

    protoPayload.serviceName="oslogin.googleapis.com"
    

  3. Se l'evento che stai cercando si è verificato più di un'ora fa, imposta un intervallo di tempo personalizzato facendo clic sul simbolo dell'orologio e inserendo un intervallo personalizzato.

    Imposta l'intervallo di tempo della query.

  4. Fai clic su Esegui query. I risultati vengono visualizzati nella sezione Risultati query.

  5. Fai clic sulla freccia di espansione accanto a ciascun risultato per visualizzare informazioni dettagliate.

  6. Per informazioni sui tipi di log di controllo di OS Login e sul loro significato, vai alla sezione Esaminare i log di controllo di OS Login di questo documento.

gcloud

  1. Visualizza gli audit log di Cloud utilizzando il comando gcloud logging read:

    gcloud logging read --freshness=TIME 'protoPayload.serviceName="oslogin.googleapis.com"'
    

    Sostituisci TIME con il periodo di tempo per cui vuoi eseguire la query. Ad esempio, 1h esegue query sulle voci di log nell'ultima ora. Per informazioni sui formati di data e ora, consulta gcloud topic datetimes.

    Vengono visualizzati i risultati.

  2. Per informazioni sui tipi di log di controllo di OS Login e sul loro significato, vai alla sezione Esaminare i log di controllo di OS Login di questo documento.

Esaminare i log di controllo degli accessi al sistema operativo

Esamina il campo methodName dei log di controllo per conoscere i tipi di tentativi di connessione alle VM in cui è abilitato l'accesso all'OS e gli utenti che li hanno avviati.

Espandi la sezione protoPayload per visualizzare il campo methodName per il tentativo di connessione. Per scoprire il significato di ciascun campo methodName, consulta la tabella riportata di seguito:

Metodo Tipo di connessione Descrizione
google.cloud.oslogin.dataplane.OsLoginDataPlaneService.ListLoginProfiles Tutte le connessioni di OS Login

Indica una richiesta di elencare gli utenti con profili di accesso al sistema operativo nello stesso progetto della VM o una richiesta di ricerca del profilo di un singolo utente.

Questa chiamata si verifica quando un utente tenta di connettersi a una VM. Anche l'agente di accesso del sistema operativo chiama regolarmente questo metodo per aggiornare la cache di accesso.

google.cloud.oslogin.dataplane.OsLoginDataPlaneService.CheckPolicy Tutte le connessioni di OS Login

Indica un tentativo di connessione a una VM:

  • Per le connessioni con l'autenticazione a due fattori (2FA), una connessione riuscita è indicata sia da una chiamata CheckPolicy sia da una chiamata ContinueSession.
  • Per le connessioni non 2FA, una risposta positiva indica che l'utente si è connesso alla VM.

Espandi la sezione authenticationInfo per visualizzare il principalEmail campo. Il campo principalEmail mostra l'indirizzo email dell'utente che ha provato a connettersi alla VM.

google.cloud.oslogin.dataplane.OsLoginDataPlaneService.StartSession Connessioni con l'autenticazione a due fattori di OS Login Indica una nuova sessione di autenticazione 2FA. In una chiamata StartSession, un client dichiara le proprie funzionalità al server e ottiene informazioni sulle sfide disponibili.
google.cloud.oslogin.dataplane.OsLoginDataPlaneService.ContinueSession Connessioni con l'autenticazione a due fattori di OS Login

Indica la continuazione di una sessione di autenticazione. Il client completa la verifica proposta dal server sulla chiamata o sulle richiesteStartSession precedenti e completa un altro tipo di verifica. Quindi, il metodo ContinueSession accetta la risposta alla verifica o al metodo e autentica o rifiuta il tentativo di autenticazione.

Proprietà dei log di controllo degli accessi al sistema operativo

Le sezioni seguenti descrivono le proprietà per i log di controllo. Alcune proprietà sono comuni a tutti i log di controllo, mentre altre sono specifiche per i metodi CheckPolicy, StartSession e ContinueSession.

Proprietà comuni dei log di controllo degli accessi al sistema operativo

Le proprietà elencate nella tabella seguente sono comuni a tutti i log di controllo di accesso OS.

Proprietà Valore
serviceName oslogin.googleapis.com
resourceName Una stringa contenente il numero del progetto che indica a quale richiesta di accesso appartiene il log di controllo. Ad esempio, projects/myproject12345.
severity Il livello di gravità del messaggio di log. Ad esempio, INFO o WARNING. Per scoprire di più sui livelli di gravità, consulta LogSeverity.
authenticationInfo.principalEmail L'indirizzo email dell'utente autenticato dal metodo.
request.numericProjectId Il numero del progetto Google Cloud.

Proprietà dei log di controllo ListLoginProfiles

Le proprietà elencate nella tabella seguente si applicano ai log di controllo ListLoginProfiles.

Proprietà Valore
methodName google.cloud.oslogin.dataplane.OsLoginDataPlaneService.ListLoginProfiles
request.@type type.googleapis.com/google.cloud.oslogin.dataplane.ListLoginProfilesRequest

Proprietà dei log di controllo CheckPolicy

Le proprietà elencate nella tabella seguente si applicano ai log di controllo CheckPolicy.

Proprietà Valore
methodName google.cloud.oslogin.dataplane.OsLoginDataPlaneService.CheckPolicy
request.@type type.googleapis.com/google.cloud.oslogin.dataplane.CheckPolicyRequest
request.policy L'autorizzazione in fase di controllo. LOGIN, che verifica se l'utente è autorizzato ad accedere alla VM, o ADMIN_LOGIN, che verifica se l'utente è autorizzato ad avere accesso amministrativo alla VM.
response.success Il risultato del controllo LOGIN o ADMIN_LOGIN request.policy. true o false, a seconda che l'utente sia autorizzato per il criterio specificato.

Proprietà dei log di controllo StartSession

Le proprietà elencate nella tabella seguente si applicano ai log di controllo StartSession per le VM in cui è attivata la verifica in due passaggi per l'accesso al sistema operativo.

Proprietà Valore
methodName google.cloud.oslogin.dataplane.OsLoginDataPlaneService.StartSession
request.@type type.googleapis.com/google.cloud.oslogin.dataplane.StartSessionRequest
request.supportedChallengeTypes L'elenco dei tipi di verifica o dei metodi di autenticazione a due fattori tra cui puoi scegliere.
response.authenticationStatus Stato della sessione. Uno dei valori Authenticated, Challenge required o Challenge pending.
response.sessionId Una stringa ID che identifica in modo univoco la sessione. Questo ID sessione viene passato alla chiamata ContinueSession nella sequenza.
response.challenges L'insieme di verifiche che puoi tentare di superare durante questo round di autenticazione. Al massimo, una di queste sfide è stata avviata e ha lo stato READY. Le altre sono fornite come opzioni che l'utente può specificare come alternativa alla sfida principale proposta.

Proprietà dei log di controllo ContinueSession

Le proprietà elencate nella tabella seguente si applicano ai log di controllo ContinueSession per le VM in cui è attivata la verifica in due passaggi per l'accesso al sistema operativo.

Proprietà Valore
methodName google.cloud.oslogin.dataplane.OsLoginDataPlaneService.ContinueSession
request.sessionId Una stringa ID che identifica in modo univoco la sessione precedente. Questo ID sessione viene passato dalla chiamata StartSession.
request.@type type.googleapis.com/google.cloud.oslogin.dataplane.ContinueSessionRequest
request.challengeId Una stringa ID che identifica la sfida da avviare o eseguire. Questo ID deve appartenere a un tipo di verifica restituito dalla chiamata response.challenges nella risposta StartSession.
request.action L'azione da intraprendere per completare la sfida.
response.authenticationStatus Stato della sessione. Ad esempio, Authenticated, Challenge required o Challenge pending.
response.challenges.status SUCCESS indica che un utente si è collegato correttamente alla VM.
response.challenges L'insieme di sfide che puoi tentare di superare per questa fase di autenticazione. Al massimo, una di queste sfide è stata avviata e ha lo stato READY. Le altre sono fornite come opzioni che l'utente può specificare come alternativa alla sfida principale proposta.

Passaggi successivi