Este documento descreve as práticas recomendadas para auditar o acesso SSH a instâncias de máquinas virtuais (VMs) do Linux.
Os registos de auditoria do Google Cloud permitem-lhe analisar a atividade anterior e podem ser uma fonte importante de informações quando investiga atividade suspeita que afeta os seusGoogle Cloud recursos.
As secções seguintes contêm práticas recomendadas que podem ajudar a manter uma pista de auditoria não repudiável:
- Ative os registos de acesso aos dados para as CAs
- Monitorize as entradas do registo de auditoria relacionadas com a utilização de SSH
O documento centra-se em práticas específicas Google Cloud ou de particular relevância quando usa o SSH no Google Cloud. O documento não aborda as práticas recomendadas para implementações específicas de clientes ou servidores SSH.
Ative os registos de acesso aos dados para as CAsI
Para se certificar de que o IAP adiciona uma entrada aos registos de auditoria do Google Cloud sempre que um utilizador tenta estabelecer uma ligação SSH, ative os registos de acesso aos dados para a API Cloud Identity-Aware Proxy. Os registos de acesso aos dados estão desativados por predefinição. A menos que tenha preocupações acerca do volume de registos, ative os registos de acesso aos dados para todos os projetos que contenham instâncias de VMs.
Monitorize as entradas do registo de auditoria relacionadas com a utilização de SSH
A utilização do SSH pode afetar a segurança das VMs e das respetivas cargas de trabalho, pelo que é importante manter uma trilha de auditoria para as tentativas de ligação bem-sucedidas e as tentativas de acesso falhadas. Isto é especialmente importante em ambientes de produção, onde a utilização de SSH deve ser considerada uma ação sensível.
Para acompanhar o acesso SSH e, possivelmente, encontrar comportamentos suspeitos, certifique-se de que monitoriza as entradas de registo relacionadas com o SSH, incluindo o seguinte:
Serviço | Método | Descrição |
---|---|---|
IAP | AuthorizeUser |
Indica uma tentativa de ligação através do encaminhamento de TCP do IAP. As entradas de registo contêm detalhes sobre o dispositivo do utilizador, os níveis de acesso cumpridos e os níveis de acesso não cumpridos. |
Início de sessão do SO | google.cloud.oslogin.dataplane.OsLoginDataPlaneService.CheckPolicy |
Indica uma tentativa de início de sessão. |
Início de sessão do SO | google.cloud.oslogin.dataplane.OsLoginDataPlaneService.StartSession |
Indica o início de um desafio de 2FA do Início de sessão do SO |
Início de sessão do SO | google.cloud.oslogin.dataplane.OsLoginDataPlaneService.ContinueSession |
Indica a conclusão de um desafio de A2F de início de sessão no SO |
Compute Engine | v1.compute.projects.setCommonInstanceMetadata |
Se o campo projectMetadataDelta contiver uma entrada para `ssh-keys`, então
esta entrada do registo indica que uma chave SSH foi adicionada, removida ou modificada nos metadados do projeto.
|
Compute Engine | v1.compute.instances.setMetadata |
Se o campo projectMetadataDelta contiver uma entrada para "ssh-keys" ou "sshKeys",
esta entrada de registo indica que uma chave SSH foi adicionada, removida ou modificada
nos metadados da instância.
|
Compute Engine | google.ssh-serialport.v1.connect |
Indica uma tentativa de ligação à consola de série |
IAM |
beta.compute.instances.setIamPolicy ,
v1.compute.instances.setIamPolicy
|
Indica uma alteração à política IAM de uma instância de VM. Uma alteração da política de IAM pode afetar a capacidade dos utilizadores de modificar os metadados da instância. |
IAM |
SetIamPolicy |
Indica uma alteração à política IAM de um projeto. Uma alteração da política de IAM pode afetar a capacidade dos utilizadores de modificar os metadados do projeto e a configuração dos registos de auditoria de acesso aos dados do projeto. |
Todos os registos do registo de auditoria contêm um campo principalEmail
que identifica o principal que iniciou a atividade.
Para ter uma visão completa da atividade nas suas VMs, configure-as para exportar
/var/log/messages
e registos do servidor SSH para o Cloud Logging, por exemplo, usando o agente de operações.
Tenha em atenção que, consoante a distribuição Linux que usa, os registos do servidor SSH podem ser escritos em diferentes ficheiros de registo (normalmente, /var/log/auth.log
ou /var/log/secure
) e que estes ficheiros de registo não são abrangidos pela configuração predefinida usada pelo agente de operações.