Recopila registros de AWS Aurora
En este documento, se explica cómo transferir registros de AWS Aurora a Google Security Operations. AWS Aurora es un servicio de base de datos relacional administrado que ofrece alto rendimiento, escalabilidad y disponibilidad. En esta integración, configurarás AWS Aurora para que reenvíe registros a Google SecOps para su análisis, supervisión y detección de amenazas.
Antes de comenzar
Asegúrate de cumplir con los siguientes requisitos previos:
- Instancia de Google SecOps
- Acceso privilegiado a AWS
- El clúster de base de datos de AWS Aurora está configurado y en ejecución
Configura el bucket de Amazon S3
- Crea un bucket de Amazon S3 siguiendo esta guía del usuario: Cómo crear un bucket
- Guarda el Nombre y la Región del bucket para usarlos más adelante.
- Crea un usuario siguiendo esta guía del usuario: Cómo crear un usuario de IAM.
- Selecciona el usuario creado.
- Selecciona la pestaña Credenciales de seguridad.
- Haz clic en Crear clave de acceso en la sección Claves de acceso.
- Selecciona Servicio de terceros como el Caso de uso.
- Haz clic en Siguiente.
- Opcional: Agrega una etiqueta de descripción.
- Haz clic en Crear clave de acceso.
- Haz clic en Descargar archivo CSV para guardar la clave de acceso y la clave de acceso secreta para usarlas más adelante.
- Haz clic en Listo.
- Selecciona la pestaña Permisos.
- Haz clic en Agregar permisos en la sección Políticas de permisos.
- Selecciona Agregar permisos.
- Selecciona Adjuntar políticas directamente.
- Busca y selecciona las políticas AmazonS3FullAccess y CloudWatchLogsFullAccess.
- Haz clic en Siguiente.
- Haz clic en Agregar permisos.
Configura la supervisión mejorada
- Accede a la consola de administración de AWS.
- En la barra de búsqueda, escribe RDS y selecciona RDS en la lista de servicios.
- En el Panel de RDS, selecciona Bases de datos en el panel de navegación.
- Selecciona el clúster de Aurora que deseas supervisar.
- En la sección Registros y supervisión, haz clic en Modificar.
- Ve a la sección Monitoring y habilita Enhanced Monitoring.
- Establece el rol de Monitoring en el rol de IAM adecuado que tenga permisos para publicar en CloudWatch Logs o S3.
- Guarda los cambios y aplícalos a tu clúster de Aurora.
Cómo configurar los registros de auditoría de AWS Aurora
- En el panel de RDS, selecciona Bases de datos y haz clic en tu clúster de Aurora.
- En la sección Registros y supervisión, haz clic en Modificar.
- En la sección Opciones de la base de datos, asegúrate de que esté seleccionada la opción Habilitar registros de auditoría.
- En Destino, elige S3 y especifica el bucket de S3 en el que se almacenarán los registros.
- Haz clic en Guardar cambios para aplicar la configuración.
Opcional: Configuración de registros de AWS Aurora con CloudWatch
Para obtener capacidades de supervisión adicionales, puedes configurar CloudWatch Logs para capturar los registros de Aurora.
- En el Panel de RDS, selecciona tu clúster de Aurora.
- En la sección Registros y supervisión, asegúrate de que la integración de Registros de CloudWatch esté habilitada.
- Ve a CloudWatch Logs y crea un grupo de registros nuevo para almacenar los registros de Aurora.
- En la pantalla Log Groups, elige el nombre de tu nuevo Log Group.
- Selecciona Acciones > Exportar datos a Amazon S3.
En la pantalla Export data to Amazon S3, en Define data export, configura el período de los datos que se exportarán con From y To.
En Elegir bucket de S3, selecciona la cuenta asociada al bucket de Amazon S3.
En Nombre del bucket de S3, selecciona un bucket de Amazon S3.
En Prefijo del bucket de S3, ingresa la cadena generada de forma aleatoria que especificaste en la política del bucket.
Elige Exportar para exportar tus datos de registro a Amazon S3.
Para ver el estado de los datos de registro que exportaste a Amazon S3, selecciona Acciones > Ver todas las exportaciones a Amazon S3.
Configura feeds
Existen dos puntos de entrada diferentes para configurar feeds en la plataforma de Google SecOps:
- Configuración de SIEM > Feeds
- Centro de contenido > Paquetes de contenido
Configura feeds desde Configuración del SIEM > Feeds
Para configurar varios feeds para diferentes tipos de registros dentro de esta familia de productos, consulta Cómo configurar feeds por producto.
Para configurar un solo feed, sigue estos pasos:
- Ve a SIEM Settings > Feeds.
- Haz clic en Agregar feed nuevo.
- En la siguiente página, haz clic en Configurar un solo feed.
- En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo, Registros de AWS Aurora).
- Selecciona Amazon S3 como el Tipo de fuente.
- Selecciona AWS Aurora como el Tipo de registro.
- Haz clic en Siguiente.
Especifica valores para los siguientes parámetros de entrada:
- Región: Es la región en la que se encuentra el bucket de Amazon S3.
- URI de S3: Es el URI del bucket.
s3://your-log-bucket-name/
- Reemplaza
your-log-bucket-name
por el nombre real de tu bucket de S3.
- Reemplaza
- El URI es un: Selecciona Directorio o Directorio que incluye subdirectorios, según la estructura de tu bucket.
Opciones de eliminación de la fuente: Selecciona la opción de eliminación según tus preferencias de transferencia.
- Reemplaza
your-log-bucket-name
por el nombre real de tu bucket de S3.
- Reemplaza
ID de clave de acceso: Es la clave de acceso del usuario con permisos para leer desde el bucket de S3.
Clave de acceso secreta: Es la clave secreta del usuario con permisos para leer desde el bucket de S3.
Haz clic en Siguiente.
Revisa la nueva configuración del feed en la pantalla Finalizar y, luego, haz clic en Enviar.
Configura feeds desde el Centro de contenido
Especifica valores para los siguientes campos:
- Región: Es la región en la que se encuentra el bucket de Amazon S3.
- URI de S3: Es el URI del bucket.
s3://your-log-bucket-name/
- Reemplaza
your-log-bucket-name
por el nombre real de tu bucket de S3.
- Reemplaza
- El URI es un: Selecciona Directorio o Directorio que incluye subdirectorios, según la estructura de tu bucket.
- Opciones de eliminación de la fuente: Selecciona la opción de eliminación según tus preferencias de transferencia.
- ID de clave de acceso: Es la clave de acceso del usuario con permisos para leer desde el bucket de S3.
- Clave de acceso secreta: Es la clave secreta del usuario con permisos para leer desde el bucket de S3.
Opciones avanzadas
- Nombre del feed: Es un valor completado previamente que identifica el feed.
- Tipo de fuente: Es el método que se usa para recopilar registros en Google SecOps.
- Espacio de nombres del recurso: Espacio de nombres asociado al feed.
- Etiquetas de transferencia: Son las etiquetas que se aplican a todos los eventos de este feed.
Tabla de asignación de UDM
Campo de registro | Asignación de UDM | Lógica |
---|---|---|
account |
principal.group.product_object_id |
Se asigna directamente desde el campo account en el registro sin procesar. |
column1 |
timestamp_epoch |
Se asigna directamente desde el campo column1 en el registro sin procesar. Se usa para derivar metadata.event_timestamp . |
column10 |
Varía | Puede ser principal.process.command_line , object o number , según el formato del registro. |
column11 |
ddl o response o command_line2 |
Puede ser principal.resource.resource_subtype (ddl), security_result.outcomes.value (response) o parte de principal.process.command_line (command_line2) según el formato de registro. |
column12 |
operation o response o command_line3 |
Puede ser sr.summary (operación), security_result.outcomes.value (respuesta) o parte de principal.process.command_line (command_line3) según el formato del registro. |
column13 |
database o response |
Puede ser target.resource.name (base de datos) o security_result.outcomes.value (respuesta) según el formato del registro. |
column14 |
object |
Se asigna directamente a principal.resource.product_object_id o target_data.resource.name según el formato del registro. |
column15 |
command_line |
Se asigna directamente a principal.process.command_line . |
column16 |
response |
Se asigna directamente a security_result.outcomes.value . |
column2 |
timestamp o timestamp_ms |
Se asigna directamente desde el campo column2 en el registro sin procesar. |
column3 |
ip o hostname |
Puede ser principal.ip o principal.resource.name , según el formato del registro. |
column4 |
port o userid |
Puede ser principal.port o principal.user.userid , según el formato del registro. |
column5 |
userid o ip |
Puede ser principal.user.userid o principal.ip , según el formato del registro. |
column6 |
hostname o connection_id |
Puede ser principal.resource.name o network.session_id , según el formato del registro. |
column7 |
connection_id o query_id |
Puede ser network.session_id o principal.process.pid , según el formato del registro. |
column8 |
operation |
Se asigna directamente a sr.summary o metadata.product_event_type . |
column9 |
query_id o database |
Puede ser principal.process.pid o target_data.resource.name , según el formato del registro. |
command_line |
principal.process.command_line |
Se asigna directamente desde el campo command_line extraído. |
connection_id |
network.session_id |
Se asigna directamente desde el campo connection_id extraído. |
database |
target.resource.name |
Se asigna directamente desde el campo database extraído. Se deriva de varios campos, como operation , command_line , has_principal_user y has_principal_machine , a través de la lógica condicional en el analizador. Puede ser RESOURCE_DELETION , RESOURCE_CREATION , RESOURCE_READ , RESOURCE_WRITTEN , USER_RESOURCE_ACCESS , USER_UNCATEGORIZED o GENERIC_EVENT . Se codifica de forma rígida como "AWS_AURORA". Se asigna desde column8 o se deriva de la lógica del analizador. Se codificó de forma rígida como "AURORA". Se codifica de forma rígida como "AMAZON". |
has_principal_machine |
has_principal_machine |
Se establece en "true" si principal.ip está presente; de lo contrario, se inicializa en "false". |
has_principal_user |
has_principal_user |
Se establece en "true" si principal.user.userid está presente; de lo contrario, se inicializa en "false". |
hostname |
principal.resource.name |
Se asigna directamente desde el campo hostname extraído. |
ip |
principal.ip |
Se asigna directamente desde el campo ip extraído. |
logevent.id |
security_result.detection_fields.value |
Anidado dentro de target.logEvents.logEvents , asignado con la clave "id". |
logevent.message |
security_result.detection_fields.value |
Anidado dentro de target.logEvents.logEvents , asignado con la clave "message". Se usa para extraer principal.ip , time_unix , operation y user . |
logevent.timestamp |
security_result.detection_fields.value |
Anidado dentro de target.logEvents.logEvents , asignado con la clave "timestamp". |
object |
target_data.resource.name o principal.resource.product_object_id |
Se asigna directamente desde el campo object extraído. |
operation |
sr.summary |
Se asigna directamente desde el campo operation extraído. |
port |
principal.port |
Se asigna directamente desde el campo port extraído. |
query_id |
principal.process.pid |
Se asigna directamente desde el campo query_id extraído. |
response |
security_result.outcomes.value |
Se asigna directamente desde el campo response extraído. |
service |
principal.application |
Se asigna directamente desde el campo service en el registro sin procesar. |
src_ip |
principal.ip |
Se extrae de logevent.message dentro de la estructura anidada target.logEvents.logEvents . |
target.logEvents.logGroup |
target.resource.attribute.labels.value |
Se asigna con la clave "logGroup". |
target.logEvents.logStream |
target.resource.attribute.labels.value |
Se asignó con la clave "logStream". |
target.logEvents.messageType |
target.resource.attribute.labels.value |
Se asigna con la clave "messageType". |
target.logEvents.owner |
target.resource.attribute.labels.value |
Se asigna con la clave "owner". |
timestamp_epoch |
metadata.event_timestamp |
Se convirtió a metadata.event_timestamp con el filtro date . |
user |
principal.user.userid |
Se extrae de logevent.message dentro de la estructura anidada target.logEvents.logEvents . |
userid |
principal.user.userid |
Se asigna directamente desde el campo userid extraído. |
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.