Recolha registos do AWS Aurora

Compatível com:

Este documento explica como carregar registos do AWS Aurora para o Google Security Operations. O AWS Aurora é um serviço de base de dados relacional gerido que oferece elevado desempenho, escalabilidade e disponibilidade. Nesta integração, vai configurar o AWS Aurora para encaminhar registos para o Google SecOps para análise, monitorização e deteção de ameaças.

Antes de começar

Certifique-se de que tem os seguintes pré-requisitos:

  • Instância do Google SecOps
  • Acesso privilegiado ao AWS
  • Configuração e execução do cluster de base de dados AWS Aurora

Configure o contentor do Amazon S3

  1. Crie um contentor do Amazon S3 seguindo este manual do utilizador: Criar um contentor
  2. Guarde o Nome e a Região do contentor para utilização posterior.
  3. Crie um utilizador seguindo este guia do utilizador: Criar um utilizador do IAM.
  4. Selecione o utilizador criado.
  5. Selecione o separador Credenciais de segurança.
  6. Clique em Criar chave de acesso na secção Chaves de acesso.
  7. Selecione Serviço de terceiros como o Exemplo de utilização.
  8. Clicar em Seguinte.
  9. Opcional: adicione uma etiqueta de descrição.
  10. Clique em Criar chave de acesso.
  11. Clique em Transferir ficheiro CSV para guardar a chave de acesso e a chave de acesso secreta para utilização posterior.
  12. Clique em Concluído.
  13. Selecione o separador Autorizações.
  14. Clique em Adicionar autorizações na secção Políticas de autorizações.
  15. Selecione Adicionar autorizações.
  16. Selecione Anexar políticas diretamente.
  17. Pesquise e selecione as políticas AmazonS3FullAccess e CloudWatchLogsFullAccess.
  18. Clicar em Seguinte.
  19. Clique em Adicionar autorizações.

Configure a monitorização melhorada

  1. Inicie sessão na AWS Management Console.
  2. Na barra de pesquisa, escreva RDS e selecione RDS na lista de serviços.
  3. No painel de controlo do RDS, selecione Bases de dados no painel de navegação.
  4. Selecione o cluster do Aurora que quer monitorizar.
  5. Na secção Registos e monitorização, clique em Modificar.
  6. Aceda à secção Monitorização e ative a Monitorização melhorada.
  7. Defina a função de monitorização para a função de IAM adequada que tenha autorizações para publicar no CloudWatch Logs ou no S3.
  8. Guarde as alterações e aplique-as ao seu cluster do Aurora.

Como configurar registos de auditoria do AWS Aurora

  1. No painel de controlo do RDS, selecione Bases de dados e clique no seu cluster do Aurora.
  2. Na secção Registos e monitorização, clique em Modificar.
  3. Na secção Opções da base de dados, certifique-se de que a opção Ativar registos de auditoria está selecionada.
  4. Em Destino, escolha S3 e especifique o contentor S3 onde os registos vão ser armazenados.
  5. Clique em Guardar alterações para aplicar as definições.

Opcional: configuração dos registos do AWS Aurora através do CloudWatch

Para capacidades de monitorização adicionais, pode configurar os registos do CloudWatch para capturar registos do Aurora.

  1. No RDS Dashboard, selecione o seu cluster do Aurora.
  2. Na secção Registos e monitorização, certifique-se de que a integração do CloudWatch Logs está ativada.
  3. Aceda a CloudWatch Logs e crie um novo grupo de registos para armazenar os registos do Aurora.
  4. No ecrã Grupos de registos, escolha o nome do novo Grupo de registos.
  5. Selecione Ações > Exportar dados para o Amazon S3.
  6. No ecrã Exporte dados para o Amazon S3, em Defina a exportação de dados, defina o intervalo de tempo dos dados a exportar através das opções De e Para.

  7. Escolha o contentor do S3 e selecione a conta associada ao contentor do Amazon S3.

  8. Nome do contentor do S3, selecione um contentor do Amazon S3.

  9. Prefixo do contentor do S3, introduza a string gerada aleatoriamente que especificou na política do contentor.

  10. Escolha Exportar para exportar os dados de registo para o Amazon S3.

  11. Para ver o estado dos dados de registo que exportou para o Amazon S3, selecione Ações > Ver todas as exportações para o Amazon S3.

Configure feeds

Existem dois pontos de entrada diferentes para configurar feeds na plataforma Google SecOps:

  • Definições do SIEM > Feeds > Adicionar novo
  • Content Hub > Pacotes de conteúdo > Começar

Como configurar o feed do AWS Aurora

  1. Clique no pacote Amazon Cloud Platform.
  2. Localize o tipo de registo AWS Aurora.
  3. Especifique os valores nos seguintes campos.

    • Tipo de origem: Amazon SQS V2
    • Nome da fila: o nome da fila SQS a partir da qual ler
    • URI do S3: o URI do contentor.
      • s3://your-log-bucket-name/
        • Substitua your-log-bucket-name pelo nome real do seu contentor do S3.
    • Opções de eliminação de origens: selecione a opção de eliminação de acordo com as suas preferências de carregamento.

    • Idade máxima do ficheiro: inclua ficheiros modificados no último número de dias. A predefinição é 180 dias.

    • ID da chave de acesso à fila SQS: uma chave de acesso à conta que é uma string alfanumérica de 20 carateres.

    • Chave de acesso secreta da fila SQS: uma chave de acesso à conta que é uma string alfanumérica de 40 carateres.

    Opções avançadas

    • Nome do feed: um valor pré-preenchido que identifica o feed.
    • Espaço de nomes do recurso: espaço de nomes associado ao feed.
    • Etiquetas de carregamento: etiquetas aplicadas a todos os eventos deste feed.
  4. Clique em Criar feed.

