Como gerenciar credenciais comprometidas do Google Cloud

As credenciais do Google Cloud controlam o acesso aos recursos hospedados no serviço. Para ajudar a manter seus dados seguros e protegidos contra invasores, você precisa lidar com suas credenciais com o máximo de cuidado.

É recomendável proteger todas as credenciais do Google Cloud contra acesso não intencional. Confira alguns tipos de credenciais:

As credenciais da Google Cloud CLI são armazenadas no diretório principal do usuário. É possível listá-las na Google Cloud CLI usando o comando gcloud auth list. O Application Default Credentials é armazenado na estação de trabalho do desenvolvedor. Os cookies do navegador são específicas desse programa, mas geralmente ficam armazenados na estação de trabalho do desenvolvedor.

Se você suspeitar que uma das suas credenciais foi comprometida, será necessário tomar medidas imediatas para limitar o impacto dessa violação na conta do Google Cloud.

Monitorar o comprometimento de credenciais

Para monitorar possíveis comprometimentos, considere o seguinte:

  • Monitore a atividade suspeita da conta, como escalonamento de privilégios e criação de várias contas. Monitore essas atividades usando os Registros de auditoria do Cloud e a Detecção de ameaças de eventos. Configure alertas com base na atividade do administrador nos registros de auditoria do Compute Engine e do Google Kubernetes Engine (GKE). Use a Detecção de ameaças de eventos para identificar ameaças com base em atividades do administrador, alterações em grupos e na permissão do Identity and Access Management (IAM).

  • Monitore os logins dos usuários no Google Workspace e no Cloud Identity. Para acompanhar melhor os problemas, exporte os registros para o Cloud Logging.

  • Monitore a presença de secrets nos seus repositórios de código usando ferramentas como a verificação de secrets.

  • Monitore anomalias no uso de chaves da conta de serviço com o Cloud Monitoring.

Verifique se a central de operações de segurança (SOC) foi notificada imediatamente. É possível integrar o Security Command Center ao seu SIEM, exportar registros do Cloud Logging para o SIEM ou importar registros para o Chronicle para análise detalhada.

Verifique se o SOC tem os playbooks, as ferramentas e o acesso necessários para responder rapidamente a suspeitas de comprometimento de credenciais.

Proteja seus recursos do Google Cloud contra o comprometimento de credenciais

Conclua as etapas nas seções a seguir o mais rápido possível para proteger seus recursos se você suspeitar que uma credencial está comprometida.

Revogar e reemitir credenciais

Se você suspeitar que uma credencial está comprometida, revogue e emita novamente. Tenha cuidado para que a revogação de credenciais não cause uma interrupção do serviço.

Em geral, para reemitir credenciais, gere uma nova, envie-a para todos os serviços e usuários que precisam dela e, em seguida, revogue a credencial antiga.

As seções a seguir têm instruções específicas para cada tipo de credencial.

Substituir uma chave da conta de serviço

  1. No Console do Google Cloud, acesse a página Contas de serviço.

    Acessar Contas de serviço

  2. Localize a conta de serviço afetada.

  3. Crie uma nova chave para a conta de serviço.

  4. Envie a nova chave para todos os locais em que a chave antiga estava em uso.

  5. Exclua a chave antiga.

Para saber mais, consulte Como criar e gerenciar contas de serviço.

Regenerar chaves de API

  1. No Console do Google Cloud, acesse a página Credenciais.

    Ir para Credenciais

  2. Crie uma nova chave de API usando o botão Criar credenciais. Configure a nova chave da mesma forma que a chave de API comprometida. As restrições na chave de API precisam ser iguais, senão poderá ocorrer interrupção.

  3. Envie a chave de API para todos os locais em que a chave antiga estava em uso.

  4. Exclua a chave antiga.

Para saber mais, consulte Como usar chaves de API.

Redefinir um secret de ID do cliente OAuth2

Alterar uma secret de ID do cliente causa uma interrupção temporária enquanto o secret é alternado.

  1. No Console do Google Cloud, acesse a página Credenciais.

    Ir para Credenciais

  2. Selecione e edite o ID do cliente OAuth2 comprometido.

  3. Clique em Redefinir secret.

  4. Envie o novo secrete para o aplicativo.

Para saber mais, consulte Como configurar o OAuth 2.0 e Como usar o OAuth 2.0 para acessar as APIs do Google.

Remover as credenciais da Google Cloud CLI como administrador

Como administrador do Google Workspace, remova o acesso à Google Cloud CLI da lista de apps conectados do usuário. Para saber mais, consulte Ver e remover o acesso a aplicativos de terceiros.

Quando o usuário acessar de novo, a Google Cloud CLI solicitará automaticamente que ele reautorize o aplicativo.

Remover credenciais da Google Cloud CLI como usuário

  1. Abra a lista de apps com acesso à sua Conta do Google.

  2. Remova a Google Cloud CLI da lista de apps conectados.

