arrow_back

Analisar registros de auditoria usando o BigQuery

Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Analisar registros de auditoria usando o BigQuery

Lab 1 hora 30 minutos universal_currency_alt 2 créditos show_chart Introdutório
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses
ícone de "importante" IMPORTANTE:

ícone de notebook/computador Conclua este laboratório prático usando um computador ou notebook.

ícone de verificação Só 5 tentativas são permitidas por laboratório.

ícone de alvo do teste É comum não acertar todas as questões na primeira tentativa e precisar refazer uma tarefa. Isso faz parte do processo de aprendizado.

ícone de cronômetro Depois que o laboratório é iniciado, não é possível pausar o tempo. Depois de 1h30, o laboratório será finalizado, e você vai precisar recomeçar.

ícone de dica Para saber mais, confira as Dicas técnicas do laboratório.

Informações gerais da atividade

Os serviços do Google Cloud gravam registros de auditoria que registram atividades e acessos administrativos nos recursos do Google Cloud. As entradas de registro de auditoria ajudam você a responder às perguntas "Quem fez o quê, onde e quando?" nos seus projetos do Google Cloud. Ativar os registros de auditoria ajuda as entidades de segurança, auditoria e compliance a monitorar dados e sistemas do Google Cloud em busca de possíveis vulnerabilidades ou uso externo indevido de dados.

Neste laboratório, você vai investigar registros de auditoria para identificar padrões de atividade suspeita envolvendo recursos da nuvem.

Cenário

O Cymbal Bank migrou oficialmente para a solução de nuvem híbrida e implantou seus fluxos de trabalho no novo ambiente de nuvem. Infelizmente, a equipe de engenharia de segurança foi notificada de um alerta de alta gravidade envolvendo acesso não autorizado a vários recursos da nuvem. Isso é preocupante porque usuários maliciosos podem usar os recursos de nuvem comprometidos para extrair dados e lançar ataques a outros sistemas. Essa é a primeira vez que você enfrenta um incidente de segurança. Chloe, a líder da equipe, reconhece que esta é uma oportunidade valiosa para que você aprenda os processos e procedimentos envolvidos na resposta a incidentes. Você foi designado(a) para acompanhar e observar Hannah, membro da equipe de resposta a incidentes que é uma unidade do departamento de engenharia de segurança. Hannah deu autorização para que você acesse os registros de alertas que serão usados para investigar a atividade maliciosa. Você quer entender melhor o incidente de segurança e, assim, configurou um ambiente de teste para recriar o incidente e analisar os artefatos. Você vai usar duas contas de usuário separadas: uma delas vai gerar a atividade maliciosa, e a outra será usada para investigar a atividade.

Saiba como você vai executar esta tarefa. Primeiro, você vai recriar o incidente de segurança, gerando a atividade em uma das contas de usuário. A seguir, você vai exportar os registros para análise posterior. Depois, você vai continuar a recriar o incidente e gerar mais atividade do usuário. Por fim, você vai usar o BigQuery para analisar os registros.

Configuração

Antes de clicar em "Começar o laboratório"

Leia as instruções a seguir. Os laboratórios são cronometrados e não podem ser pausados. O timer é iniciado quando você clica em Começar o laboratório e mostra por quanto tempo os recursos do Google Cloud vão ficar disponíveis.

Neste laboratório prático, você pode fazer as atividades por conta própria em um ambiente cloud de verdade, não em uma simulação ou demonstração. Você vai receber novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.

Confira os requisitos para concluir o laboratório:

  • Acesso a um navegador de Internet padrão (recomendamos o Chrome).
Observação: para executar este laboratório, use o modo de navegação anônima ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.
  • Tempo para concluir o laboratório---não se esqueça: depois de começar, não será possível pausar o laboratório.
Observação: não use seu projeto ou conta do Google Cloud neste laboratório para evitar cobranças extras na sua conta.

Como iniciar seu laboratório e fazer login no console do Google Cloud

  1. Clique no botão Começar o laboratório. No painel Detalhes do laboratório à esquerda, você verá o seguinte:

    • Tempo restante
    • O botão Abrir console do Google Cloud
    • As credenciais temporárias que você vai usar neste laboratório
    • Outras informações, se forem necessárias
    Observação: se for preciso pagar pelo laboratório, um pop-up vai aparecer para você escolher a forma de pagamento.
  2. Se você estiver usando o navegador Chrome, clique em Abrir console do Google Cloud (ou clique com o botão direito do mouse e selecione Abrir link em uma janela anônima). A página de login será aberta em uma nova guia do navegador.

    Dica: é possível organizar as guias em janelas separadas, lado a lado, para alternar facilmente entre elas.

    Observação: se a caixa de diálogo Escolha uma conta aparecer, clique em Usar outra conta.
  3. Se necessário, copie o Nome de usuário do Google Cloud abaixo e cole na caixa de diálogo de login. Clique em Próximo.

