Recopila registros de flujo de la puerta de enlace de tránsito de Amazon VPC
Versión del analizador: 3.0
En este documento, se explica cómo transferir registros de flujo de la puerta de enlace de tránsito de VPC de Amazon a Google Security Operations con Amazon S3 o Amazon Kinesis Data Firehose. Los registros de flujo de Transit Gateway capturan metadatos detallados del tráfico de red (IPs de origen y destino, puertos, protocolos, recuentos de bytes y paquetes, acciones) en todos tus adjuntos de Transit Gateway. Estos datos permiten la supervisión de la seguridad, la detección de anomalías y la auditoría de cumplimiento en Google SecOps.
Antes de comenzar
Asegúrate de cumplir con los siguientes requisitos previos:
- Es una instancia de Google SecOps.
- Acceso con privilegios a AWS con permisos para realizar las siguientes acciones:
- Crea y administra registros de flujo de la puerta de enlace de tránsito
- Crea buckets de S3 (para la opción de exportación a S3)
- Crea usuarios, políticas y roles de IAM
- Configura los flujos de entrega de Kinesis Data Firehose (para la opción Firehose)
- Acceder a CloudWatch Logs y crear filtros de suscripción (para la opción de Firehose)
Opción: Exportar a Amazon S3
Habilita los registros de flujo de la puerta de enlace de tránsito (en S3)
- Abre la consola de Amazon VPC en https://console.aws.amazon.com/vpc/.
- En el panel de navegación, elige Puertas de enlace de tránsito.
- Selecciona las casillas de verificación de una o más puertas de enlace de tránsito y elige Acciones > Crear registro de flujo.
- En Destino, selecciona Enviar a un bucket de Amazon S3.
En ARN del bucket de S3, ingresa el ARN de un bucket de S3 existente (por ejemplo,
arn:aws:s3:::tgw-flowlogs-bucket).En Formato de registro, selecciona el formato del registro de flujo:
- Formato predeterminado de AWS: Incluye todos los campos de la versión 2 a la 6.
- Formato personalizado: Selecciona solo los campos que necesitas.
En Formato de archivo de registro, selecciona Texto (predeterminado) o Parquet.
En Prefijo de S3 compatible con Hive, selecciona Habilitar de forma opcional para usar prefijos compatibles con Hive para la creación de particiones.
En Partition logs by time, selecciona Every 1 hour (60 min) o Every 24 hours (1440 min).
(Opcional) Elige Agregar etiqueta nueva para aplicar etiquetas al registro de flujo.
Haz clic en Crear registro de flujo.
Crea un bucket de Amazon S3
- Abre la consola de Amazon S3.
- Haz clic en Crear bucket.
- Proporciona los siguientes detalles de configuración:
- Nombre del bucket: Ingresa un nombre único (por ejemplo,
tgw-flowlogs-bucket). - Región de AWS: Selecciona la misma región en la que reside tu puerta de enlace de tránsito.
- Nombre del bucket: Ingresa un nombre único (por ejemplo,
- Haz clic en Crear bucket.
Crea un usuario de IAM con acceso a Amazon S3
- Abre la consola de IAM.
- Haz clic en Usuarios > Agregar usuario.
- Ingresa un nombre de usuario (por ejemplo,
chronicle-tgw-s3-reader). - Selecciona Acceso programático.
- Haz clic en Next: Permissions.
- Elige Adjuntar las políticas existentes de forma directa.
- Busca y selecciona la política AmazonS3ReadOnlyAccess.
- Haz clic en Siguiente: Etiquetas > Siguiente: Revisar > Crear usuario.
- Copia el ID de clave de acceso y la clave de acceso secreta para la configuración del feed de Google SecOps.
Configura un feed en Google SecOps para transferir registros de flujo de la puerta de enlace de tránsito de Amazon VPC (S3)
- Ve a Configuración de SIEM > Feeds.
- Haz clic en Agregar feed nuevo.
- En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo,
AWS Transit Gateway Flow Logs - S3). - Selecciona Amazon S3 como el Tipo de fuente.
- Selecciona Registros de flujo de puerta de enlace de tránsito de Amazon VPC como el Tipo de registro.
- Haz clic en Siguiente.
Especifica valores para los siguientes parámetros de entrada:
- URI de S3: Es el URI del bucket (por ejemplo,
s3://tgw-flowlogs-bucket/flow-logs/).
- Opción de eliminación del código fuente: Selecciona la opción de eliminación según tu preferencia:
- Nunca: Nunca borra ningún archivo después de las transferencias.
- Borrar archivos transferidos: Borra los archivos después de que se transfirieron correctamente.
- Borrar los archivos transferidos y los directorios vacíos: Borra los archivos y los directorios vacíos después de que se transfirieron correctamente.
- Antigüedad máxima del archivo: Incluye los archivos modificados en la cantidad de días más reciente (el valor predeterminado es de 180 días).
- ID de clave de acceso: Clave de acceso del usuario de IAM con acceso al bucket de S3
- Clave de acceso secreta: Es la clave secreta del usuario de IAM 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: Es el URI del bucket (por ejemplo,
Haz clic en Siguiente.
Revisa la configuración del feed y haz clic en Enviar.
Opción: Transmite a través de Amazon Kinesis Data Firehose
Habilita los registros de flujo de Transit Gateway (en los registros de CloudWatch)
- Abre la consola de Amazon VPC en https://console.aws.amazon.com/vpc/.
- En el panel de navegación, elige Puertas de enlace de tránsito.
- Selecciona las casillas de verificación de una o más puertas de enlace de tránsito y elige Acciones > Crear registro de flujo.
- En Destino, selecciona Enviar a CloudWatch Logs.
En Grupo de registros de destino, elige un grupo de registros existente o ingresa un nombre nuevo para crear uno (por ejemplo,
/aws/tgw/flowlogs).En Rol de IAM, especifica un rol que tenga permisos para publicar registros en CloudWatch Logs.
En Formato de registro, selecciona el formato del registro de flujo:
- Formato predeterminado de AWS: Incluye todos los campos de la versión 2 a la 6.
- Formato personalizado: Selecciona solo los campos que necesitas.
(Opcional) Elige Agregar etiqueta nueva para aplicar etiquetas al registro de flujo.
Haz clic en Crear registro de flujo.
Crea un feed en Google SecOps para transferir los registros de flujo de la puerta de enlace de tránsito de VPC de Amazon (Firehose)
- Ve a Configuración de SIEM > Feeds.
- Haz clic en Agregar feed nuevo.
- En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo,
AWS Transit Gateway Flow Logs - Firehose). - Selecciona Amazon Data Firehose como el Tipo de fuente.
- Selecciona Registros de flujo de puerta de enlace de tránsito de Amazon VPC como el Tipo de registro.
- Haz clic en Siguiente.
- Especifica valores para los siguientes parámetros de entrada:
- Delimitador de división: Ingresa
\n. - 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.
- Delimitador de división: Ingresa
- Haz clic en Siguiente.
- Revisa la configuración del feed y haz clic en Enviar.
- Haz clic en Generate Secret Key para generar una clave secreta que autentique este feed.
- Copia y guarda la clave secreta. No podrás volver a ver este secreto.
- Ve a la pestaña Detalles.
- Copia la URL del extremo del feed del campo Información del extremo.
- Haz clic en Listo.
Crea una clave de API para el feed de Amazon Data Firehose
- Ve a la página Credenciales de la consola de Google Cloud en https://console.cloud.google.com/apis/credentials.
- Haz clic en Crear credenciales y selecciona Clave de API.
- Haz clic en Editar clave de API para restringir la clave.
- En Restricciones de API, selecciona Restringir clave.
- Busca y selecciona la API de Google SecOps.
- Haz clic en Guardar.
- Copia y guarda la clave de API.
Construye la URL del extremo
Agrega la clave de API a la URL del extremo del feed con el siguiente formato:
<FEED_ENDPOINT_URL>?key=<API_KEY>
Reemplaza lo siguiente:
<FEED_ENDPOINT_URL>: Es la URL del extremo del feed.<API_KEY>: La clave de APIEjemplo:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...
Guarda esta URL completa para el siguiente paso.
Crea una política de IAM para Firehose
- En la consola de AWS, ve a IAM > Políticas > Crear política > pestaña JSON.
Pega el siguiente JSON de la política:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "firehose:PutRecord", "firehose:PutRecordBatch" ], "Resource": "arn:aws:firehose:<REGION>:<ACCOUNT_ID>:deliverystream/<DELIVERY_STREAM_NAME>" } ] }Reemplaza lo siguiente:
<REGION>: Tu región de AWS (por ejemplo,us-east-1)<ACCOUNT_ID>: Tu ID de cuenta de AWS (número de 12 dígitos)<DELIVERY_STREAM_NAME>: El nombre de tu flujo de entrega de Firehose (lo crearás en el siguiente paso)
Asigna un nombre a la política
TGWFlowLogsToFirehosePolicy(por ejemplo) y haz clic en Crear política.
Crea un rol de IAM para CloudWatch Logs
- Ve a IAM > Roles > Crear rol.
Selecciona Política de confianza personalizada y pega lo siguiente:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logs.<REGION>.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }Reemplaza
<REGION>por tu región de AWS.Haz clic en Siguiente.
Busca y selecciona la política
TGWFlowLogsToFirehosePolicy.Haz clic en Siguiente.
Asigna el nombre
TGWFlowLogsToFirehoseRoleal rol (por ejemplo) y haz clic en Crear rol.
Crea un flujo de entrega de Kinesis Data Firehose
- En la consola de AWS, ve a Kinesis > Data Firehose > Create delivery stream.
Proporciona los siguientes detalles de configuración:
Origen y destino:
- Fuente: Selecciona Carga directa o fuentes externas
- Destino: Selecciona Extremo HTTP.
Nombre del flujo de entrega:
- Nombre del flujo de entrega: Ingresa un nombre (por ejemplo,
tgw-flowlogs-to-secops).
- Nombre del flujo de entrega: Ingresa un nombre (por ejemplo,
Destino del extremo HTTP:
- URL del extremo HTTP: Ingresa la URL del extremo completa que creaste (extremo del feed + clave de API).
- Codificación de contenido: Selecciona GZIP.
Encabezados HTTP personalizados:
- Haz clic en Agregar encabezado HTTP personalizado.
- Nombre del encabezado: Ingresa
X-Goog-Chronicle-Auth. - Valor del encabezado: Ingresa la clave secreta que guardaste en el paso de creación del feed.
Configuración de copia de seguridad:
- Copia de seguridad de registros de origen en Amazon S3: Selecciona Solo datos con errores.
- Bucket de S3: Selecciona un bucket existente o crea uno nuevo para los registros con errores.
Sugerencias de búfer:
- Tamaño del búfer: Ingresa
1MiB. - Intervalo de búfer: Ingresa
60segundos.
- Tamaño del búfer: Ingresa
Haz clic en Crear flujo de entrega.
Espera a que el estado del flujo de entrega cambie a Activo.
Suscribe el grupo de registros de CloudWatch a Firehose
- En la consola de AWS, ve a CloudWatch > Logs > Log groups.
- Selecciona el grupo de registros de flujo de la puerta de enlace de tránsito (por ejemplo,
/aws/tgw/flowlogs). - Haz clic en la pestaña Filtros de suscripción.
- Haz clic en Crear > Crear filtro de suscripción de Amazon Kinesis Data Firehose.
- Proporciona los siguientes detalles de configuración:
- Destino: Selecciona el flujo de entrega
tgw-flowlogs-to-secops - Otorga permiso: Selecciona el rol
TGWFlowLogsToFirehoseRole - Nombre del filtro de suscripción: Ingresa un nombre (por ejemplo,
tgw-flowlogs-to-chronicle). - Formato de registro: Selecciona Otro.
- Patrón de filtro de suscripción: Déjalo vacío para enviar todos los eventos.
- Destino: Selecciona el flujo de entrega
- Haz clic en Iniciar transmisión.
Tabla de asignación de UDM
| Campo de registro | Asignación de UDM | Lógica |
|---|---|---|
packets_lost_blackhole_label |
additional.fields |
Combinado |
packets_lost_mtu_exceeded_label |
additional.fields |
Combinado |
packets_lost_no_route_label |
additional.fields |
Combinado |
packets_lost_ttl_expired_label |
additional.fields |
Combinado |
start_time_label |
additional.fields |
Combinado |
tcp_flags_label |
additional.fields |
Combinado |
tgw_attachment_id_label |
additional.fields |
Combinado |
tgw_id_label |
additional.fields |
Combinado |
tgw_pair_attachment_id_label |
additional.fields |
Combinado |
type_label |
additional.fields |
Combinado |
end_time |
metadata.event_timestamp |
Se analizó como UNIX |
event_type |
metadata.event_type |
Asignado directamente |
account_id |
metadata.product_log_id |
Asignado directamente |
version |
metadata.product_version |
Asignado directamente |
flow_direction |
network.direction |
Asignado: (?i)ingress → INBOUND, (?i)egress → OUTBOUND |
bytes |
network.sent_bytes |
Asignado directamente |
packets |
network.sent_packets |
Asignado directamente |
tgw_src_eni |
principal.asset.asset_id |
Asignado directamente |
srcaddr |
principal.asset.ip |
Combinado |
srcaddr |
principal.ip |
Combinado |
region |
principal.location.country_or_region |
Asignado directamente |
tgw_src_az_id |
principal.location.country_or_region |
Asignado directamente |
srcport |
principal.port |
Asignado directamente |
pkt_src_aws_service_label |
principal.resource.attribute.labels |
Combinado |
tgw_src_az_id_label |
principal.resource.attribute.labels |
Combinado |
tgw_src_subnet_id |
principal.resource.name |
Asignado directamente |
tgw_src_vpc_id |
principal.resource.product_object_id |
Asignado directamente |
resource_type |
principal.resource.resource_subtype |
Asignado directamente |
tgw_src_vpc_account_id |
principal.user.userid |
Asignado directamente |
security_result_action |
security_result.action |
Combinado |
protocol_label |
security_result.detection_fields |
Combinado |
tgw_dst_eni |
target.asset.asset_id |
Asignado directamente |
dstaddr |
target.asset.ip |
Combinado |
dstaddr |
target.ip |
Combinado |
tgw_dst_az_id |
target.location.country_or_region |
Asignado directamente |
dstport |
target.port |
Asignado directamente |
pkt_dst_aws_service_label |
target.resource.attribute.labels |
Combinado |
tgw_dst_subnet_id |
target.resource.name |
Asignado directamente |
tgw_dst_vpc_id |
target.resource.product_object_id |
Asignado directamente |
tgw_dst_vpc_account_id |
target.user.userid |
Asignado directamente |
| N/A | metadata.product_name |
Constante: AWS VPC Transit Gateway |
| N/A | metadata.vendor_name |
Constante: AWS |
| N/A | network.direction |
Constante: INBOUND |
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.