Neste documento, você conhecerá as práticas recomendadas para auditar o acesso SSH a instâncias de máquina virtual (VM) do Linux.
Os registros de auditoria do Cloud permitem que você analise atividades anteriores e podem ser uma fonte importante de informações durante a investigação de atividades suspeitas nos recursos do Google Cloud.
As seções a seguir contêm práticas recomendadas que podem ajudar na manutenção de uma trilha de auditoria não repudiável:
- Ativar os registros de acesso aos dados para o IAP
- Monitorar as entradas de registro de auditoria relacionadas ao uso de SSH
O documento se concentra em práticas específicas do Google Cloud ou que tenham relevância especial para o uso de SSH no Google Cloud. O documento não aborda as práticas recomendadas para implementações específicas de servidores ou clientes SSH.
Ativar os registros de acesso aos dados para o IAP
Para garantir que o IAP adicione uma entrada aos registros de auditoria do Cloud sempre que um usuário tentar estabelecer uma conexão SSH, ative os registros de acesso aos dados para a API de Cloud Identity-Aware Proxy. Os registros de acesso aos dados estão desativados por padrão. A menos que você tenha preocupações sobre o volume de registros, ative os registros de acesso aos dados para todos os projetos que contenham instâncias de VM.
Monitorar as entradas de registro de auditoria relacionadas ao uso de SSH
O uso de SSH pode afetar a segurança das VMs e das cargas de trabalho delas, então é importante manter uma trilha de auditoria tanto para as tentativas de conexão bem-sucedidas quanto para as que falharem. Isso é especialmente importante em ambientes de produção, onde o uso de SSH precisa ser considerado uma ação sensível.
Para monitorar o acesso ao SSH e possivelmente encontrar comportamentos suspeitos, monitore as entradas de registro relacionadas ao SSH, incluindo as seguintes:
Serviço | Método | Descrição |
---|---|---|
IAP | AuthorizeUser |
Indica uma tentativa de conexão por meio do encaminhamento TCP do IAP. As entradas de registro contêm detalhes sobre o dispositivo do usuário, os níveis de acesso satisfeitos e os níveis de acesso insatisfeitos. |
Login do SO | google.cloud.oslogin.v1.OsLoginService.CheckPolicy |
Indica uma tentativa de login. |
Login do SO | google.cloud.oslogin.OsLoginService.v1.StartSession |
Indica o início de um desafio de autenticação de dois fatores do login do SO |
Login do SO | google.cloud.oslogin.OsLoginService.v1.ContinueSession |
Indica a conclusão de um desafio de autenticação de dois fatores do login do SO |
Compute Engine | v1.compute.projects.setCommonInstanceMetadata |
Se o campo projectMetadataDelta contiver uma entrada para "ssh-keys",
essa entrada de registro 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",
essa entrada de registro 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 conexão com o console serial |
IAM |
beta.compute.instances.setIamPolicy ,
v1.compute.instances.setIamPolicy
|
Indica uma mudança na política do IAM de uma instância de VM. Uma mudança na política do IAM pode afetar a capacidade dos usuários de modificar os metadados da instância. |
IAM |
SetIamPolicy |
Indica uma alteração na política do IAM de um projeto. Uma mudança na política do IAM pode afetar a capacidade dos usuários de modificar os metadados do projeto e a configuração dos registros de auditoria de acesso a dados do projeto. |
Todos os registros de auditoria contêm um campo principalEmail
que identifica o principal
que iniciou a atividade.
Para ter uma visão completa da atividade das suas VMs, configure-as para exportar
/var/log/messages
e registros do servidor SSH no Cloud Logging usando,
por exemplo, o agente de operações.
Dependendo da distribuição Linux usada, os registros do servidor SSH podem
ser gravados em diferentes arquivos de registro (normalmente, /var/log/auth.log
ou /var/log/secure
);
e esses arquivos de registro não são cobertos pelas
configuração padrão usada pelo agente de operações.