{{{user_0.username | "Nome de usuário do Google Cloud"}}}

Você também encontra o Nome de usuário do Google Cloud no painel Detalhes do laboratório.

  1. Copie a Senha do Google Cloud abaixo e cole na caixa de diálogo seguinte. Clique em Próximo.
{{{user_0.password | "Senha do Google Cloud"}}}

Você também encontra a Senha do Google Cloud no painel Detalhes do laboratório.

Importante: você precisa usar as credenciais fornecidas no laboratório, e não as da sua conta do Google Cloud. Observação: usar sua própria conta do Google Cloud neste laboratório pode gerar cobranças extras.
  1. Nas próximas páginas:
    • Aceite os Termos e Condições
    • Não adicione opções de recuperação nem autenticação de dois fatores nesta conta temporária
    • Não se inscreva em testes gratuitos

Depois de alguns instantes, o console será aberto nesta guia.

Observação: para acessar a lista dos produtos e serviços do Google Cloud, clique no Menu de navegação no canto superior esquerdo. Menu do console do Google Cloud com o ícone do menu de navegação em destaque

Ativar o Cloud Shell

O Cloud Shell é um ambiente de desenvolvimento e operações on-line acessível por um navegador em qualquer lugar. O Cloud Shell oferece acesso de linha de comando aos recursos do Google Cloud.

  1. Clique em Ativar o Cloud Shell (Ícone "Ativar o Cloud Shell") no canto superior direito do console do Google Cloud. Será necessário clicar em Continuar.

Depois da inicialização do Cloud Shell, aparecerá uma mensagem exibindo o ID do projeto do Google Cloud para essa sessão:

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

A ferramenta de linha de comando do Google Cloud, gcloud, vem pré-instalada no Cloud Shell e dá suporte ao preenchimento com tabulação. Você precisa primeiro autorizar a gcloud para poder acessar o Google Cloud.

  1. Liste o nome das contas ativas com este comando:
gcloud auth list
  1. Vai aparecer um pop-up para você Autorizar o Cloud Shell. Clique em Autorizar.

  2. A saída será parecida com esta:

Saída:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. Liste o ID do projeto com este comando:
gcloud config list project

Exemplo de saída:

[core] project = qwiklabs-gcp-44776a13dea667a6 Observação: para conferir a documentação completa da gcloud, acesse o guia de informações gerais sobre a gcloud CLI no Google Cloud.

Tarefa 1. Gerar atividade da conta

Observação: verifique se você está em Nome de usuário 1: console do Google Cloud.

Nesta tarefa, você vai criar e excluir recursos da nuvem para gerar atividade da conta que você vai acessar como registros de auditoria do Cloud.

  1. Copie os comandos a seguir para o terminal do Cloud Shell:
gcloud storage buckets create gs://$DEVSHELL_PROJECT_ID echo "this is a sample file" > sample.txt gcloud storage cp sample.txt gs://$DEVSHELL_PROJECT_ID gcloud compute networks create mynetwork --subnet-mode=auto export ZONE=$(gcloud compute project-info describe \ --format="value(commonInstanceMetadata.items[google-compute-default-zone])") gcloud compute instances create default-us-vm \ --machine-type=e2-micro \ --zone=$ZONE --network=mynetwork gcloud storage rm --recursive gs://$DEVSHELL_PROJECT_ID
  1. Pressione ENTER.

Clique em Verificar meu progresso para confirmar que você concluiu a tarefa corretamente. Gerar atividade da conta

Tarefa 2. Exportar os registros de auditoria

Observação: verifique se você está em Nome de usuário 1: console do Google Cloud.

A atividade que você gerou na tarefa anterior foi gravada como registros de auditoria. Nesta tarefa, você vai exportar esses registros para um conjunto de dados do BigQuery para análise posterior.

  1. No console do Google Cloud, no menu de navegação (ícone do menu de navegação) clique em Geração de registros > Análise de registros. A página Análise de registros será aberta. (Pode ser necessário clicar em Mais produtos para expandir as opções do menu de navegação e localizar Geração de registros em Operações.)
  2. O filtro atual será aplicado aos registros que forem exportados. Copie e cole a seguinte consulta no Criador de consultas:
