Amazon Virtual Private Cloud
Guía del usuario

Logs de flujo de VPC

Los logs de flujo de VPC son una característica que permite capturar información acerca del tráfico IP que entra y sale de las interfaces de red en la VPC. Los datos del registro de flujo se pueden publicar en Amazon CloudWatch Logs y Amazon S3. Una vez creado un log de flujo, puede recuperarlo y ver sus datos en el destino elegido.

Los logs de flujo pueden ayudarle con diversas tareas; por ejemplo, para solucionar problemas de por qué un tráfico específico no llega a una instancia, lo cual, a su vez, le ayuda a diagnosticar reglas de grupos de seguridad excesivamente restrictivas. También puede utilizar logs de flujo como herramienta de seguridad para controlar el tráfico que llega a su instancia.

Se aplican cargos de CloudWatch Logs cuando se usan registros de flujo, tanto si se envían a CloudWatch Logs como a Amazon S3. Para obtener más información, consulte los precios de Amazon CloudWatch.

Conceptos básicos de los logs de flujo

Puede crear un log de flujo para una VPC, una subred o una interfaz de red. Si crea un log de flujo para una subred o VPC, se supervisará cada interfaz de red de la VPC o la subred.

Los datos de logs de flujo de una interfaz de red monitoreada se registran como registros de logs de flujo, que son eventos de registro que constan de campos que describen el flujo de tráfico. Para obtener más información, consulte Registros de logs de flujo.

Para crear un log de flujo, especifique el recurso para el cual crea el log de flujo, el tipo de tráfico que va a capturar (tráfico aceptado, tráfico rechazado o todo el tráfico) y los destinos en los que desea publicar los datos del log de flujo. Tras haber creado un log de flujo, pueden transcurrir varios minutos hasta que se empiecen a recopilar datos y a publicarse en los destinos elegidos. Los logs de flujo no capturan los flujos de logs en tiempo real de las interfaces de red. Para obtener más información, consulte Creación de un log de flujo.

Si lanza más instancias en su subred después de haber creado un registro de flujo para su subred o VPC, se creará un nuevo flujo de registros (para CloudWatch Logs) o un objeto de archivo de registro (para Amazon S3) para cada interfaz de red en cuanto se registre tráfico de red para esa interfaz de red.

Puede crear registros de flujo para interfaces de red creadas por otros servicios de AWS, como Elastic Load Balancing, Amazon RDS, Amazon ElastiCache, Amazon Redshift y Amazon WorkSpaces. Sin embargo, no puede utilizar las consolas o API de estos servicios para crear registros de flujo; debe utilizar la consola de Amazon EC2 o la API de Amazon EC2. Asimismo, no puede utilizar las consolas ni las API de CloudWatch Logs o Amazon S3 para crear registros de flujo para sus interfaces de red.

Si ya no necesita un log de flujo, puede eliminarlo. Al eliminar un registro de flujo, se deshabilita el servicio del registro de flujo para el recurso, y no se crearán nuevos registros de flujo ni se publicarán en CloudWatch Logs o Amazon S3. Esto no eliminará los registros de flujo existentes ni los flujos de registros (para CloudWatch Logs) u objetos de archivos de registro (para Amazon S3) de una interfaz de red. Para eliminar un flujo de logs existente, utilice la consola de CloudWatch Logs. Para eliminar objetos de archivos log, utilice la consola de Amazon S3. Tras haber eliminad un log de flujo, puede que se necesiten varios minutos para que se dejen de recopilar los datos. Para obtener más información, consulte Eliminación de un log de flujo.

Registros de logs de flujo

Un registro de log de flujo representa un flujo de red en su log de flujo. Cada registro captura el flujo de red para una ventana específica de captura de 5 tuplas. Cinco tuplas es un conjunto de cinco valores distintos que especifican el origen, el destino y el protocolo para un flujo de protocolo de Internet (IP). La ventana de captura es la duración del tiempo durante el cual el servicio de logs de flujo agrega datos antes de publicar registros de logs de flujo. La ventana de captura es de aproximadamente 10 minutos, pero puede ser de hasta 15 minutos.

Sintaxis de los registros de logs de flujo

Un registro de log de flujo es una cadena separada por espacios con el siguiente formato:

<version> <account-id> <interface-id> <srcaddr> <dstaddr> <srcport> <dstport> <protocol> <packets> <bytes> <start> <end> <action> <log-status>

