Recopila registros de AWS Redshift
Versión del analizador: 1.0
En este documento, se explica cómo transferir registros de AWS Redshift a Google Security Operations con Amazon S3.
Amazon Redshift es un servicio de almacén de datos en la nube a escala de petabytes completamente administrado de Amazon Web Services. Permite realizar consultas y análisis rápidos en grandes conjuntos de datos con herramientas basadas en SQL y aplicaciones de inteligencia empresarial. Amazon Redshift registra la actividad de la base de datos, incluidos los intentos de autenticación, las conexiones, las desconexiones, los cambios en la definición de los usuarios y las consultas ejecutadas en la base de datos. Esta integración usa la función de registro de auditoría nativa de Amazon Redshift para entregar archivos de registro a un bucket de S3, que Google SecOps luego transfiere con un feed de Amazon S3 V2.
Antes de comenzar
Asegúrate de cumplir con los siguientes requisitos previos:
- Una instancia de Google SecOps
- Acceso privilegiado a la consola de administración de AWS con permisos para administrar lo siguiente:
- Amazon Redshift (clústeres, grupos de parámetros)
- Amazon S3 (buckets, políticas de bucket)
- IAM de AWS (usuarios, políticas)
Configura un bucket de S3 para el registro de auditoría de Amazon Redshift
Amazon Redshift sube archivos de registro de auditoría a un bucket de S3. Debes configurar la política del bucket de S3 para permitir que el servicio de Amazon Redshift escriba archivos de registro.
Crea y configura el bucket de 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 consultarlos en el futuro (por ejemplo,
redshift-audit-logs-to-secops).Selecciona el bucket creado en la consola de Amazon S3 en https://console.aws.amazon.com/s3.
Selecciona la pestaña Permisos.
En la sección Política del bucket, haz clic en Editar.
Agrega la siguiente política de bucket (reemplaza
redshift-audit-logs-to-secopspor el nombre de tu bucket):{ "Version": "2012-10-17", "Statement": [ { "Sid": "Put bucket policy needed for audit logging", "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": [ "s3:PutObject", "s3:GetBucketAcl" ], "Resource": [ "arn:aws:s3:::redshift-audit-logs-to-secops", "arn:aws:s3:::redshift-audit-logs-to-secops/*" ] } ] }Haz clic en Guardar cambios.
Habilita el parámetro de registro de actividad del usuario
El registro de conexión y el registro de usuario se capturan automáticamente cuando se habilita el registro de auditoría. Para capturar también el registro de actividad del usuario (que registra cada búsqueda antes de que se ejecute en la base de datos), debes habilitar el parámetro de base de datos enable_user_activity_logging.
- Accede a la consola de Amazon Redshift en https://console.aws.amazon.com/redshiftv2/.
- En el menú de navegación, ve a Configuraciones > Administración de cargas de trabajo.
- Selecciona el grupo de parámetros asociado a tu clúster.
- Selecciona la pestaña Parámetros.
- Haz clic en Editar parámetros.
- Establece el valor del parámetro enable_user_activity_logging en true.
Haz clic en Guardar.
Habilita el registro de auditoría de Amazon Redshift en S3
- Accede a la consola de Amazon Redshift en https://console.aws.amazon.com/redshiftv2/.
- En el menú de navegación, selecciona Clústeres y, luego, el clúster que deseas configurar.
- Selecciona la pestaña Propiedades.
- En el panel Configuraciones de la base de datos, haz clic en Editar y, luego, selecciona Editar el registro de auditoría.
- En la página Editar registro de auditoría, selecciona Activar.
- En Destino de registros, selecciona Bucket de S3.
- En Bucket de S3, selecciona el bucket que configuraste (por ejemplo,
redshift-audit-logs-to-secops). - Opcional: Ingresa un prefijo de clave de S3 para organizar los archivos de registro dentro del bucket (por ejemplo,
audit-logs/). - Selecciona los registros que quieres exportar:
- Registro de conexión: Intentos de autenticación, conexiones y desconexiones
- Registro de usuarios: Cambios en las definiciones de usuarios de la base de datos
- Registro de actividad del usuario: Cada consulta antes de que se ejecute en la base de datos
- Haz clic en Guardar cambios.
Para obtener más información, consulta Registro de auditoría de la base de datos en la Guía de administración de Amazon Redshift.
Configura un usuario de IAM para Google SecOps
Google SecOps necesita un usuario de IAM con acceso de lectura al bucket de S3 para transferir los registros de auditoría exportados.
- Crea un usuario siguiendo esta guía del usuario: Crea 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 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 consultarlas en el futuro.
- 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 la política AmazonS3FullAccess.
- Selecciona la política.
- Haz clic en Siguiente.
- Haz clic en Agregar permisos.
Configura un feed en Google SecOps para transferir registros de AWS Redshift
- Ve a Configuración de SIEM > Feeds.
- Haz clic en Agregar feed nuevo.
- En la siguiente página, haz clic en Configurar un solo feed.
- Ingresa un nombre único para el Nombre del feed.
- Selecciona Amazon S3 V2 como el Tipo de fuente.
- Selecciona AWS Redshift como el Tipo de registro.
- Haz clic en Siguiente y, luego, en Enviar.
Especifica valores para los siguientes campos:
- URI de S3:
s3://redshift-audit-logs-to-secops/audit-logs/ - Opción de eliminación del código fuente: Selecciona la opción de eliminación según tu preferencia.
- Antigüedad máxima del archivo: Incluye los archivos modificados en la última cantidad de días (el valor predeterminado es 180 días).
- ID de clave de acceso: Es la clave de acceso del usuario con acceso al bucket de S3.
- Clave de acceso secreta: Clave secreta del usuario con acceso al bucket de S3
- Espacio de nombres del recurso: Es el espacio de nombres del recurso.
- Etiquetas de transferencia: Es la etiqueta que se aplicará a los eventos de este feed.
- URI de S3:
Haz clic en Siguiente y, luego, en Enviar.
Tabla de asignación de UDM
| Campo de registro | Asignación de UDM | Lógica |
|---|---|---|
func_label |
additional.fields |
Combinado |
lpclagg_label |
additional.fields |
Combinado |
lpcltype_label |
additional.fields |
Combinado |
msg |
metadata.description |
Asignada directamente |
has_principal |
metadata.event_type |
Asignado: true → STATUS_UPDATE |
has_target_resource |
metadata.event_type |
Asignado: true → USER_RESOURCE_ACCESS |
has_user |
metadata.event_type |
Asignado: true → USER_UNCATEGORIZED |
column1 |
metadata.product_event_type |
Asignada directamente |
requestID |
metadata.product_log_id |
Asignada directamente |
column20 |
network.application_protocol_version |
Asignada directamente |
column9 |
network.session_duration.seconds |
Se cambió el nombre o se asignó |
column21 |
network.session_id |
Asignada directamente |
xid |
network.session_id |
Asignada directamente |
column11 |
network.tls.cipher |
Asignada directamente |
column10 |
network.tls.version |
Asignada directamente |
column16 |
principal.application |
Asignada directamente |
column3 |
principal.asset.ip |
Combinado |
log_event.src_ip |
principal.asset.ip |
Combinado |
column3 |
principal.hostname |
Asignada directamente |
column3 |
principal.ip |
Combinado |
log_event.src_ip |
principal.ip |
Combinado |
region |
principal.location.name |
Asignada directamente |
column17 |
principal.platform_version |
Asignada directamente |
column4 |
principal.port |
Asignada directamente |
column5 |
principal.process.pid |
Asignada directamente |
pid |
principal.process.pid |
Asignada directamente |
accountID |
principal.user.userid |
Asignada directamente |
user_id |
principal.user.userid |
Asignada directamente |
authmethod_label |
security_result.detection_fields |
Combinado |
compression_label |
security_result.detection_fields |
Combinado |
driver_version_label |
security_result.detection_fields |
Combinado |
iamauthguid_label |
security_result.detection_fields |
Combinado |
mtu_label |
security_result.detection_fields |
Combinado |
plugin_name_label |
security_result.detection_fields |
Combinado |
ssl_compression_label |
security_result.detection_fields |
Combinado |
ssl_expansion_label |
security_result.detection_fields |
Combinado |
level |
security_result.severity |
Asignación: (?i)Info → INFORMATIONAL, (?i)Error → ERROR, (?i)Warning → MEDIUM |
file |
target.file.full_path |
Asignada directamente |
expected_bucket_label |
target.resource.attribute.labels |
Combinado |
expected_s3_prefix_label |
target.resource.attribute.labels |
Combinado |
sql_query_label |
target.resource.attribute.labels |
Combinado |
time_zone_label |
target.resource.attribute.labels |
Combinado |
ClusterIdentifier |
target.resource.name |
Asignada directamente |
column6 |
target.resource.name |
Asignada directamente |
db |
target.resource.name |
Asignada directamente |
column7 |
target.user.user_display_name |
Asignada directamente |
user |
target.user.user_display_name |
Asignada directamente |
| N/A | metadata.event_type |
Constante: USER_RESOURCE_ACCESS |
| N/A | security_result.severity |
Constante: INFORMATIONAL |
| N/A | target.resource.type |
Constante: DATABASE |
Registro de cambios
Consulta el registro de cambios de este analizador
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.