logName = ("projects/{{{project_0.project_id | Project ID}}}/logs/cloudaudit.googleapis.com%2Factivity")
  1. Clique em Executar consulta. Os resultados da consulta serão exibidos no painel Resultados da consulta. A consulta filtra os resultados com registros de auditoria do Cloud no seu projeto.
  2. No campo Editor de consultas, clique emMais ações > Criar coletor. A caixa de diálogo Criar coletor de roteamento de registros será aberta.
Observação: se a janela do navegador for estreita, a interface poderá exibir Mais em vez de Mais ações.
  1. Na caixa de diálogo Criar coletor de roteamento de registros, especifique as configurações a seguir e deixe todas as outras com os valores padrão:
Seção Campo: valores
Detalhes do coletor Nome do coletor: AuditLogsExport
Clique em Próxima.
Destino do coletor Selecionar serviço do coletor: Conjunto de dados do BigQuery
Selecionar conjunto de dados do BigQuery: Criar novo conjunto de dados do BigQuery.
A caixa de diálogo Criar conjunto de dados será aberta.
Criar conjunto de dados ID do conjunto de dados: auditlogs_dataset
Clique em Criar conjunto de dados.
A caixa de diálogo Criar conjunto de dados será fechada, e você vai voltar para a caixa de diálogo Destino do coletor.
Destino do coletor Clique em Próxima.
Desmarque a caixa de seleção Usar tabelas particionadas se ela estiver selecionada. Depois, clique em Próxima.
Escolha os registros para incluir no coletor Note o filtro de inclusão de build pré-preenchido: logName=("projects/[PROJECT ID]/logs/cloudaudit.googleapis.com%2Factivity")
Clique em Próxima.
Clique em Criar coletor.
Volte para a página Análise de registros.
  1. No painel de navegação Geração de registros, clique em Roteador de registros para exibir o coletor AuditLogsExport na lista Coletores do roteador de registros.
  2. Inline com o coletor AuditLogsExport, clique em Mais ações (Ícone "Mais") > Visualizar detalhes do coletor para exibir informações sobre o coletor AuditLogsExport que você criou. A caixa de diálogo Detalhes do coletor será aberta.
  3. Clique em Cancelar para fechar a caixa de diálogo Detalhes do coletor quando terminar de examinar as informações do coletor.

Todos os registros futuros serão exportados para o BigQuery, e as ferramentas do BigQuery poderão ser usadas para fazer análises nos dados de registros de auditoria. A exportação não afeta as entradas de registro atuais.

Clique em Verificar meu progresso para confirmar que você concluiu a tarefa corretamente. Exportar os registros de auditoria

Tarefa 3. Gerar mais atividade da conta

Observação: verifique se você está em Nome de usuário 1: console do Google Cloud.

Nesta tarefa, você vai criar e excluir recursos da nuvem para gerar mais atividade da conta que, depois, vai acessar no BigQuery para extrair outros insights dos registros.

  1. Copie os comandos a seguir para o terminal do Cloud Shell:
gcloud storage buckets create gs://$DEVSHELL_PROJECT_ID gcloud storage buckets create gs://$DEVSHELL_PROJECT_ID-test echo "this is another sample file" > sample2.txt gcloud storage cp sample.txt gs://$DEVSHELL_PROJECT_ID-test export ZONE=$(gcloud compute project-info describe \ --format="value(commonInstanceMetadata.items[google-compute-default-zone])") gcloud compute instances delete --zone=$ZONE \ --delete-disks=all default-us-vm

Estes comandos geram mais atividades para exibir nos registros de auditoria exportados para o BigQuery.

  1. Pressione ENTER.

Quando solicitado, digite Y e pressione Enter. Note que você criou dois buckets e excluiu uma instância do Compute Engine.

  1. Quando aparecer o comando, depois de alguns minutos, insira os comandos a seguir no terminal do Cloud Shell:
gcloud storage rm --recursive gs://$DEVSHELL_PROJECT_ID gcloud storage rm --recursive gs://$DEVSHELL_PROJECT_ID-test
  1. Pressione ENTER.

Note que você excluiu os dois buckets.

Clique em Verificar meu progresso para confirmar que você concluiu a tarefa corretamente. Gerar mais atividade da conta

Tarefa 4. Fazer login como o segundo usuário

Você vai precisar trocar de conta do Google Cloud, fazendo login no console do Google Cloud com a conta do segundo usuário fornecida no painel de Detalhes do laboratório. Você vai usar essa conta de usuário para analisar os registros.

  1. No console do Google Cloud, clique no ícone do usuário no canto superior direito da tela e, depois, clique em Adicionar conta
  2. Navegue de volta para o painel Detalhes do laboratório e copie o nome de usuário 2 do Google Cloud: e a senha. Depois, cole o nome de usuário e a senha na caixa de diálogo Fazer login do console do Google Cloud.

