Distributed Firewall implementa un seguimiento de los flujos mediante su estado, es decir, que los flujos pasan por una serie de cambios de estado. Puede usar el protocolo IPFIX para exportar datos sobre el estado de un flujo. Se indican los siguientes eventos de flujos: creación, denegación, actualización y anulación.
Como IPFIX se basa en una plantilla, los exportadores deben definir el formato de los datos antes de exportar cualquier flujo, de forma que el recopilador sepa cómo analizar el flujo entrante. Se define el formato en las plantillas, que son conjuntos de <tipo,longitud> que definen el significado y la longitud de cada campo del registro, uno tras otro.
En la siguiente tabla se describen los elementos de información que se utilizan en las plantillas IPFIX del firewall distribuido.
Nombre | Tipo de datos | Tamaño (octetos) | Descripción |
---|---|---|---|
sourceMacAddress | macAddress | 6 | El campo de dirección MAC del origen de IEEE 802. |
destinationMacAddress | macAddress | 6 | El campo de la dirección MAC del destino de IEEE 802. |
ethernetType | unsigned16 | 2 | El campo de tipo de Ethernet de un marco de Ethernet que identifica el protocolo del cliente MAC utilizado en la carga útil. |
sourceIPv4Address | ipv4Address | 4 | La dirección IPv4 de origen en el encabezado del paquete IP. |
destinationIPv4Address | ipv4Address | 4 | La dirección IPv4 de destino en el encabezado del paquete IP. |
sourceIPv6Address | ipv6Address | 16 | La dirección IPv6 de origen en el encabezado del paquete IP. |
destinationIPv6Address | ipv6Address | 16 | La dirección IPv6 de destino en el encabezado del paquete IP. |
sourceTransportPort | unsigned16 | 2 | El identificador de puerto de origen en el encabezado de transporte. |
destinationTransportPort | unsigned16 | 2 | El identificador de puerto de destino en el encabezado de transporte. |
octetDeltaCount | unsigned64 | 8 | El número de octetos desde el informe anterior (si hay alguno) en los paquetes entrantes del flujo en el punto de observación. El número de octetos incluye los encabezados IP y la carga útil IP. |
packetDeltaCount | unsigned64 | 8 | El número de paquetes entrantes desde el informe anterior (si hay alguno) del flujo en el punto de observación. |
flowId | unsigned64 | 8 | Un identificador de flujo único dentro de un dominio de observación. Este elemento de información ayuda a distinguir entre diferentes flujos cuando no se especifican las claves de flujo, como las direcciones IP y los números de puerto, o se incluyen en registros separados. |
flowStartSeconds | dateTimeSeconds | 4 | La marca de tiempo absoluta del primer paquete del flujo. |
flowEndSeconds | dateTimeSeconds | 4 | La marca de tiempo absoluta del último paquete del flujo. |
protocolIdentifier | unsigned8 | 1 | El valor del número de protocolo en el encabezado del paquete IP. |
firewallEvent | unsigned8 | 1 | Estos son los valores válidos:
|
direction | unsigned8 | 1 | Estos son los valores válidos según se aplican al filtro en el punto de observación:
|
icmpTypeIPv4 | unsigned8 | 1 | Tipo de mensaje IPv4 ICMP. |
icmpCodeIPv4 | unsigned8 | 1 | Código de mensaje IPv4 ICMP. |
icmpTypeIPv6 | unsigned8 | 1 | Tipo de mensaje de IPv6 ICMP. |
icmpCodeIPv6 | unsigned8 | 1 | Código del mensaje IPv6 ICMP. |
ruleId | unsigned32 | 4 | ID de regla de firewall: EI específico de la empresa. |
vmUuid | string | 16 | UUID de máquina virtual: EI específico de la empresa. Solo identifica la máquina virtual (matriz de octetos de 16). |
vnicIndex | unsigned32 | 4 | Índice de VNIC: EI específico de la empresa Índice de la VNIC de la máquina virtual especificada. |
sessionFlags | unsigned8 | 1 | Marcas de sesión: EI específico de la empresa. Estos son los valores válidos:
|
flowDirection | unsigned8 | 1 | Dirección de flujo: EI específico de la empresa. Estos son los valores válidos:
|
algControlFlowId | unsigned64 | 8 |
ID de flujo de control ALG: EI específico de la empresa. Estos son los valores válidos:
|
algType | unsigned8 | 1 |
ID de flujo de control ALG: EI específico de la empresa. Estos son los valores válidos:
|
algFlowType | unsigned8 | 1 |
ID de flujo de control ALG: EI específico de la empresa. Estos son los valores válidos:
|
averageLatency | unsigned32 | 4 | Latencia promedio de TCP: EI específico de la empresa La unidad aparece en microsegundos. |
vifUuid | octetArray | 16 | UUID de VIF: EI específico de la empresa. Solo identifica el VIF (matriz de octetos de 16). |
Las siguientes plantillas de IPFIX para el firewall distribuido solo se admiten para cargas útiles de UDP.
Plantilla de IPv4 de UDP
IPFIX_TEMPLATE_FIELD(sourceMacAddress,6) IPFIX_TEMPLATE_FIELD(destinationMacAddress,6) IPFIX_TEMPLATE_FIELD(sourceIPv4Address,4) IPFIX_TEMPLATE_FIELD(destinationIPv4Address,4) IPFIX_TEMPLATE_FIELD(sourceTransportPort,2) IPFIX_TEMPLATE_FIELD(destinationTransportPort,2) IPFIX_TEMPLATE_FIELD(protocolIdentifier,1) IPFIX_TEMPLATE_FIELD(icmpTypeIPv4,1) IPFIX_TEMPLATE_FIELD(icmpCodeIPv4,1) IPFIX_TEMPLATE_FIELD(ethernetType,2) IPFIX_TEMPLATE_FIELD(flowStartSeconds,4) IPFIX_TEMPLATE_FIELD(flowEndSeconds,4) IPFIX_TEMPLATE_FIELD(octetDeltaCount,8) IPFIX_TEMPLATE_FIELD(packetDeltaCount,8) IPFIX_TEMPLATE_FIELD(firewallEvent,1) IPFIX_TEMPLATE_FIELD(direction,1) IPFIX_TEMPLATE_FIELD(ruleId,4) IPFIX_TEMPLATE_FIELD(vmUUId,16) IPFIX_TEMPLATE_FIELD(vnicIndex,4) IPFIX_TEMPLATE_FIELD(sessionFlags,1) /* Introduced in 6.4.2 */ IPFIX_TEMPLATE_FIELD(flowDirection,1) /* Introduced in 6.4.2 */ IPFIX_TEMPLATE_FIELD(flowId,8) /* Introduced in 6.4.4 */ IPFIX_TEMPLATE_FIELD(algControlFlowId,8) /* Introduced in 6.4.4 */ IPFIX_TEMPLATE_FIELD(algType,1) /* Introduced in 6.4.4 */ IPFIX_TEMPLATE_FIELD(algFlowType,1) /* Introduced in 6.4.4 */ IPFIX_TEMPLATE_FIELD(averageLatency,4) /* Introduced in 6.4.4 */
Plantilla de IPv6 de UDP
IPFIX_TEMPLATE_FIELD(sourceMacAddress,6) IPFIX_TEMPLATE_FIELD(destinationMacAddress,6) IPFIX_TEMPLATE_FIELD(sourceIPv6Address,16) IPFIX_TEMPLATE_FIELD(destinationIPv6Address,16) IPFIX_TEMPLATE_FIELD(sourceTransportPort,2) IPFIX_TEMPLATE_FIELD(destinationTransportPort,2) IPFIX_TEMPLATE_FIELD(protocolIdentifier,1) IPFIX_TEMPLATE_FIELD(icmpTypeIPv6,1) IPFIX_TEMPLATE_FIELD(icmpCodeIPv6,1) IPFIX_TEMPLATE_FIELD(ethernetType,2) IPFIX_TEMPLATE_FIELD(flowStartSeconds,4) IPFIX_TEMPLATE_FIELD(flowEndSeconds,4) IPFIX_TEMPLATE_FIELD(octetDeltaCount,8) IPFIX_TEMPLATE_FIELD(packetDeltaCount,8) IPFIX_TEMPLATE_FIELD(firewallEvent,1) IPFIX_TEMPLATE_FIELD(direction,1) IPFIX_TEMPLATE_FIELD(ruleId,4) IPFIX_TEMPLATE_FIELD(vmUUId,16) IPFIX_TEMPLATE_FIELD(vnicIndex,4) IPFIX_TEMPLATE_FIELD(sessionFlags,1) /* Introduced in 6.4.2 */ IPFIX_TEMPLATE_FIELD(flowDirection,1) /* Introduced in 6.4.2 */ IPFIX_TEMPLATE_FIELD(flowId,8) /* Introduced in 6.4.4 */ IPFIX_TEMPLATE_FIELD(algControlFlowId,8) /* Introduced in 6.4.4 */ IPFIX_TEMPLATE_FIELD(algType,1) /* Introduced in 6.4.4 */ IPFIX_TEMPLATE_FIELD(algFlowType,1) /* Introduced in 6.4.4 */ IPFIX_TEMPLATE_FIELD(averageLatency,4) /* Introduced in 6.4.4 */