Coletar registros do AWS Aurora
Este documento explica como ingerir registros do AWS Aurora no 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 os pré-requisitos a seguir:
- Instância do Google SecOps
- Acesso privilegiado à AWS
- 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: Como criar um bucket
- Salve o Nome e a Região do bucket para uso posterior.
- 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 posterior.
- 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 avançado
- 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 Registros e monitoramento, clique em Modificar.
- Acesse a seção Monitoramento e ative o Monitoramento avançado.
- Defina o papel do Monitoring como o papel apropriado do IAM que tem permissões para publicar no CloudWatch Logs ou no S3.
- Salve as mudanças e aplique-as ao cluster do Aurora.
Como configurar registros de auditoria do AWS Aurora
- No Painel do RDS, selecione Bancos de dados e clique no seu cluster do Aurora.
- Na seção Registros e monitoramento, clique em Modificar.
- Na seção Opções de 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 mudanças para aplicar as configurações.
Opcional: configuração de registros do AWS Aurora usando o CloudWatch
Para mais 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 do CloudWatch Logs está ativada.
- Acesse CloudWatch Logs e crie um grupo de registros para armazenar os registros do Aurora.
- Na tela Grupos de registros, escolha o nome do novo Grupo de registros.
- 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 dos dados a serem exportados usando De e Até.
Escolha o bucket do S3 e selecione a conta associada a ele.
Nome do bucket do S3, selecione um bucket do Amazon S3.
Em Prefixo do bucket do S3, insira a string gerada aleatoriamente especificada na política do bucket.
Escolha Exportar para exportar os dados de registro para o Amazon S3.
Para conferir o status dos dados de registro que você exportou para o Amazon S3, selecione Ações > Ver todas as exportações para o Amazon S3.
Configurar feeds
Há dois pontos de entrada diferentes para configurar feeds na plataforma do Google SecOps:
- Configurações do SIEM > Feeds > Adicionar novo
- Central de conteúdo > Pacotes de conteúdo > Começar
Como configurar o feed do AWS Aurora
- Clique no pacote Amazon Cloud Platform.
- Localize o tipo de registro AWS Aurora.
Especifique os valores nos campos a seguir.
- Tipo de origem: Amazon SQS V2
- Nome da fila: o nome da fila do SQS de onde ler.
- URI do S3: o URI do bucket.
s3://your-log-bucket-name/
- Substitua
your-log-bucket-name
pelo nome real do seu bucket do S3.
- Substitua
Opções de exclusão de origem: selecione a opção de exclusão de acordo com suas preferências de ingestão.
Idade máxima do arquivo: inclui arquivos modificados no último número de dias. O padrão é de 180 dias.
ID da chave de acesso à fila do SQS: uma chave de acesso à conta que é uma string alfanumérica de 20 caracteres.
Chave de acesso secreta da fila do SQS: uma chave de acesso da conta que é uma string alfanumérica de 40 caracteres.
Opções avançadas
- Nome do feed: um valor pré-preenchido que identifica o feed.
- Namespace do recurso: namespace associado ao feed.
- Rótulos de ingestão: rótulos aplicados a todos os eventos deste feed.
Clique em Criar feed.
Para mais informações sobre como configurar vários feeds para diferentes tipos de registros nessa família de produtos, consulte Configurar feeds por produto.
Tabela de mapeamento da 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 (response) 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 , por meio 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 como "AWS_AURORA". Mapeado de column8 ou derivado da lógica do analisador. Codificado como "AURORA". Codificado como "AMAZON". |
has_principal_machine |
has_principal_machine |
Definido 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 "timestamp". |
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í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 para metadata.event_timestamp usando o filtro date . |
user |
principal.user.userid |
Extraído de logevent.message na estrutura aninhada target.logEvents.logEvents . |
userid |
principal.user.userid |
Mapeado diretamente do campo userid extraído. |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.