Tarefa 5. Analisar os registros de atividade do administrador

Observação: verifique se você está em Nome de usuário 2: console do Google Cloud.

Nesta tarefa, você vai analisar os registros de atividade do administrador gerados na tarefa anterior. Seu objetivo é identificar e aplicar filtros para isolar registros que podem indicar atividade suspeita. Isso vai possibilitar que você exporte esse subconjunto de registros e simplificar o processo de análise deles em busca de problemas potenciais.

Os Registros de atividade do administrador contêm entradas de registros para chamadas de API ou outras ações administrativas que modificam a configuração ou os metadados de recursos. Por exemplo, os registros são gravados quando instâncias de VM e aplicativos do App Engine são criados quando permissões são alteradas.

Observação: as entradas dos registros de auditoria podem ser acessadas no Visualizador de registros, no Cloud Logging e no SDK Cloud. Também é possível exportar entradas de registro de auditoria para o Pub/Sub, o BigQuery ou o Cloud Storage.
  1. No console do Google Cloud, clique no menu de navegação (ícone do menu de navegação).
  2. Selecione Geração de registros > Análise de registros. A página Análise de registros será aberta. (Talvez seja necessário expandir o menu suspenso Mais produtos dentro do menu Navegação e localizar Geração de registros em Operações.)
  3. Verifique se o botão ativar/desativar Mostrar consulta está ativado. Isso abre o campo Criador de consultas.
  4. Copie e cole o seguinte comando no campo Criador de consultas. Note o ID do projeto do Google Cloud, o ID do projeto no comando.
logName = ("projects/{{{project_0.project_id | "PROJECT_ID"}}}/logs/cloudaudit.googleapis.com%2Factivity")
  1. Clique em Executar consulta.
  2. Nos resultados da consulta, localize a entrada de registro que indica que um bucket do Cloud Storage foi excluído. Essa entrada vai conter o campo de resumo storage.buckets.delete. Os campos de resumo estão incluídos nos resultados de registros para destacar informações importantes sobre a entrada do registro.

Essa entrada se refere a storage.googleapis.com, que chama o método storage.buckets.delete para excluir um bucket. O nome do bucket é igual ao do seu ID do projeto: .

  1. Nessa entrada, clique no texto storage.googleapis.com e selecione Mostrar entradas correspondentes. Os resultados da consulta devem agora exibir apenas seis entradas relacionadas aos buckets do Cloud Storage criados e excluídos.
  2. No campo Editor de consultas, note que a linha protoPayload.serviceName="storage.googleapis.com" foi adicionada ao Criador de consultas. Isso filtra sua consulta exibindo apenas entradas que correspondam a storage.googleapis.com.
  3. Nesses resultados da consulta, clique em storage.buckets.delete em uma das entradas e selecione Mostrar entradas correspondentes.

Note que outra linha foi adicionada ao texto do Criador de consultas:

logName = ("projects/{{{project_0.project_id | "PROJECT_ID"}}}/logs/cloudaudit.googleapis.com%2Factivity") protoPayload.serviceName="storage.googleapis.com" protoPayload.methodName="storage.buckets.delete"

Os resultados da consulta agora devem exibir todas as entradas relacionadas aos buckets do Cloud Storage excluídos. Use essa técnica para localizar eventos específicos com facilidade.

  1. Nos resultados da consulta, expanda um evento storage.buckets.delete clicando na seta de expansão > ao lado da linha:

buckets_delete_log

  1. Expanda o campo authenticationInfo clicando na seta de expansão > ao lado da linha:

authenticationInfo

Note o campo principalEmail que exibe o endereço de e-mail da conta de usuário que realizou essa ação, que é a conta do usuário 1 que você usou para gerar a atividade do usuário.

Tarefa 6. Usar o BigQuery para analisar os registros de auditoria

Observação: verifique se você está em Nome de usuário 2: console do Google Cloud.

Você gerou e exportou registros para um conjunto de dados do BigQuery. Nesta tarefa, você vai analisar os registros usando o editor de consultas.

Observação: quando você exporta registros para um conjunto de dados do BigQuery, o Cloud Logging cria tabelas datadas para manter as entradas. As entradas de registros são colocadas em tabelas com nomes baseados nos nomes de registros das entradas.
  1. No console do Google Cloud, clique no menu de navegação (ícone do menu de navegação).
  2. Clique em BigQuery.
Observação: a caixa de mensagem "Este é o BigQuery" no console do Cloud tem links para o guia de início rápido e para as notas da versão das atualizações da interface. Clique em Concluído para continuar.
  1. No painel Explorer, clique na seta de expansão ao lado do seu projeto, . O conjunto de dados auditlogs_dataset será exibido.