Para mais informações sobre a configuração de vários feeds para diferentes tipos de registos nesta família de produtos, consulte o artigo Configure feeds por produto.

Tabela de mapeamento da UDM

Campo de registo Mapeamento de UDM Lógica
account principal.group.product_object_id Mapeado diretamente a partir do campo account no registo não processado.
column1 timestamp_epoch Mapeado diretamente a partir do campo column1 no registo não processado. Usado para derivar metadata.event_timestamp.
column10 Varia Pode ser principal.process.command_line, object ou number, consoante o formato do registo.
column11 ddl ou response ou command_line2 Pode ser principal.resource.resource_subtype (ddl), security_result.outcomes.value (response) ou parte de principal.process.command_line (command_line2), consoante o formato do registo.
column12 operation ou response ou command_line3 Pode ser sr.summary (operação), security_result.outcomes.value (resposta) ou parte de principal.process.command_line (command_line3), consoante o formato do registo.
column13 database ou response Pode ser target.resource.name (base de dados) ou security_result.outcomes.value (resposta), consoante o formato do registo.
column14 object Mapeado diretamente para principal.resource.product_object_id ou target_data.resource.name, consoante o formato do registo.
column15 command_line Mapeado diretamente para principal.process.command_line.
column16 response Mapeado diretamente para security_result.outcomes.value.
column2 timestamp ou timestamp_ms Mapeado diretamente a partir do campo column2 no registo não processado.
column3 ip ou hostname Pode ser principal.ip ou principal.resource.name, consoante o formato do registo.
column4 port ou userid Pode ser principal.port ou principal.user.userid, consoante o formato do registo.
column5 userid ou ip Pode ser principal.user.userid ou principal.ip, consoante o formato do registo.
column6 hostname ou connection_id Pode ser principal.resource.name ou network.session_id, consoante o formato do registo.
column7 connection_id ou query_id Pode ser network.session_id ou principal.process.pid, consoante o formato do registo.
column8 operation Mapeado diretamente para sr.summary ou metadata.product_event_type.
column9 query_id ou database Pode ser principal.process.pid ou target_data.resource.name, consoante o formato do registo.
command_line principal.process.command_line Mapeado diretamente a partir do campo command_line extraído.
connection_id network.session_id Mapeado diretamente a partir do campo connection_id extraído.
database target.resource.name Mapeado diretamente a partir do campo database extraído. Derivado de vários campos, como operation, command_line, has_principal_user e has_principal_machine, através da lógica condicional no analisador. Pode ser RESOURCE_DELETION, RESOURCE_CREATION, RESOURCE_READ, RESOURCE_WRITTEN, USER_RESOURCE_ACCESS, USER_UNCATEGORIZED ou GENERIC_EVENT. Codificado de forma rígida para "AWS_AURORA". Mapeado a partir de column8 ou derivado da lógica do analisador. Codificado de forma rígida para "AURORA". Codificado de forma rígida como "AMAZON".
has_principal_machine has_principal_machine Definido como "true" se principal.ip estiver presente. Caso contrário, é inicializado como "false".
has_principal_user has_principal_user Definido como "true" se principal.user.userid estiver presente. Caso contrário, é inicializado como "false".
hostname principal.resource.name Mapeado diretamente a partir do campo hostname extraído.
ip principal.ip Mapeado diretamente a partir do campo ip extraído.
logevent.id security_result.detection_fields.value Aninhado em target.logEvents.logEvents, mapeado com a chave "id".
logevent.message security_result.detection_fields.value Aninhado em target.logEvents.logEvents, mapeado com a chave "message". Usado para extrair principal.ip, time_unix, operation e user.
logevent.timestamp security_result.detection_fields.value Aninhado em target.logEvents.logEvents, mapeado com a chave "timestamp".
object target_data.resource.name ou principal.resource.product_object_id Mapeado diretamente a partir do campo object extraído.
operation sr.summary Mapeado diretamente a partir do campo operation extraído.
port principal.port Mapeado diretamente a partir do campo port extraído.
query_id principal.process.pid Mapeado diretamente a partir do campo query_id extraído.
response security_result.outcomes.value Mapeado diretamente a partir do campo response extraído.
service principal.application Mapeado diretamente a partir do campo service no registo não processado.
src_ip principal.ip Extraído de logevent.message na estrutura aninhada target.logEvents.logEvents.
target.logEvents.logGroup target.resource.attribute.labels.value Mapeado com a chave "logGroup".
target.logEvents.logStream target.resource.attribute.labels.value Mapeado com a chave "logStream".
target.logEvents.messageType target.resource.attribute.labels.value Mapeado com a chave "messageType".
target.logEvents.owner target.resource.attribute.labels.value Mapeado com a chave "owner".
timestamp_epoch metadata.event_timestamp Convertido em metadata.event_timestamp através do filtro date.
user principal.user.userid Extraído de logevent.message na estrutura aninhada target.logEvents.logEvents.
userid principal.user.userid Mapeado diretamente a partir do campo userid extraído.

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.