Recoger registros de AWS Aurora

Disponible en:

En este documento se explica cómo ingerir registros de AWS Aurora en Google Security Operations. AWS Aurora es un servicio de base de datos relacional gestionado que ofrece alto rendimiento, escalabilidad y disponibilidad. En esta integración, configurarás AWS Aurora para que reenvíe los registros a Google SecOps para analizarlos, monitorizarlos y detectar amenazas.

Antes de empezar

Asegúrate de que cumples 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 funcionamiento.

Configurar un segmento de Amazon S3

  1. Crea un segmento de Amazon S3 siguiendo esta guía del usuario: Crear un segmento.
  2. Guarda el nombre y la región del bucket para usarlos más adelante.
  3. Crea un usuario siguiendo esta guía: Crear un usuario de gestión de identidades y accesos.
  4. Selecciona el usuario creado.
  5. Selecciona la pestaña Credenciales de seguridad.
  6. En la sección Claves de acceso, haz clic en Crear clave de acceso.
  7. Selecciona Servicio de terceros como Caso práctico.
  8. Haz clic en Siguiente.
  9. Opcional: añade una etiqueta de descripción.
  10. Haz clic en Crear clave de acceso.
  11. Haz clic en Descargar archivo CSV para guardar la clave de acceso y la clave de acceso secreta para usarlas más adelante.
  12. Haz clic en Listo.
  13. Selecciona la pestaña Permisos.
  14. En la sección Políticas de permisos, haz clic en Añadir permisos.
  15. Selecciona Añadir permisos.
  16. Seleccione Adjuntar políticas directamente.
  17. Busca y selecciona las políticas AmazonS3FullAccess y CloudWatchLogsFullAccess.
  18. Haz clic en Siguiente.
  19. Haz clic en Añadir permisos.

Configurar la monitorización mejorada

  1. Inicia sesión en la consola de administración de AWS.
  2. En la barra de búsqueda, escribe RDS y selecciona RDS en la lista de servicios.
  3. En el panel de control de RDS, selecciona Bases de datos en el panel de navegación.
  4. Selecciona el clúster de Aurora que quieras monitorizar.
  5. En la sección Registros y monitorización, haga clic en Modificar.
  6. Ve a la sección Monitorización y habilita Monitorización mejorada.
  7. Asigna el rol de monitorización al rol de gestión de identidades y accesos adecuado que tenga permisos para publicar en CloudWatch Logs o S3.
  8. Guarda los cambios y aplícalos al clúster de Aurora.

Cómo configurar los registros de auditoría de AWS Aurora

  1. En el panel de control de RDS, selecciona Bases de datos y haz clic en tu clúster de Aurora.
  2. En la sección Registros y monitorización, haz clic en Modificar.
  3. En la sección Opciones de la base de datos, comprueba que esté seleccionada la opción Habilitar registros de auditoría.
  4. En Destino, elija S3 y especifique el contenedor de S3 en el que se almacenarán los registros.
  5. Haz clic en Guardar cambios para aplicar la configuración.

Opcional: Configuración de registros de AWS Aurora con CloudWatch

Para obtener más funciones de monitorización, puedes configurar CloudWatch Logs para capturar los registros de Aurora.

  1. En el panel de control de RDS, selecciona tu clúster de Aurora.
  2. En la sección Registros y monitorización, comprueba que la integración de CloudWatch Logs esté habilitada.
  3. Ve a CloudWatch Logs y crea un grupo de registros para almacenar los registros de Aurora.
  4. En la pantalla Grupos de registros, elige el nombre del nuevo Grupo de registros.
  5. Seleccione Acciones > Exportar datos a Amazon S3.
  6. En la pantalla Exportar datos a Amazon S3, en Definir exportación de datos, indica el periodo de los datos que quieres exportar con Desde y Hasta.

  7. Elegir contenedor de S3 y selecciona la cuenta asociada al contenedor de Amazon S3.

  8. En Nombre del segmento de S3, seleccione un segmento de Amazon S3.

  9. En Prefijo de segmento de S3, introduce la cadena generada aleatoriamente que has especificado en la política del segmento.

  10. Elige Exportar para exportar los datos de registro a Amazon S3.

  11. Para ver el estado de los datos de registro que ha exportado a Amazon S3, seleccione Acciones > Ver todas las exportaciones a Amazon S3.