Quando você acessar a ferramenta de novo, a Google Cloud CLI solicitará automaticamente que você reautorize o aplicativo.

Revogar o Application Default Credentials como administrador

Se você suspeitar que uma credencial padrão do aplicativo está comprometida, poderá revogá-la. Esse procedimento pode causar uma interrupção temporária até que o arquivo de credenciais seja recriado.

Como administrador do Google Workspace, remova o acesso à Biblioteca do Google Auth da lista de apps conectados do usuário. Para saber mais, consulte Ver e remover o acesso a apps de terceiros.

Revogar o Application Default Credentials como usuário

Se você suspeitar que uma credencial padrão do aplicativo que você criou está comprometida, é possível revogá-la. Esse procedimento pode causar uma interrupção temporária até que o arquivo de credenciais seja recriado. Esse procedimento só pode ser concluído pelo proprietário da credencial comprometida.

  1. Instale e inicialize a Google Cloud CLI, caso ainda não tenha feito isso.

  2. Autorize a CLI gcloud com sua identidade de usuário, e não com uma conta de serviço:

     gcloud auth login
    

    Para saber mais, consulte [Como autorizar a CLI gcloud]. Consulte (/sdk/docs/authorization).

  3. Revogue as credenciais:

      gcloud auth application-default revoke
    
  4. Se quiser, exclua o arquivo application_default_credentials.json. A localização depende do seu sistema operacional:

    • Linux, macOS: $HOME/.config/gcloud/
    • Windows: %APPDATA%\gcloud\
  5. Recrie o arquivo de credenciais:

     gcloud auth application-default login
    

Invalidar cookies do navegador como administrador

Se você suspeitar que os cookies do navegador foram comprometidos, os administradores do Google Workspace podem desconectar um usuário da conta.

Além disso, force imediatamente uma alteração de senha.

Essas ações invalidam todos os cookies, e o usuário precisará fazer login novamente.

Invalidar cookies do navegador como usuário

Se você suspeitar que os cookies do navegador foram comprometidos, saia da sua Conta do Google e mude sua senha imediatamente.

Essas ações invalidam todos os cookies existentes. Na próxima vez que você acessar o Google Cloud, precisará fazer login novamente.

Procurar acesso e recursos não autorizados

Depois de revogar as credenciais comprometidas e restaurar o serviço, revise todo o acesso aos recursos do Google Cloud.

  1. Analise os registros de auditoria no Console do Google Cloud.

    Acessar o Explorador de registros

  2. Pesquise todos os recursos possivelmente afetados e verifique se todas as atividades da conta (especialmente as relacionadas às credenciais comprometidas) estão conforme o esperado.

Excluir todos os recursos não autorizados

Verifique se não há recursos inesperados, como VMs, aplicativos do App Engine, contas de serviço, buckets do Cloud Storage e assim por diante, que a credencial comprometida possa acessar.

Após confirmar que você identificou todos os recursos não autorizados, é possível optar por excluí-los imediatamente. Isso é especialmente importante para recursos do Compute Engine, porque os invasores podem usar contas violadas para exfiltrar dados ou comprometer os sistemas de produção.

Como alternativa, tente isolar os recursos não autorizados para que suas próprias equipes forenses realizem análises adicionais.

Entrar em contato com o atendimento ao cliente do Cloud

Se precisar de ajuda para encontrar os registros e as ferramentas do Google Cloud necessários para as etapas de investigação e mitigação, entre em contato com o atendimento ao cliente e abra um caso de suporte.

Práticas recomendadas para evitar o comprometimento de credenciais

Esta seção descreve as práticas recomendadas que podem ser implementadas para evitar o comprometimento de credenciais.

Separar credenciais do código

Gerencie e armazene as credenciais separadamente do código-fonte. É extremamente comum enviar acidentalmente as credenciais e o código-fonte por push a um site de gerenciamento de códigos, como o GitHub, o que torna as credenciais vulneráveis a ataques.

Se você estiver usando o GitHub ou outro repositório público, poderá implementar ferramentas como a verificação de secrets, que avisa sobre secrets expostos nos seus repositórios do GitHub. Para impedir que as chaves sejam confirmadas nos repositórios do GitHub, use ferramentas como git-secrets.

Use soluções de gerenciamento de secrets como Secret Manager e Hashicorp Vault para armazenar seus secrets, fazer a rotação deles regularmente e aplicar o privilégio mínimo.

Implementar práticas recomendadas para contas de serviço

Para ajudar a proteger as contas de serviço, leia as práticas recomendadas para trabalhar com as contas de serviço.

Limitar a duração da sessão

Para forçar a reautenticação periódica, limite o tempo em que as sessões permanecem ativas para as contas do Google e do Google Cloud. Para saber mais, consulte:

Usar o VPC Service Controls para limitar o acesso

Para limitar o impacto do comprometimento de credenciais, crie perímetros de serviço usando o VPC Service Controls. Quando você configura o VPC Service Controls, os recursos dentro do perímetro só podem se comunicar com outros na mesma situação.