Recolha registos do AWS Aurora
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
- Crie um contentor do Amazon S3 seguindo este manual do utilizador: Criar um contentor
- Guarde o Nome e a Região do contentor para utilização posterior.
- Crie um utilizador seguindo este guia do utilizador: Criar um utilizador do IAM.
- Selecione o utilizador criado.
- Selecione o separador Credenciais de segurança.
- Clique em Criar chave de acesso na secção Chaves de acesso.
- Selecione Serviço de terceiros como o Exemplo de utilização.
- Clicar em Seguinte.
- Opcional: adicione uma etiqueta de descrição.
- Clique em Criar chave de acesso.
- Clique em Transferir ficheiro CSV para guardar a chave de acesso e a chave de acesso secreta para utilização posterior.
- Clique em Concluído.
- Selecione o separador Autorizações.
- Clique em Adicionar autorizações na secção Políticas de autorizações.
- Selecione Adicionar autorizações.
- Selecione Anexar políticas diretamente.
- Pesquise e selecione as políticas AmazonS3FullAccess e CloudWatchLogsFullAccess.
- Clicar em Seguinte.
- Clique em Adicionar autorizações.
Configure a monitorização melhorada
- Inicie sessão na AWS Management Console.
- Na barra de pesquisa, escreva RDS e selecione RDS na lista de serviços.
- No painel de controlo do RDS, selecione Bases de dados no painel de navegação.
- Selecione o cluster do Aurora que quer monitorizar.
- Na secção Registos e monitorização, clique em Modificar.
- Aceda à secção Monitorização e ative a Monitorização melhorada.
- 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.
- Guarde as alterações e aplique-as ao seu cluster do Aurora.
Como configurar registos de auditoria do AWS Aurora
- No painel de controlo do RDS, selecione Bases de dados e clique no seu cluster do Aurora.
- Na secção Registos e monitorização, clique em Modificar.
- Na secção Opções da base de dados, certifique-se de que a opção Ativar registos de auditoria está selecionada.
- Em Destino, escolha S3 e especifique o contentor S3 onde os registos vão ser armazenados.
- 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.
- No RDS Dashboard, selecione o seu cluster do Aurora.
- Na secção Registos e monitorização, certifique-se de que a integração do CloudWatch Logs está ativada.
- Aceda a CloudWatch Logs e crie um novo grupo de registos para armazenar os registos do Aurora.
- No ecrã Grupos de registos, escolha o nome do novo Grupo de registos.
- Selecione Ações > Exportar dados para o Amazon S3.
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.
Escolha o contentor do S3 e selecione a conta associada ao contentor do Amazon S3.
Nome do contentor do S3, selecione um contentor do Amazon S3.
Prefixo do contentor do S3, introduza a string gerada aleatoriamente que especificou na política do contentor.
Escolha Exportar para exportar os dados de registo para o Amazon S3.
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
- Clique no pacote Amazon Cloud Platform.
- Localize o tipo de registo AWS Aurora.
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.
- Substitua
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.
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.