En la siguiente tabla se describen los campos de un registro de logs de flujo.

Campo Descripción
version La versión de los logs de flujo de VPC.
account-id El ID de cuenta de AWS el log de flujo.
interface-id El ID de la interfaz de red para la que se registra el tráfico.
srcaddr La dirección IPv4 o IPv6 de origen. La dirección IPv4 de la interfaz de red es siempre su dirección IPv4 privada.
dstaddr La dirección IPv4 o IPv6 de destino. La dirección IPv4 de la interfaz de red es siempre su dirección IPv4 privada.
srcport El puerto de origen del tráfico.
dstport El puerto de destino del tráfico.
protocol El número de protocolo IANA del tráfico. Para obtener más información, consulte Assigned Internet Protocol Numbers.
packets El número de paquetes transferidos durante la ventana de captura.
bytes El número de bytes transferidos durante la ventana de captura.
start La hora, en segundos Unix, de inicio de la ventana de captura.
end La hora, en segundos Unix, de finalización de la ventana de captura.
action La acción asociada al tráfico:
  • ACCEPT: los grupos de seguridad o las ACL de red han permitido el tráfico registrado.

  • REJECT: los grupos de seguridad o las ACL de red no han permitido el tráfico registrado.

log-status El estado de registro del log de flujo:
  • OK: los datos se registran normalmente en los destinos elegidos.

  • NODATA: no ha habido tráfico de red entrante ni saliente de la interfaz de red durante la ventana de captura.

  • SKIPDATA: algunos registros de logs de flujo se han omitido durante la ventana de captura. Esto puede deberse a una restricción de capacidad interna, o a un error interno.

nota

Si un campo no es aplicable para un registro específico, el registro mostrará un símbolo '-' para esa entrada.

Ejemplos de registros de logs de flujo

Registros de log de flujo para el tráfico aceptado y rechazado

A continuación se muestra un ejemplo de un registro de log de flujo en el que se ha permitido el tráfico SSH (puerto de destino 22, protocolo TCP) a la interfaz de red eni-abc123de en la cuenta 123456789010:

2 123456789010 eni-abc123de 172.31.16.139 172.31.16.21 20641 22 6 20 4249 1418530010 1418530070 ACCEPT OK

A continuación se muestra un ejemplo de un registro de log de flujo en el que se ha rechazado el tráfico RDP (puerto de destino 3389, protocolo TCP) a la interfaz de red eni-abc123de en la cuenta 123456789010:

2 123456789010 eni-abc123de 172.31.9.69 172.31.9.12 49761 3389 6 20 4249 1418530010 1418530070 REJECT OK

Registros de log de flujo para registros sin datos y omitidos

A continuación se muestra un ejemplo de un registro de log de flujo en el que no se han registrado datos durante la ventana de captura:

2 123456789010 eni-1a2b3c4d - - - - - - - 1431280876 1431280934 - NODATA

A continuación se muestra un ejemplo de un registro de log de flujo en el que se han omitido registros durante la ventana de captura:

2 123456789010 eni-4b118871 - - - - - - - 1431280876 1431280934 - SKIPDATA

Reglas de grupos de seguridad y ACL de red

Si va a utilizar logs de flujo para diagnosticar reglas excesivamente restrictivas o permisivas de grupos de seguridad o ACL de red, tenga en cuenta el estado de estos recursos. Los grupos de seguridad son con estado: esto significa que las respuestas al tráfico permitido también están permitidas, incluso si las reglas de su grupo de seguridad no lo permiten. Por otro lado, las ACL de red son sin estado, y por lo tanto las respuestas al tráfico permitido están sujetas a las reglas de la ACL de red.

Por ejemplo, supongamos que utiliza el comando ping desde su equipo doméstico (la dirección IP es 203.0.113.12) hasta su instancia (la dirección IP privada de la interfaz de red es 172.31.16.139). Las reglas entrantes de su grupo de seguridad permiten el tráfico ICMP, y las reglas salientes no permiten el tráfico ICMP; sin embargo, dado que los grupos de seguridad son con estado, se permite el ping de respuesta desde su instancia. Su ACL de red permite el tráfico ICMP entrante, pero no permite el tráfico ICMP saliente. Puesto que las ACL de red son sin estado, se descarta el ping de respuesta y no llegará a su equipo doméstico. En un log de flujo, esto se muestra como dos registros de log de flujo:

  • Un registro de ACCEPT para el ping de origen que han permitido tanto la ACL de red como el grupo de seguridad, y que por tanto puede llegar a su instancia.

  • Un registro de REJECT para el ping de respuesta que ha denegado la ACL de red.

