Registros de seguimiento de auditoría - AWS Guía prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Registros de seguimiento de auditoría

El registro de auditoría proporciona un registro cronológico y relevante para la seguridad de los eventos que se producen en su Cuenta de AWS. Incluye eventos para Amazon RDS que proporcionan pruebas documentales de la secuencia de actividades que afectaron a la base de datos o al entorno de nube. En Amazon RDS para MySQL o MariaDB, el uso del registro de auditoría implica:

  • Supervisión del registro de auditoría de la instancia de bases de datos

  • Supervisión de las llamadas a la API de Amazon RDS en AWS CloudTrail

En el caso de una instancia de bases de datos de Amazon RDS, los objetivos de la auditoría suelen incluir lo siguiente:

  • Habilitar la responsabilidad de lo siguiente:

    • Modificaciones hechas en el parámetro o la configuración de seguridad

    • Acciones hechas en un esquema, tabla o fila de una base de datos, o acciones que afectan a un contenido específico

  • Detección e investigación de intrusiones

  • Detección e investigación de actividades sospechosas

  • Detección de problemas de autorización, por ejemplo, para identificar abusos en los derechos de acceso por parte de usuarios habituales o con privilegios

El registro de auditoría de la base de datos intenta responder a estas preguntas típicas: ¿Quién vio o modificó la información confidencial de la base de datos? ¿Cuándo sucedió esto? ¿Desde dónde accedió un usuario específico a los datos? ¿Los usuarios privilegiados abusaron de sus derechos de acceso ilimitado?

MySQL y MariaDB implementan la característica de registro de auditoría de la instancia de bases de datos mediante el complemento de auditoría de MariaDB. Este complemento registra la actividad de la base de datos, como el registro de los usuarios en la base de datos y las consultas que se ejecutan en la base de datos. El registro de la actividad de la base de datos se almacena en un archivo de registro. Para acceder al registro de auditoría, la instancia de base de datos debe usar un grupo de opciones personalizado con la opción MARIADB_AUDIT_PLUGIN. Para más información, consulte Compatibilidad del complemento de auditoría de MariaDB para MySQL en la documentación de Amazon RDS. Las entradas del registro de auditoría se almacenan en un formato específico, según lo define el complemento. Puede encontrar más detalles acerca del formato del registro de auditoría en la documentación del servidor de MariaDB.

El registro de auditoría de Nube de AWS para su cuenta de AWS se proporciona mediante el servicio AWS CloudTrail. CloudTrail captura las llamadas a la API de Amazon RDS como eventos. Todas las acciones de Amazon RDS se registran. CloudTrail proporciona un registro de las acciones en Amazon RDS que hace un usuario, un rol u otro servicio de AWS. Los eventos incluyen las acciones llevadas a cabo en la Consola de administración de AWS, la AWS CLI y los SDK y API de AWS

Ejemplo

En un escenario de una auditoría típica, es posible que tenga que combinar los registros de AWS CloudTrail con el registro de auditoría de la base de datos y la supervisión de eventos de Amazon RDS. Por ejemplo, podría tener un escenario en el que los parámetros de la base de datos de la instancia de bases de datos de Amazon RDS (por ejemplo database-1) se hayan modificado y la tarea consista en identificar quién hizo la modificación, qué se cambió y cuándo se produjo el cambio.

Para llevar a cabo la tarea, haga esto:

  1. Enumere los eventos de Amazon RDS que se produjeron en la instancia de base de datos database-1 y determine si hay algún evento en la categoría configuration change que contiene el mensaje Finished 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 el grupo de parámetros de base de datos que utiliza la instancia de base de datos:

    $ 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. Utilice la AWS CLI para buscar los eventos de CloudTrail en la región en la que se implementó database-1, en el periodo cercano al evento de Amazon RDS detectado en el paso 1 y donde EventName=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" }

El evento de CloudTrail revela que User1 con el rol Role1 de la cuenta de AWS 111122223333 modificó el grupo de parámetros de base de datos mariadb10-6-test, que utilizaba la instancia de bases de datos database-1 en 2022-12-01 at 09:18:19 h. Se modificaron dos parámetros y se establecieron en los siguientes valores:

  • innodb_log_buffer_size = 8388612

  • innodb_write_io_threads = 8

Características adicionales de CloudTrail y Registros de CloudWatch

Puede resolver los problemas operativos y los incidentes de seguridad durante los últimos 90 días con Historial de eventos en la consola de CloudTrail. Para ampliar el periodo de retención y aprovechar las funcionalidades de consulta adicionales, puede utilizar AWS CloudTrail Lake. Con AWS CloudTrail Lake, puede conservar los datos de los eventos en un almacén de datos de eventos durante hasta siete años. Además, el servicio admite consultas SQL complejas que ofrecen una vista más detallada y personalizable de los eventos que las vistas proporcionadas por las búsquedas de clave-valor sencillas en Historial de eventos.

Para supervisar los registros de auditoría, configurar las alarmas y recibir las notificaciones cuando se produzca una actividad específica, debe configurar CloudTrail para que envíe sus registros de seguimiento a Registros de CloudWatch. Después de almacenar los registros de seguimiento como Registros de CloudWatch, puede definir los filtros de las métricas para evaluar los eventos de registro para que coincidan con los términos, las frases o los valores, y asignar métricas a los filtros de las métricas. Además, puede crear alarmas de CloudWatch que se generan de acuerdo con los umbrales y los periodos especificados. Por ejemplo, puede configurar alarmas que envíen notificaciones a los equipos responsables, para que puedan tomar las medidas adecuadas. También puede configurar CloudWatch para que realice de forma automática una acción en respuesta a una alarma.