Recopila registros de flujo de VPC de AWS

Compatible con:

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

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.

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

  1. Accede a la consola de Amazon EC2.
  2. En el panel de navegación, selecciona Interfaces de red.
  3. Selecciona una o más interfaces de red.
  4. Selecciona Acciones > Crear registro de flujo.
  5. 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

  1. Accede a la consola de Amazon VPC.
  2. En el panel de navegación, selecciona Subredes.
  3. Selecciona una o más subredes.
  4. Selecciona Acciones > Crear registro de flujo.
  5. 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

  1. Accede a la consola de Amazon VPC.
  2. En el panel de navegación, selecciona VPCs.
  3. Selecciona una o más VPCs.
  4. Selecciona Acciones > Crear registro de flujo.
  5. 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

  1. 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.

  2. En la sección Intervalo de agregación máximo, selecciona 1 minuto.

  3. En la sección Destino, selecciona Enviar a un bucket de Amazon S3.

  4. En la sección ARN del bucket de S3, especifica el ARN de un bucket de Amazon S3.

  5. En la sección Formato de registro de registro, especifica los siguientes formatos para el registro de registro de flujo:

    1. Para usar el formato de registro de flujo predeterminado, selecciona Formato predeterminado de AWS.
    2. Para crear un formato personalizado, selecciona Formato personalizado.
  6. Configura el flujo de registros de VPC con el formato de registro personalizado de AWS para usar las funciones de IP verdadera de MSS.

  7. En la lista Formato de registro, selecciona todos los atributos.

  8. En la sección Vista previa del formato, revisa el formato personalizado.

  9. En la sección Formato del archivo de registro, selecciona Texto (predeterminado).

  10. En la sección Prefijo de S3 compatible con Hive, deja desmarcada la casilla de verificación Habilitar.

  11. En la sección Partition logs by time, selecciona Every 1 hour (60 mins).

  12. Para agregar una etiqueta al registro de flujo, selecciona Agregar etiqueta nueva y especifica la clave y el valor de la etiqueta.

  13. 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.

  1. 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.

  2. En la sección Intervalo de agregación máximo, selecciona 1 minuto.

  3. En la sección Destino, selecciona Enviar a CloudWatch Logs.

  4. En la sección Destination log group, proporciona el nombre del grupo de registros de destino que creaste.

  5. 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": "*"
         }
        ]
       }
    
  6. En la sección Formato de registro, selecciona Formato personalizado para el registro de flujo.

  7. Para agregar una etiqueta al registro de flujo, selecciona Agregar etiqueta nueva y especifica la clave y el valor de la etiqueta.

  8. 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:

Configura el reenviador de SecOps de Google y Syslog para transferir los registros de flujo de VPC de AWS

  1. Selecciona Configuración del SIEM > Reenviadores.
  2. Haz clic en Agregar un nuevo reenvío.
  3. Ingresa un nombre único para el reenviador.
  4. Haz clic en Enviar y, luego, en Confirmar. Se agregará el reenvío y aparecerá la ventana Add collector configuration.
  5. En el campo Nombre del recopilador, escribe un nombre.
  6. 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.
  7. En el campo Tipo de recopilador, selecciona Syslog.
  8. 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.
  9. 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.