Trilhas de auditoria - AWS Orientação prescritiva

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Trilhas de auditoria

A trilha de auditoria (ou registro de auditoria) fornece um registro cronológico e relevante para a segurança dos eventos em sua conta da AWS. Inclui eventos para o Amazon RDS, que fornecem evidências documentais da sequência de atividades que afetaram seu banco de dados ou seu ambiente de nuvem. No Amazon RDS para MySQL ou MariaDB, o uso da trilha de auditoria envolve:

  • Monitoramento do registro de auditoria da instância de banco de dados

  • Monitoramento de chamadas de API do Amazon RDS emAWS CloudTrail

Para uma instância de banco de dados Amazon RDS, os objetivos da auditoria geralmente incluem:

  • Permitindo a responsabilidade pelo seguinte:

    • Modificações realizadas no parâmetro ou na configuração de segurança

    • Ações executadas em um esquema, tabela ou linha do banco de dados, ou ações que afetam conteúdo específico

  • Detecção e investigação de intrusões

  • Detecção e investigação de atividades suspeitas

  • Detecção de problemas de autorização; por exemplo, para identificar abusos de direitos de acesso por usuários regulares ou privilegiados

A trilha de auditoria do banco de dados tenta responder a essas perguntas típicas:Quem visualizou ou modificou dados confidenciais em seu banco de dados? Quando isso aconteceu? De onde um usuário específico acessou os dados? Usuários privilegiados abusaram de seus direitos de acesso ilimitado?

Tanto o MySQL quanto o MariaDB implementam o recurso de trilha de auditoria da instância de banco de dados usando o MariaDB Audit Plugin. Esse plug-in registra a atividade do banco de dados, como usuários fazendo login no banco de dados e consultas em execução no banco de dados. O registro da atividade do banco de dados é armazenado em um arquivo de log. Para acessar o log de auditoria, a instância de banco de dados deve usar um grupo de opções personalizado com a opção MARIADB_AUDIT_PLUGIN. Para obter mais informações, consulteSuporte do MariaDB Audit Plugin para MySQLna documentação do Amazon RDS. Os registros no registro de auditoria são armazenados em um formato específico, conforme definido pelo plug-in. Você pode encontrar mais detalhes sobre o formato do registro de auditoria naDocumentação do MariaDB Server.

ONuvem AWStrilha de auditoria para suaAWSa conta é fornecida peloAWS CloudTrailserviço. CloudTrailcaptura chamadas de API para o Amazon RDS como eventos. Todas as ações do Amazon RDS são registradas. CloudTrailfornece um registro das ações no Amazon RDS realizadas por um usuário, função ou outroAWSserviço. Os eventos incluem ações realizadas noAWSConsole de gerenciamento,AWS CLI, eAWSSDKs e APIs.

Exemplo

Em um cenário de auditoria típico, talvez seja necessário combinarAWS CloudTrailtrilhas com o registro de auditoria do banco de dados e o monitoramento de eventos do Amazon RDS. Por exemplo, você pode ter um cenário em que os parâmetros do banco de dados da sua instância de banco de dados Amazon RDS (por exemplo,database-1) foram modificados e sua tarefa é identificar quem fez a modificação, o que foi alterado e quando a mudança aconteceu.

Para realizar a tarefa, siga estas etapas:

  1. Liste os eventos do Amazon RDS que aconteceram com a instância do banco de dadosdatabase-1e determine se há um evento na categoriaconfiguration changeque tem a mensagemFinished updating DB parameter group.

    $ aws rds describe-events --source-identifier database-1 --source-type db-instance { "Events": [ { "SourceIdentifier": "database-1", "SourceType": "db-instance", "Message": "Finished updating DB parameter group", "EventCategories": [ "configuration change" ], "Date": "2022-12-01T09:22:40.413000+00:00", "SourceArn": "arn:aws:rds:eu-west-3:111122223333:db:database-1" } ] }
  2. Identifique qual grupo de parâmetros de banco de dados a instância de banco de dados está usando:

    $ aws rds describe-db-instances --db-instance-identifier database-1 --query 'DBInstances[*].[DBInstanceIdentifier,Engine,DBParameterGroups]' [ [ "database-1", "mariadb", [ { "DBParameterGroupName": "mariadb10-6-test", "ParameterApplyStatus": "pending-reboot" } ] ] ]
  3. Use oAWS CLIpara pesquisarCloudTraileventosna região ondedatabase-1é implantado, no período em torno do evento Amazon RDS descoberto na etapa 1, e ondeEventName=ModifyDBParameterGroup.

    $ aws cloudtrail --region eu-west-3 lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=ModifyDBParameterGroup --start-time "2022-12-01, 09:00 AM" --end-time "2022-12-01, 09:30 AM" { "eventVersion": "1.08", "userIdentity": { "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::111122223333:role/Role1", "accountId": "111122223333", "userName": "User1" } } }, "eventTime": "2022-12-01T09:18:19Z", "eventSource": "rds.amazonaws.com", "eventName": "ModifyDBParameterGroup", "awsRegion": "eu-west-3", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "requestParameters": { "parameters": [ { "isModifiable": false, "applyMethod": "pending-reboot", "parameterName": "innodb_log_buffer_size", "parameterValue": "8388612" }, { "isModifiable": false, "applyMethod": "pending-reboot", "parameterName": "innodb_write_io_threads", "parameterValue": "8" } ], "dBParameterGroupName": "mariadb10-6-test" }, "responseElements": { "dBParameterGroupName": "mariadb10-6-test" }, "requestID": "fdf19353-de72-4d3d-bf29-751f375b6378", "eventID": "0bba7484-0e46-4e71-93a8-bd01ca8386fe", "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management", "sessionCredentialFromConsole": "true" }

OCloudTrailevento revela queUser1com papelRole1desdeAWSa conta 111122223333 modificou o grupo de parâmetros do banco de dadosmariadb10-6-test, que foi usado pela instância de banco de dadosdatabase-1em2022-12-01 at 09:18:19 h. Dois parâmetros foram modificados e definidos com os seguintes valores:

  • innodb_log_buffer_size = 8388612

  • innodb_write_io_threads = 8

AdicionalCloudTraileCloudWatchRecursos de registros

Você pode solucionar incidentes operacionais e de segurança nos últimos 90 dias visualizandoHistórico do eventonoCloudTrailconsole. Para estender o período de retenção e aproveitar os recursos adicionais de consulta, você pode usarAWS CloudTrailLago. ComAWS CloudTrailLake, você pode manter os dados de eventos em um armazenamento de dados de eventos por até sete anos. Além disso, o serviço oferece suporte a consultas SQL complexas que oferecem uma visão mais profunda e personalizável dos eventos do que as visualizações fornecidas por pesquisas simples de valores-chave noHistórico do evento.

Para monitorar suas trilhas de auditoria, definir alarmes e receber notificações quando uma atividade específica ocorrer, você precisaconfiguramCloudTrailpara enviar seus registros de trilhas paraCloudWatchRegistros. Depois que os registros da trilha forem armazenados comoCloudWatchRegistros, você pode definir filtros métricos para avaliar eventos de registro para corresponder a termos, frases ou valores e atribuir métricas a filtros métricos. Além disso, você pode criarCloudWatchalarmes que são gerados de acordo com os limites e períodos de tempo especificados por você. Por exemplo, você pode configurar alarmes que enviam notificações às equipes responsáveis, para que elas possam tomar as medidas apropriadas. Você também pode configurar CloudWatch para realizar uma ação automaticamente em resposta a um alarme.