Observação: se auditlogs_dataset não for exibido, recarregue a janela do navegador.

A seguir, verifique se o conjunto de dados do BigQuery tem permissões apropriadas para permitir que o gravador de exportação armazene as entradas de registro.

  1. Clique no conjunto de dados auditlogs_dataset.

  2. Na barra de ferramentas do auditlogs_dataset, clique no menu suspenso Compartilhamento e selecione Permissões.

  3. Na página Compartilhar permissão para "auditlogs_dataset", expanda a seção Editor de dados do BigQuery.

  4. Confirme que a conta de serviço usada para exportação de registros é uma permissão listada. A conta de serviço é semelhante a: service-xxxxxxxx@gcp-sa-logging.iam.gserviceaccount.com

    Essa permissão é atribuída automaticamente quando as exportações de registros são configuradas e, portanto, uma maneira útil de verificar que isso ocorreu.

  5. Clique em Fechar para fechar a janela Compartilhar conjunto de dados.

  6. No painel Explorer, clique na seta de expansão ao lado do conjunto de dados auditlogs_dataset para exibir a tabela cloudaudit_googleapis_com_activity. Essa tabela contém seus registros exportados.

  7. Selecione a tabela cloudaudit_googleapis_com_activity. O esquema da tabela é exibido. Reserve um momento para analisar o esquema e os detalhes da tabela.

  8. Expanda o menu suspenso Consulta e selecione Em uma nova guia.

query_drop_down

  1. Na guia sem título do criador de consultas, exclua qualquer texto exibido e copie e cole o comando a seguir:
SELECT timestamp, resource.labels.instance_id, protopayload_auditlog.authenticationInfo.principalEmail, protopayload_auditlog.resourceName, protopayload_auditlog.methodName FROM `auditlogs_dataset.cloudaudit_googleapis_com_activity_*` WHERE PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY) AND CURRENT_DATE() AND resource.type = "gce_instance" AND operation.first IS TRUE AND protopayload_auditlog.methodName = "v1.compute.instances.delete" ORDER BY timestamp, resource.labels.instance_id LIMIT 1000;

Essa consulta retorna os usuários que excluíram máquinas virtuais nos últimos sete dias.

  1. Clique em Executar.

Depois de alguns segundos, o BigQuery vai retornar cada vez que um usuário excluiu uma máquina virtual do Compute Engine nos últimos sete dias. Você vai notar uma entrada que é a atividade que você gerou nas tarefas anteriores como usuário 1. Lembre-se de que o BigQuery só mostra a atividade que aconteceu depois de você criar a exportação.

  1. Substitua a consulta anterior na guia sem título pelo comando a seguir:
SELECT timestamp, resource.labels.bucket_name, protopayload_auditlog.authenticationInfo.principalEmail, protopayload_auditlog.resourceName, protopayload_auditlog.methodName FROM `auditlogs_dataset.cloudaudit_googleapis_com_activity_*` WHERE PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY) AND CURRENT_DATE() AND resource.type = "gcs_bucket" AND protopayload_auditlog.methodName = "storage.buckets.delete" ORDER BY timestamp, resource.labels.instance_id LIMIT 1000;

Essa consulta retorna os usuários que excluíram buckets do Cloud Storage nos últimos sete dias. Você vai notar duas entradas, que se referem à atividade que você gerou nas tarefas anteriores como usuário 1.

  1. Clique em Executar.

A capacidade de analisar registros de auditoria no BigQuery é muito útil. Nesta atividade, você conferiu dois exemplos de consultas aos registros de auditoria.

Clique em Verificar meu progresso para confirmar que você concluiu a tarefa corretamente. Usar o BigQuery para analisar os registros de auditoria

Conclusão

Bom trabalho! Você fez consultas bem-sucedidas na Análise de registros. Depois você exportou registros e criou um conjunto de dados que analisou no BigQuery.

Você demonstrou como usar registros de auditoria e filtrar consultas para encontrar tipos de atividade maliciosa. Depois você analisou esses registros no BigQuery como uma maneira de detalhar as ameaças.

Finalize o laboratório

Antes de encerrar o laboratório, certifique-se de que você concluiu todas as tarefas. Quando tudo estiver pronto, clique em Terminar o laboratório e depois em Enviar.

Depois que você finalizar um laboratório, não será mais possível acessar o ambiente do laboratório nem o trabalho que você concluiu nele.

Copyright 2024 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de empresas e produtos podem ser marcas registradas das empresas a que estão associados.