2 123456789010 eni-1235b8ca 203.0.113.12 172.31.16.139 0 0 1 4 336 1432917027 1432917142 ACCEPT OK
2 123456789010 eni-1235b8ca 172.31.16.139 203.0.113.12 0 0 1 4 336 1432917094 1432917142 REJECT OK

Si su ACL de red permite el tráfico ICMP saliente, el log de flujo muestra dos registros ACCEPT (uno para el ping de origen y otro para el ping de respuesta). Si su grupo de seguridad deniega el tráfico ICMP entrante, el log de flujo mostrará un único recurso REJECT, ya que el tráfico no tiene permiso para llegar a su instancia.

Registro de log de flujo para el tráfico IPv6

A continuación se muestra un ejemplo de un registro de log de flujo en el que se ha permitido el tráfico SSH (puerto 22) desde la dirección IPv6 2001:db8:1234:a100:8d6e:3477:df66:f105 a la interfaz de red eni-f41c42bf en la cuenta 123456789010.

2 123456789010 eni-f41c42bf 2001:db8:1234:a100:8d6e:3477:df66:f105 2001:db8:1234:a102:3304:8879:34cf:4071 34892 22 6 54 8855 1477913708 1477913820 ACCEPT OK

Limitaciones de los logs de flujo

Para utilizar los logs de flujo, debe conocer las siguientes limitaciones:

  • No se pueden habilitar logs de flujo para interfaces de red que se encuentren en la plataforma EC2-Classic. Esto incluye las instancias de EC2-Classic vinculadas a una VPC a través de ClassicLink.

  • No se pueden habilitar los logs de flujo para VPC interconectadas con su VPC a menos que la VPC del mismo nivel se encuentre en su cuenta.

  • No se puede etiquetar un log de flujo.

  • Una vez creado el log de flujo, no se puede cambiar su configuración; por ejemplo, no se puede asociar una función de IAM diferente al log de flujo. En su lugar, puede eliminar el log de flujo y crear uno nuevo con la configuración necesaria.

  • Ninguna de las acciones de API del log de flujo (ec2:*FlowLogs) admite lo permisos de nivel de recursos. Para crear una política de IAM para controlar el uso de acciones de API de los logs de flujo, debe conceder a los usuarios permisos de uso de todos los recursos para la acción; para ello, utilice en su instrucción el carácter comodín * para el elemento del recurso. Para obtener más información, consulte Control del acceso a los recursos de Amazon VPC.

  • Si su interfaz de red tiene varias direcciones IPv4 y el tráfico se envía a una dirección IPv4 privada secundaria, el log de flujo mostrará la dirección IPv4 privada principal en el campo de la dirección IP de destino.

  • Si el tráfico se envía a un ENI y el destino no es ninguna de las direcciones IP de ENI, el registro de flujo muestra la dirección IPv4 privada primaria en el campo de dirección IP de destino.

  • Si el tráfico se envía desde un ENI y el origen no es ninguna de las direcciones IP de ENI, el registro de flujo muestra la dirección IPv4 privada primaria en el campo de dirección IP de origen.

  • Si el tráfico se envía a una interfaz de red o desde una interfaz de red, el registro de flujo siempre muestra la dirección IPv4 privada principal, con independencia del origen o destino del paquete, en el campo de dirección IPv4 de la interfaz.

Los logs de flujo no capturan todo el tráfico IP. Los siguientes tipos de tráfico no se registran:

  • Tráfico generado por instancias al contactar con el servidor DNS de Amazon. Si utiliza su propio servidor DNS, sí se registrará el tráfico a ese servidor DNS.

  • Tráfico generado por una instancia de Windows para la activación de licencia de Windows para Amazon.

  • Tráfico entrante y saliente de 169.254.169.254 para metadatos de instancias.

  • Tráfico entrante y saliente de 169.254.169.123 para el servicio Amazon Time Sync.

  • Tráfico DHCP.

  • Tráfico a la dirección IP reservada para el router VPC predeterminado. Para obtener más información, consulte Tamaño de subred y VPC.

  • El tráfico entre una interfaz de red del punto de enlace y una interfaz de red de Balanceador de carga de red. Para obtener más información, consulte Servicios de punto de conexión de la VPC (AWS PrivateLink).