Coletar registros do AWS Route 53
Este documento explica como configurar o AWS CloudTrail para armazenar registros de DNS do AWS Route 53 em um bucket do S3 e transferir os registros do S3 para as operações de segurança do Google. O Amazon Route 53 oferece geração de registros de consulta DNS e a capacidade de monitorar seus recursos usando verificações de integridade. O Route 53 está integrado ao AWS CloudTrail, um serviço que fornece um registro das ações realizadas por um usuário, papel ou serviço da AWS no Route 53.
Antes de começar
- Verifique se você tem uma instância do Google SecOps.
- Verifique se você tem acesso privilegiado à AWS.
Configurar o AWS CloudTrail e o Route 53
- Faça login no console da AWS.
- Pesquise Cloudtrail.
- Se você ainda não tiver um percurso, clique em Criar percurso.
- Informe o nome do percurso .
- Selecione Criar bucket do S3. Você também pode usar um bucket do S3 existente.
- Informe um nome para o alias do AWS KMS ou escolha uma chave do AWS KMS.
- Deixe as outras configurações como padrão e clique em Próxima.
- Selecione Tipo de evento e verifique se Eventos de gerenciamento está selecionado. Esses são os eventos que vão incluir chamadas da API Route 53.
- Clique em Próxima.
- Revise as configurações em Revisar e criar.
- Clique em Criar trilha.
- No console da AWS, pesquise S3.
- Clique no bucket de registros recém-criado e selecione a pasta AWSLogs .
- Clique em Copiar URI do S3 e salve.
Configurar o usuário do AWS IAM
- No console da AWS, pesquise IAM.
- Clique em Usuários.
- Clique em Adicionar usuários.
- Informe um nome para o usuário (por exemplo, chronicle-feed-user).
- Selecione Chave de acesso: acesso programático como o tipo de credencial da AWS.
- Clique em Next: Permissions.
- Selecione Anexar políticas atuais diretamente.
- Selecione AmazonS3ReadOnlyAccess ou AmazonS3FullAccess.
- Clique em Avançar: tags.
- Opcional: adicione tags, se necessário.
- Clique em PRÓXIMO: REVISAR.
- Revise a configuração e clique em Criar usuário.
- Copie o ID da chave de acesso e a chave de acesso secreta do usuário criado.
Configurar um feed no Google SecOps para processar os logs do AWS Route 53
- Acesse Configurações do SIEM > Feeds.
- Clique em Adicionar novo.
- No campo Nome do feed, insira um nome para o feed (por exemplo, AWS Route 53 Logs).
- Selecione Amazon S3 como o Tipo de origem.
- Selecione AWS Route 53 como o Tipo de registro.
- Clique em Próxima.
Especifique valores para os seguintes parâmetros de entrada:
- Região: a região em que o bucket do Amazon S3 está localizado.
- URI do S3: o URI do bucket.
s3:/BUCKET_NAME
- Substitua
BUCKET_NAME
pelo nome real do bucket.
- Substitua
- O URI é um: selecione Diretório que inclui subdiretórios.
- Opções de exclusão da origem: selecione a opção de exclusão de acordo com sua preferência.
- ID da chave de acesso: a chave de acesso do usuário com acesso ao bucket do S3.
- Chave de acesso secreta: a chave secreta do usuário com acesso ao bucket do S3.
- Namespace de recursos: o namespace de recursos.
- Rótulos de ingestão: o rótulo a ser aplicado aos eventos desse feed.
Clique em Próxima.
Revise a configuração do novo feed na tela Finalizar e clique em Enviar.
Tabela de mapeamento do UDM
Campo de registro | Mapeamento de UDM | Lógica |
---|---|---|
account_id | read_only_udm.principal.resource.product_object_id | O ID da conta da AWS associado à consulta. |
firewall_domain_list_id | read_only_udm.security_result.rule_labels.value | O ID da lista de domínios à qual o domínio consultado pertence. |
firewall_rule_action | read_only_udm.security_result.action | A ação realizada pela regra de firewall que correspondeu à consulta. Os valores possíveis são "ALLOW", "BLOCK" ou "UNKNOWN_ACTION" se a ação não for reconhecida. |
firewall_rule_group_id | read_only_udm.security_result.rule_id | O ID do grupo de regras de firewall que correspondeu à consulta. |
logEvents{}.id | read_only_udm.principal.resource.product_object_id | O ID exclusivo do evento de registro. Usado como substituto se "account_id" não estiver presente. |
logEvents{}.message | Esse campo é analisado em outros campos do UDM com base no formato. | |
logEvents{}.timestamp | read_only_udm.metadata.event_timestamp.seconds | A hora em que a consulta DNS foi registrada. |
messageType | Esse campo é usado para determinar a estrutura da mensagem de registro. | |
proprietário | read_only_udm.principal.user.userid | O ID da conta da AWS do proprietário do registro. |
query_class | read_only_udm.network.dns.questions.class | A classe da consulta DNS. |
query_name | read_only_udm.network.dns.questions.name | O nome de domínio consultado. |
query_timestamp | read_only_udm.metadata.event_timestamp.seconds | A hora em que a consulta DNS foi feita. |
query_type | read_only_udm.metadata.product_event_type | O tipo de consulta DNS. |
rcode | read_only_udm.metadata.description | O código de resposta da consulta DNS. |
região | read_only_udm.principal.location.name | A região da AWS em que a consulta foi originada. |
srcaddr | read_only_udm.principal.ip | O endereço IP do cliente que fez a consulta DNS. |
srcids.instance | read_only_udm.principal.hostname | O ID da instância do cliente que fez a consulta DNS. |
srcids.resolver_endpoint | read_only_udm.security_result.rule_labels.value | O ID do endpoint do resolvedor que processou a consulta. |
srcids.resolver_network_interface | read_only_udm.security_result.rule_labels.value | O ID da interface de rede do resolvedor que processou a consulta. |
srcport | read_only_udm.principal.port | O número da porta do cliente que fez a consulta DNS. |
transport | read_only_udm.network.ip_protocol | O protocolo de transporte usado para a consulta DNS. |
version | read_only_udm.metadata.product_version | A versão do formato dos registros de consulta do resolvedor do Route 53. |
N/A | read_only_udm.metadata.event_type | Fixado em "NETWORK_DNS". |
N/A | read_only_udm.metadata.product_name | Fixado em "AWS Route 53". |
N/A | read_only_udm.metadata.vendor_name | Fixado em "AMAZON". |
N/A | read_only_udm.principal.cloud.environment | Fixado em "AMAZON_WEB_SERVICES". |
N/A | read_only_udm.network.application_protocol | Fixado em "DNS". |
N/A | read_only_udm.network.dns.response_code | Mapeado do campo "rcode" usando uma tabela de pesquisa. |
N/A | read_only_udm.network.dns.questions.type | Mapeado do campo "query_type" usando uma tabela de pesquisa. |
N/A | read_only_udm.metadata.product_deployment_id | Extraídos do campo "logevent.message_data" usando o padrão grok. |
N/A | read_only_udm.network.dns.authority.name | Extraídos do campo "logevent.message_data" usando o padrão grok. |
N/A | read_only_udm.security_result.rule_labels.key | Defina como "firewall_domain_list_id", "resolver_endpoint" ou "resolver_network_interface", dependendo dos campos disponíveis. |
N/A | read_only_udm.security_result.action_details | É definido como o valor de "firewall_rule_action" se não for "ALLOW" ou "BLOCK". |
Alterações
2024-10-22
- Melhoria: o campo "respostas" foi mapeado para "network.dns.answers".
2024-10-17
- Melhoria: adicionei "on_error" a todos os campos antes do mapeamento para o UDM.
2023-12-20
- Correção de bugs:
- Adição de gsub para substituir "\" por "#" e converter SYSLOG em JSON.
- A função gsub foi adicionada para substituir "#" por "\".
2023-05-08
- Melhoria:
- O padrão Grok modificado para os registros DNS de consulta oferece suporte a um novo formato de registro.
- Processar registros JSON com vários eventos.
2022-08-10
- Os blocos de mutação em maiúsculas extras foram removidos.
2022-07-22
- Parser recém-criado.
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.