Coletar registros do AWS Aurora
Este documento explica como transferir os registros do AWS Aurora para o Google Security Operations. O AWS Aurora é um serviço de banco de dados relacional gerenciado que oferece alto desempenho, escalonabilidade e disponibilidade. Nesta integração, você vai configurar o AWS Aurora para encaminhar registros ao Google SecOps para análise, monitoramento e detecção de ameaças.
Antes de começar
- Verifique se você tem uma instância do Google SecOps.
- Verifique se você tem acesso privilegiado à AWS.
- Verifique se o cluster de banco de dados do AWS Aurora está configurado e em execução.
Configurar o bucket do Amazon S3
- Crie um bucket do Amazon S3 seguindo este guia do usuário: Criar um bucket.
- Salve o Nome e a Região do bucket para uso futuro.
- Crie um usuário seguindo este guia: Como criar um usuário do IAM.
- Selecione o Usuário criado.
- Selecione a guia Credenciais de segurança.
- Clique em Criar chave de acesso na seção Chaves de acesso.
- Selecione Serviço de terceiros como o caso de uso.
- Clique em Próxima.
- Opcional: adicione uma tag de descrição.
- Clique em Criar chave de acesso.
- Clique em Fazer o download do arquivo CSV para salvar a chave de acesso e a chave de acesso secreta para uso futuro.
- Clique em Concluído.
- Selecione a guia Permissões.
- Clique em Adicionar permissões na seção Políticas de permissões.
- Selecione Adicionar permissões.
- Selecione Anexar políticas diretamente.
- Pesquise e selecione as políticas AmazonS3FullAccess e CloudWatchLogsFullAccess.
- Clique em Próxima.
- Clique em Adicionar permissões
Configurar o monitoramento aprimorado
- Faça login no Console de Gerenciamento da AWS.
- Na barra de pesquisa, digite RDS e selecione RDS na lista de serviços.
- No Painel do RDS, selecione Bancos de dados no painel de navegação.
- Selecione o cluster do Aurora que você quer monitorar.
- Na seção Logs e monitoramento, clique em Modificar.
- Acesse a seção Monitoramento e ative o Monitoramento aprimorado.
- Defina a função de monitoramento como a função do IAM adequada que tem permissões para publicar no CloudWatch Logs ou no S3.
- Salve as alterações e aplique-as ao cluster do Aurora.
Configurar os registros de auditoria do AWS Aurora
- No Painel do RDS, selecione Bancos de dados e clique no Cluster do Aurora.
- Na seção Logs e monitoramento, clique em Modificar.
- Na seção Opções do banco de dados, verifique se a opção Ativar registros de auditoria está selecionada.
- Em Destino, escolha S3 e especifique o bucket do S3 em que os registros serão armazenados.
- Clique em Salvar alterações para aplicar as configurações.
Opcional: configuração dos registros do AWS Aurora usando o CloudWatch
Para outros recursos de monitoramento, configure os Registros do CloudWatch para capturar registros do Aurora.
- No Painel do RDS, selecione seu cluster do Aurora.
- Na seção Registros e monitoramento, verifique se a integração com os Registros do CloudWatch está ativada.
- Acesse os Registros do CloudWatch e crie um novo grupo de registros para armazenar os registros do Aurora.
- Na tela Log Groups, escolha o nome do novo Log Group.
- Selecione Ações > Exportar dados para o Amazon S3.
Na tela Exportar dados para o Amazon S3, em Definir exportação de dados, defina o período de tempo para a exportação de dados usando De e Para.
Escolha o bucket do S3, selecione a conta associada ao bucket do Amazon S3.
Nome do bucket do S3, selecione um bucket do Amazon S3.
Prefixo do bucket do S3, insira a string gerada aleatoriamente especificada na política do bucket.
Escolha Export para exportar os dados de registro para o Amazon S3.
Para conferir o status dos dados de registro exportados para o Amazon S3, selecione Ações > Conferir todas as exportações para o Amazon S3.
Configurar um feed no Google SecOps para ingerir registros do AWS Aurora
- Acesse Configurações do SIEM > Feeds.
- Clique em Adicionar novo.
- No campo Nome do feed, insira um nome para o feed (por exemplo, AWS Aurora Logs).
- Selecione Amazon S3 como o Tipo de origem.
- Selecione AWS Aurora 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://your-log-bucket-name/
- Substitua
your-log-bucket-name
pelo nome real do bucket.
- Substitua
- O URI é: selecione Diretório ou 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 do UDM | Lógica |
---|---|---|
account |
principal.group.product_object_id |
Mapeado diretamente do campo account no registro bruto. |
column1 |
timestamp_epoch |
Mapeado diretamente do campo column1 no registro bruto. Usado para derivar metadata.event_timestamp . |
column10 |
Varia | Pode ser principal.process.command_line , object ou number , dependendo do formato do registro. |
column11 |
ddl , response ou command_line2 |
Pode ser principal.resource.resource_subtype (ddl), security_result.outcomes.value (resposta) ou parte de principal.process.command_line (command_line2), dependendo do formato do registro. |
column12 |
operation , response ou command_line3 |
Pode ser sr.summary (operação), security_result.outcomes.value (resposta) ou parte de principal.process.command_line (command_line3), dependendo do formato do registro. |
column13 |
database ou response |
Pode ser target.resource.name (banco de dados) ou security_result.outcomes.value (resposta), dependendo do formato do registro. |
column14 |
object |
Mapeado diretamente para principal.resource.product_object_id ou target_data.resource.name , dependendo do formato do registro. |
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 do campo column2 no registro bruto. |
column3 |
ip ou hostname |
Pode ser principal.ip ou principal.resource.name , dependendo do formato do registro. |
column4 |
port ou userid |
Pode ser principal.port ou principal.user.userid , dependendo do formato do registro. |
column5 |
userid ou ip |
Pode ser principal.user.userid ou principal.ip , dependendo do formato do registro. |
column6 |
hostname ou connection_id |
Pode ser principal.resource.name ou network.session_id , dependendo do formato do registro. |
column7 |
connection_id ou query_id |
Pode ser network.session_id ou principal.process.pid , dependendo do formato do registro. |
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 , dependendo do formato do registro. |
command_line |
principal.process.command_line |
Mapeado diretamente do campo command_line extraído. |
connection_id |
network.session_id |
Mapeado diretamente do campo connection_id extraído. |
database |
target.resource.name |
Mapeado diretamente do campo database extraído. Derivado de vários campos, como operation , command_line , has_principal_user e has_principal_machine , usando a lógica condicional no analisador. Pode ser RESOURCE_DELETION , RESOURCE_CREATION , RESOURCE_READ , RESOURCE_WRITTEN , USER_RESOURCE_ACCESS , USER_UNCATEGORIZED ou GENERIC_EVENT . Fixado em "AWS_AURORA". Mapeado de column8 ou derivado da lógica do analisador. Fixado em "AURORA". Fixado em "AMAZON". |
has_principal_machine |
has_principal_machine |
Defina como "true" se principal.ip estiver presente. Caso contrário, será inicializado como "false". |
has_principal_user |
has_principal_user |
É definido como "true" se principal.user.userid estiver presente. Caso contrário, será inicializado como "false". |
hostname |
principal.resource.name |
Mapeado diretamente do campo hostname extraído. |
ip |
principal.ip |
Mapeado diretamente 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 "carimbo de tempo". |
object |
target_data.resource.name ou principal.resource.product_object_id |
Mapeado diretamente do campo object extraído. |
operation |
sr.summary |
Mapeado diretamente do campo operation extraído. |
port |
principal.port |
Mapeado diretamente do campo port extraído. |
query_id |
principal.process.pid |
Mapeado diretamente do campo query_id extraído. |
response |
security_result.outcomes.value |
Mapeado diretamente do campo response extraído. |
service |
principal.application |
Mapeado diretamente do campo service no registro bruto. |
src_ip |
principal.ip |
Extraídos 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 |
Conversão para metadata.event_timestamp usando o filtro date . |
user |
principal.user.userid |
Extraídos de logevent.message na estrutura aninhada target.logEvents.logEvents . |
userid |
principal.user.userid |
Mapeado diretamente do campo userid extraído. |
Alterações
2024-01-12
- Mapeou "logEvents.messageType", "logEvents.owner", "logEvents.logGroup" e "logEvents.logStream" para "target.resource.attribute.labels".
- "logEvents.logEvents.message", "logEvents.logEvents.timestamp" e "logEvents.logEvents.id" foram mapeados para "securit_result.detection_fields".
- Um padrão Grok foi adicionado para extrair o endereço IP de "logEvents.logEvents.message" e mapear "src_data" para "principal.ip".
- Mapeamos "user" para "principal.user.userid".
2023-11-02
- Parser recém-criado.
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.