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 (o registro de auditoría) proporciona un registro cronológico y relevante para la seguridad de los eventos de su cuenta de AWS. Incluye eventos para Amazon RDS, que proporcionan pruebas documentales de la secuencia de actividades que han afectado a su base de datos o a su 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 base de datos

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

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

  • Permitir la rendición de cuentas en relación con lo siguiente:

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

    • Acciones realizadas 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 de los derechos de acceso por parte de usuarios habituales o privilegiados

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

Tanto MySQL como MariaDB implementan la función de registro de auditoría de instancias de base de datos mediante el complemento de auditoría MariaDB. Este complemento registra la actividad de la base de datos, como los usuarios que inician sesión 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 obtener más información, consulteSoporte del complemento de auditoría MariaDB para MySQLen la documentación de Amazon RDS. Los registros del registro de auditoría se almacenan en un formato específico, tal como lo define el complemento. Puede encontrar más información sobre el formato del registro de auditoría enDocumentación del servidor MariaDB.

ElNube de AWSregistro de auditoría para suAWSla cuenta es proporcionada porAWS CloudTrailservicio. CloudTrailcaptura las llamadas a la API para Amazon RDS como eventos. Se registran todas las acciones de Amazon RDS. CloudTrailproporciona un registro de las acciones en Amazon RDS realizadas por un usuario, un rol u otroAWSservicio. Los eventos incluyen las acciones emprendidas en elAWSConsola de administración,AWS CLI, yAWSSDK y API.

Ejemplo

En un escenario de auditoría típico, es posible que deba combinarAWS CloudTrailrastrea con el registro de auditoría de la base de datos y la monitorización de eventos de Amazon RDS. Por ejemplo, puede darse un escenario en el que los parámetros de la base de datos de su instancia de base de datos de Amazon RDS (por ejemplo,database-1) se han modificado y su tarea consiste en identificar quién hizo la modificación, qué se cambió y cuándo se produjo el cambio.

Para realizar la tarea, siga estos pasos:

  1. Enumere los eventos de Amazon RDS que se produjeron en la instancia de base de datosdatabase-1y determinar si hay un evento en la categoríaconfiguration changeque tiene el mensajeFinished 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 qué grupo de parámetros de base de datos 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 elAWS CLIbuscarCloudTraileventosen la región dondedatabase-1se implementa, en el período de tiempo que rodea al evento de Amazon RDS descubierto en el paso 1 y dondeEventName=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" }

ElCloudTrailel evento revela queUser1con rolRole1deAWSla cuenta 111122223333 modificó el grupo de parámetros de base de datosmariadb10-6-test, que utilizaba la instancia de base de datosdatabase-1en2022-12-01 at 09:18:19 h. Se modificaron dos parámetros y se fijaron en los siguientes valores:

  • innodb_log_buffer_size = 8388612

  • innodb_write_io_threads = 8

AdicionalCloudTrailyCloudWatchCaracterísticas de los registros

Puede solucionar los incidentes operativos y de seguridad de los últimos 90 días consultandoHistorial de eventosen elCloudTrailconsola. Para ampliar el período de retención y aprovechar las capacidades de consulta adicionales, puede utilizarAWS CloudTraillago. ConAWS CloudTrailLake, puede guardar los datos de eventos en un almacén de datos de eventos durante un máximo de siete años. Además, el servicio admite consultas SQL complejas que ofrecen una visión más profunda y personalizable de los eventos que las vistas que proporcionan las simples búsquedas de valores clave enHistorial de eventos.

Para supervisar sus registros de auditoría, configurar alarmas y recibir notificaciones cuando se produzca una actividad específica, debeconfiguraCloudTrailpara enviar sus registros de rutas aCloudWatchRegistros. Después de que los registros de la ruta se almacenen comoCloudWatchRegistros: puede definir filtros de métricas para evaluar los eventos del registro para que coincidan con términos, frases o valores, y asignar métricas a los filtros de métricas. Además, puedes crearCloudWatchalarmas que se generan de acuerdo con los umbrales y los períodos de tiempo que especifique. 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 automáticamente una acción en respuesta a una alarma.