Configurar feeds

Hay dos puntos de entrada diferentes para configurar feeds en la plataforma Google SecOps:

  • Configuración de SIEM > Feeds > Añadir nuevo
  • Centro de contenido > Paquetes de contenido > Empezar

Cómo configurar el feed de AWS Aurora

  1. Haz clic en el paquete Amazon Cloud Platform.
  2. Busca el tipo de registro AWS Aurora.
  3. Especifique los valores en los campos siguientes.

    • Tipo de fuente: Amazon SQS V2
    • Nombre de la cola: el nombre de la cola de SQS de la que se va a leer.
    • URI de S3: el URI del segmento.
      • s3://your-log-bucket-name/
        • Sustituye your-log-bucket-name por el nombre real de tu segmento de S3.
    • Opciones de eliminación de la fuente: selecciona la opción de eliminación que prefieras según tus preferencias de ingesta.

    • Antigüedad máxima del archivo: incluye los archivos modificados en los últimos días. El valor predeterminado es de 180 días.

    • ID de clave de acceso a la cola de SQS: una clave de acceso de cuenta que es una cadena alfanumérica de 20 caracteres.

    • Clave de acceso secreta de la cola de SQS: una clave de acceso de cuenta que es una cadena alfanumérica de 40 caracteres.

    Opciones avanzadas

    • Nombre del feed: valor rellenado automáticamente que identifica el feed.
    • Espacio de nombres del recurso: espacio de nombres asociado al feed.
    • Etiquetas de ingestión: etiquetas aplicadas a todos los eventos de este feed.
  4. Haga clic en Crear feed.

Para obtener más información sobre cómo configurar varios feeds para diferentes tipos de registros en esta familia de productos, consulta el artículo Configurar feeds por producto.

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 del registro sin procesar.
column1 timestamp_epoch Se asigna directamente desde el campo column1 del 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, 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) en función del formato del registro.
column12 operation, 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) en función del 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 Asignado directamente a principal.process.command_line.
column16 response Asignado directamente a security_result.outcomes.value.
column2 timestamp o timestamp_ms Se asigna directamente desde el campo column2 del 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, mediante la lógica condicional del analizador. Puede ser RESOURCE_DELETION, RESOURCE_CREATION, RESOURCE_READ, RESOURCE_WRITTEN, USER_RESOURCE_ACCESS, USER_UNCATEGORIZED o GENERIC_EVENT. Codificado como "AWS_AURORA". Se asigna desde column8 o se deriva de la lógica del analizador. Codificado como "AURORA". Codificado como "AMAZON".
has_principal_machine has_principal_machine Se asigna el valor "true" si principal.ip está presente. De lo contrario, se inicializa con el valor "false".
has_principal_user has_principal_user Se asigna el valor "true" si principal.user.userid está presente. De lo contrario, se inicializa con el valor "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 en target.logEvents.logEvents, asignado con la clave "id".
logevent.message security_result.detection_fields.value Anidado en 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 en 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 del registro sin procesar.
src_ip principal.ip Extraído de logevent.message dentro de la estructura anidada target.logEvents.logEvents.
target.logEvents.logGroup target.resource.attribute.labels.value Asignado con la clave "logGroup".
target.logEvents.logStream target.resource.attribute.labels.value Asignado con la clave "logStream".
target.logEvents.messageType target.resource.attribute.labels.value Asignado con la clave "messageType".
target.logEvents.owner target.resource.attribute.labels.value Asignado con la clave "owner".
timestamp_epoch metadata.event_timestamp Se ha convertido a metadata.event_timestamp con el filtro date.
user principal.user.userid Extraído 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? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.