Recopila registros de flujo de VPC de AWS
En este documento, se describe cómo puedes recopilar registros de flujo de VPC de AWS con un reenvío de Google Security Operations.
Para obtener más información, consulta Ingesta de datos en Google SecOps.
Una etiqueta de transferencia identifica el analizador que normaliza los datos de registro sin procesar en formato UDM estructurado. La información de este documento se aplica al analizador con la etiqueta de transferencia AWS_VPC_FLOW
.
Formatos admitidos de los registros de flujo de VPC de AWS
Google SecOps admite la transferencia de registros de flujo de VPC de AWS en dos formatos de texto principales:
Formato JSON: El tipo de registro
AWS_VPC_FLOW
analiza los registros en formato JSON. En este formato, cada entrada de registro incluye una clave y su valor correspondiente, lo que hace que los datos se describan por sí mismos.Formato CSV: Google SecOps también proporciona un analizador para los registros de flujo de VPC de AWS en formato CSV. En este formato, las claves de campo se enumeran solo una vez en la fila de encabezado, y las filas posteriores solo contienen valores separados por comas.
Para transferir registros de flujo de VPC de AWS en formato CSV, especifica el tipo de registro como AWS_VPC_FLOW_CSV
cuando configures tu agente de reenvío. Si deseas obtener instrucciones de configuración, consulta Configura el reenviador de SecOps de Google y Syslog para transferir los registros de flujo de VPC de AWS.
Dado que el formato CSV no incluye claves de campo en cada entrada de registro, el analizador AWS_VPC_FLOW_CSV
se basa en un orden estricto y predefinido de valores. Para que se analicen correctamente, tus archivos CSV deben cumplir con el siguiente orden de campos:
Version,Account_id,Interface_id,Srcaddr,Dstaddr,Srcport,Dstport,Protocol,Packets,Bytes,Start,End,Action,Log_status,Vpc_id,Subnet_id,Instance_id,Tcp_flags,Type,Pkt_srcaddr,Pkt_dstaddr,Region,Az_id,Sublocation_type,Sublocation_id,Pkt_src_aws_service,Pkt_dst_aws_service,Flow_direction,Traffic_path,Ecs_cluster_arn,Ecs_cluster_name,Ecs_container_instance_arn,Ecs_container_instance_id,Ecs_container_id,Ecs_second_container_id,Ecs_service_name,Ecs_task_definition_arn,Ecs_task_arn,Ecs_task_id
A continuación, se muestra un ejemplo de una línea de registro CSV:
7,369096419186,eni-0520bb5efed19d33a,10.119.32.34,10.119.223.3,51256,16020,6,14,3881,1723542839,1723542871,ACCEPT,OK,vpc-0769a6844ce873a6a,subnet-0cf9b2cb32f49f258,i-088d6080f45f5744f,0,IPv4,10.119.32.34,10.119.223.3,ap-northeast-1,apne1-az4,-,-,-,-,ingress,,-,-,-,-,-,-,-,-,-,-
En el caso de los campos en los que no hay ningún valor disponible, se debe pasar un valor vacío (por ejemplo, , ,
) para mantener el orden posicional correcto dentro de la fila del CSV.
Antes de comenzar
Asegúrate de que se haya creado el bucket de Amazon S3. Para obtener más información, consulta Crea tu primer bucket de S3.
Asegúrate de que se haya creado el grupo de registros de Amazon CloudWatch. Para obtener más información, consulta Trabaja con grupos y transmisiones de registros.
Configura el flujo de VPC de AWS
Configura el flujo de VPC de AWS según si reenvías los registros a Amazon S3 o a Amazon CloudWatch.
Para obtener información sobre cómo reenviar registros al bucket de Amazon S3, consulta la sección Configura registros de flujo para reenviarlos a Amazon S3 de este documento.
Para obtener información sobre el reenvío de registros a Amazon CloudWatch, consulta la sección Configura registros de flujo en Amazon CloudWatch de este documento.
Configura los registros de flujo para reenviarlos a Amazon S3
Después de crear y configurar el bucket de Amazon S3, puedes crear registros de flujo para tus interfaces de red, subredes y redes de VPC.
Crea un registro de flujo para una interfaz de red
- Accede a la consola de Amazon EC2.
- En el panel de navegación, selecciona Interfaces de red.
- Selecciona una o más interfaces de red.
- Selecciona Acciones > Crear registro de flujo.
- Configura los parámetros del registro de flujos. Para obtener más información, consulta la sección Configura los parámetros de configuración de los registros de flujo de este documento.
Crea un registro de flujo para una subred
- Accede a la consola de Amazon VPC.
- En el panel de navegación, selecciona Subredes.
- Selecciona una o más subredes.
- Selecciona Acciones > Crear registro de flujo.
- Configura los parámetros del registro de flujos. Para obtener más información, consulta la sección Configura los parámetros de configuración de los registros de flujo de este documento.
Crea un registro de flujo para una VPC
- Accede a la consola de Amazon VPC.
- En el panel de navegación, selecciona VPCs.
- Selecciona una o más VPCs.
- Selecciona Acciones > Crear registro de flujo.
- Configura los parámetros del registro de flujos. Para obtener más información, consulta la sección Configura los parámetros de configuración de los registros de flujo de este documento.
Configura los parámetros del registro de flujo
En la sección Filtro, especifica el tráfico de IP que se registrará:
Aceptar: Registra solo el tráfico aceptado.
Rechazar: Registra solo el tráfico rechazado.
Todo: Registra el tráfico aceptado y rechazado.
En la sección Intervalo de agregación máximo, selecciona 1 minuto.
En la sección Destino, selecciona Enviar a un bucket de Amazon S3.
En la sección ARN del bucket de S3, especifica el ARN de un bucket de Amazon S3.
En la sección Formato de registro de registro, especifica los siguientes formatos para el registro de registro de flujo:
- Para usar el formato de registro de flujo predeterminado, selecciona Formato predeterminado de AWS.
- Para crear un formato personalizado, selecciona Formato personalizado.
Configura el flujo de registros de VPC con el formato de registro personalizado de AWS para usar las funciones de IP verdadera de MSS.
En la lista Formato de registro, selecciona todos los atributos.
En la sección Vista previa del formato, revisa el formato personalizado.
En la sección Formato del archivo de registro, selecciona Texto (predeterminado).
En la sección Prefijo de S3 compatible con Hive, deja desmarcada la casilla de verificación Habilitar.
En la sección Partition logs by time, selecciona Every 1 hour (60 mins).
Para agregar una etiqueta al registro de flujo, selecciona Agregar etiqueta nueva y especifica la clave y el valor de la etiqueta.
Selecciona Crear registro de flujo. Para obtener más información, consulta Publica registros de flujo en Amazon S3.
Configura los registros de flujo en Amazon CloudWatch
Puedes configurar los registros de flujo desde las VPC, las subredes o las interfaces de red.
En la sección Filtro, especifica el tipo de tráfico de IP que se registrará:
Aceptar: Registra solo el tráfico aceptado.
Rechazar: Registra solo el tráfico rechazado.
Todo: Registra el tráfico aceptado y rechazado.
En la sección Intervalo de agregación máximo, selecciona 1 minuto.
En la sección Destino, selecciona Enviar a CloudWatch Logs.
En la sección Destination log group, proporciona el nombre del grupo de registros de destino que creaste.
En la lista Rol de IAM, selecciona el nombre del rol. El nombre del rol seleccionado tiene permisos para publicar registros en los registros de CloudWatch.
El rol de IAM debe incluir los siguientes permisos:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": "*" } ] }
En la sección Formato de registro, selecciona Formato personalizado para el registro de flujo.
Para agregar una etiqueta al registro de flujo, selecciona Agregar etiqueta nueva y especifica la clave y el valor de la etiqueta.
Selecciona Crear registro de flujo. Para obtener más información, consulta Publica registros de flujo en Amazon S3.
Amazon S3 se puede configurar para enviar las notificaciones de eventos a Amazon SQS. Para obtener más información, consulta Cómo configurar un bucket para las notificaciones (tema de SNS o cola de SQS).
Se requieren políticas de usuarios de IAM para Amazon S3 y Amazon SQS si se usa Amazon SQS (Amazon S3 con Amazon SQS) como método de recopilación de registros. Para obtener más información, consulta Uso de políticas de IAM con AWS KMS.
Según el servicio y la región, identifica los extremos para la conectividad consultando la siguiente documentación de AWS:
Para obtener información sobre las fuentes de registro, consulta Cuotas y extremos de AWS Identity and Access Management.
Para obtener información sobre las fuentes de registro de Amazon S3, consulta Cuotas y extremos de Amazon Simple Storage Service.
Para obtener información sobre las fuentes de registro de Amazon SQS, consulta Cuotas y extremos de Amazon Simple Queue Service.
Para obtener información sobre las fuentes de registro de Amazon CloudWatch, consulta Cuotas y extremos de los registros de Amazon CloudWatch.
Configura el reenviador de SecOps de Google y Syslog para transferir los registros de flujo de VPC de AWS
- Selecciona Configuración del SIEM > Reenviadores.
- Haz clic en Agregar un nuevo reenvío.
- Ingresa un nombre único para el reenviador.
- Haz clic en Enviar y, luego, en Confirmar. Se agregará el reenvío y aparecerá la ventana Add collector configuration.
- En el campo Nombre del recopilador, escribe un nombre.
- En el campo Tipo de registro, selecciona Flujo de VPC de AWS o Flujo de VPC de AWS (CSV), según el formato de registro.
- En el campo Tipo de recopilador, selecciona Syslog.
- Configura los siguientes parámetros de entrada obligatorios:
- Protocolo: Especifica el protocolo de conexión que usará el recopilador para escuchar los datos de syslog.
- Dirección: Especifica la dirección IP o el nombre de host de destino en el que reside el recopilador y se dirige a los datos de syslog.
- Puerto: Especifica el puerto de destino en el que reside el recopilador y escucha los datos de syslog.
- Haz clic en Enviar y, luego, en Confirmar.
Para obtener más información sobre los retransmisores de Google SecOps, consulta la documentación de los retransmisores de Google Security Operations. Para obtener información sobre los requisitos de cada tipo de reenvío, consulta Configuración del reenvío por tipo.
Si tienes problemas para crear reenvíos, comunícate con el equipo de asistencia de Operaciones de seguridad de Google.
Referencia de la asignación de campos
Este analizador transforma los registros de flujo de VPC de AWS sin procesar (en formato JSON o CSV) en formato UDM estructurado. Extrae los campos pertinentes, los asigna para que coincidan con el esquema del UDM y enriquece los datos con contexto adicional, como el tipo de recurso, el proveedor de servicios en la nube y las etiquetas, para respaldar un análisis más profundo. La lógica de asignación es coherente en ambos formatos: el analizador de CSV se basa en un orden de campos predefinido para alinear los valores con los mismos campos del UDM que se usan en el formato JSON.
Tabla de asignación del UDM para el analizador de VPC de EC2 de AWS
Campo de registro (ascendente) | Asignación de UDM | Lógica |
---|---|---|
CidrBlock | event.idm.entity.entity.resource.attribute.labels.cidr_block | Se asigna directamente desde el campo "CidrBlock" en el registro sin procesar. |
CidrBlock | event.idm.entity.entity.network.ip_subnet_range | Se asigna directamente desde el campo "CidrBlock" en el registro sin procesar. |
CidrBlockAssociation.AssociationID | event.idm.entity.entity.resource.attribute.labels.cidr_block_association_association_id | Se asigna directamente desde el campo "AssociationID" dentro del array "CidrBlockAssociation" en el registro sin procesar. |
CidrBlockAssociation.CidrBlockState.State | event.idm.entity.entity.resource.attribute.labels.cidr_block_association_cidr_block_state_state | Se asigna directamente desde el campo "State" dentro del objeto "CidrBlockState" del array "CidrBlockAssociation" en el registro sin procesar. |
CidrBlockAssociation.CidrBlockState.StatusMessage | event.idm.entity.entity.resource.attribute.labels.cidr_block_association_cidr_block_state_status_message | Se asigna directamente desde el campo "StatusMessage" dentro del objeto "CidrBlockState" del array "CidrBlockAssociation" en el registro sin procesar. |
DhcpOptionsID | event.idm.entity.entity.resource.attribute.labels.dhcp_options_id | Se asigna directamente desde el campo "DhcpOptionsID" en el registro sin procesar. |
ID | event.idm.entity.entity.resource.product_object_id | Se asigna directamente desde el campo "ID" en el registro sin procesar, al que se le cambia el nombre a "VpcID" en el analizador. |
ID | event.idm.entity.metadata.product_entity_id | Se asigna directamente desde el campo "ID" en el registro sin procesar, al que se le cambia el nombre a "VpcID" en el analizador. |
InstanceTenancy | event.idm.entity.entity.resource.attribute.labels.instance_tenancy | Se asigna directamente desde el campo "InstanceTenancy" en el registro sin procesar. |
IsDefault | event.idm.entity.entity.resource.attribute.labels.is_default | Se asigna directamente desde el campo "IsDefault" en el registro sin procesar. |
Ipv6CidrBlockAssociationSet.AssociationID | event.idm.entity.entity.resource.attribute.labels.ipv6_cidr_block_association_set_association_id | Se asigna directamente desde el campo "AssociationID" dentro del array "Ipv6CidrBlockAssociationSet" en el registro sin procesar. |
Ipv6CidrBlockAssociationSet.Ipv6CidrBlock | event.idm.entity.entity.resource.attribute.labels.ipv6_cidr_block_association_set_ipv6_cidr_block | Se asigna directamente desde el campo "Ipv6CidrBlock" dentro del array "Ipv6CidrBlockAssociationSet" en el registro sin procesar. |
Ipv6CidrBlockAssociationSet.Ipv6CidrBlockState.State | event.idm.entity.entity.resource.attribute.labels.ipv6_cidr_block_association_set_ipv6_cidr_block_state_state | Se asigna directamente desde el campo "Estado" dentro del objeto "Ipv6CidrBlockState" del array "Ipv6CidrBlockAssociationSet" en el registro sin procesar. |
Ipv6CidrBlockAssociationSet.Ipv6CidrBlockState.StatusMessage | event.idm.entity.entity.resource.attribute.labels.ipv6_cidr_block_association_set_ipv6_cidr_block_state_status_message | Se asigna directamente desde el campo "StatusMessage" dentro del objeto "Ipv6CidrBlockState" del array "Ipv6CidrBlockAssociationSet" en el registro sin procesar. |
Ipv6CidrBlockAssociationSet.Ipv6Pool | event.idm.entity.entity.resource.attribute.labels.ipv6_cidr_block_association_set_ipv6_pool | Se asigna directamente desde el campo "Ipv6Pool" dentro del array "Ipv6CidrBlockAssociationSet" en el registro sin procesar. |
Ipv6CidrBlockAssociationSet.NetworkBorderGroup | event.idm.entity.entity.resource.attribute.labels.ipv6_cidr_block_association_set_network_border_group | Se asigna directamente desde el campo "NetworkBorderGroup" dentro del array "Ipv6CidrBlockAssociationSet" en el registro sin procesar. |
ID del propietario | event.idm.entity.entity.resource.attribute.labels.owner_id | Se asigna directamente desde el campo "OwnerID" en el registro sin procesar. |
Estado | event.idm.entity.entity.resource.attribute.labels.state | Se asigna directamente desde el campo "Estado" del registro sin procesar. |
TagSet.Key | event.idm.entity.entity.resource.attribute.labels.key | Se asigna directamente desde el campo "Key" dentro del array "TagSet" en el registro sin procesar. Esto crea una etiqueta nueva para cada etiqueta del "TagSet". |
TagSet.Value | event.idm.entity.entity.resource.attribute.labels.value | Se asigna directamente desde el campo "Value" dentro del array "TagSet" en el registro sin procesar. Esto completa el valor de cada etiqueta correspondiente creada a partir del campo "Clave". |
N/A | event.idm.entity.entity.resource.attribute.cloud.environment | Se codifica de forma rígida como "AMAZON_WEB_SERVICES" en el código del analizador. |
N/A | event.idm.entity.entity.resource.resource_type | Se codifica como "VPC_NETWORK" en el código del analizador. |
N/A | event.idm.entity.metadata.collected_timestamp | Se propaga con la marca de tiempo del evento, que se deriva del campo "collection_time" en el registro sin procesar. |
N/A | event.idm.entity.metadata.entity_type | Se codifica como "RESOURCE" en el código del analizador. |
N/A | event.idm.entity.metadata.product_name | Está codificado como "Amazon VPC" en el código del analizador. |
N/A | event.idm.entity.metadata.vendor_name | Está codificado como "AWS" en el código del analizador. |
N/A | events.timestamp | Se propaga con la marca de tiempo del evento, que se deriva del campo "collection_time" en el registro sin procesar. |
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.