Le pare-feu distribué implémente le suivi avec état de flux et les flux suivis passent par un ensemble de changements d'état. Vous pouvez utiliser le protocole IPFIX pour exporter des données sur l'état d'un flux. Les événements suivis incluent la création d'un flux, son refus, sa mise à jour et son démontage.

Comme IPFIX est basé sur un modèle, l'exportateur doit déclarer le format des données avant l'exportation d'un flux, afin que le collecteur sache comment analyser les enregistrements de flux entrants. Le format est déclaré dans les modèles, qui sont des ensembles de <type,length> qui définissent la signification et la longueur de chaque champ dans un enregistrement, l'un après l'autre.

Le tableau suivant décrit les éléments d'information qui sont utilisés dans les modèles IPFIX du pare-feu distribué.

Tableau 1. Éléments d'information IPFIX
Nom Type de données Taille (octet) Description
sourceMacAddress macAddress 6 Champ d'adresse MAC source IEEE 802.
destinationMacAddress macAddress 6 Champ d'adresse MAC de destination IEEE 802.
ethernetType unsigned16 2 Champ de type Ethernet d'une trame Ethernet qui identifie le protocole client MAC transporté dans la charge utile.
sourceIPv4Address ipv4Address 4 Adresse source IPv4 dans l'en-tête du paquet IP.
destinationIPv4Address ipv4Address 4 Adresse de destination IPv4 dans l'en-tête du paquet IP.
sourceIPv6Address ipv6Address 16 Adresse source IPv6 dans l'en-tête du paquet IP.
destinationIPv6Address ipv6Address 16 Adresse de destination IPv6 dans l'en-tête du paquet IP.
sourceTransportPort unsigned16 2 Identifiant du port source dans l'en-tête de transport.
destinationTransportPort unsigned16 2 Identifiant du port de destination dans l'en-tête de transport.
octetDeltaCount unsigned64 8 Nombre d'octets depuis le rapport précédent (le cas échéant) dans les paquets entrants pour le flux au point d'observation. Le nombre d'octets inclut les en-têtes IP et la charge utile IP.
packetDeltaCount unsigned64 8 Nombre de paquets entrants depuis le rapport précédent (le cas échéant) pour le flux au point d'observation.
flowId unsigned64 8 Identifiant de flux unique dans un domaine d'observation. Cet élément d'information permet de faire la distinction entre différents flux lorsque les clés de flux, comme des adresses IP et des numéros de port, ne sont pas signalées ou sont signalées dans des enregistrements distincts.
flowStartSeconds dateTimeSeconds 4 Horodatage absolu du premier paquet du flux.
flowEndSeconds dateTimeSeconds 4 Horodatage absolu du dernier paquet du flux.
protocolIdentifier unsigned8 1 Valeur du numéro de protocole dans l'en-tête du paquet IP.
firewallEvent unsigned8 1 Les valeurs valides sont :
  • 1 : Flux créé
  • 2 : Flux supprimé
  • 3 : Flux refusé
  • 4 : Alerte de flux (non utilisé dans cette implémentation)
  • 5 : Flux mis à jour
direction unsigned8 1 Les valeurs valides appliquées au filtre au point d'observation sont :
  • 0x00 : flux d'entrée à la VM
  • 0x01 : flux de sortie de la VM
icmpTypeIPv4 unsigned8 1 Type du message ICMP IPv4.
icmpCodeIPv4 unsigned8 1 Code du message ICMP IPv4.
icmpTypeIPv6 unsigned8 1 Type du message ICMP IPv6.
icmpCodeIPv6 unsigned8 1 Code du message ICMP IPv6.
ruleId unsigned32 4 ID de règle de pare-feu - IE spécifique Entreprise.
vmUuid string 16

UUID de VM - IE spécifique Entreprise.

Identifie de façon unique la VM (groupe d'octets de 16).

vnicIndex unsigned32 4

Index de VNIC - IE spécifique Entreprise.

Index de la VNIC pour la VM spécifiée.

sessionFlags unsigned8 1

Indicateurs de session - IE spécifique Entreprise. Les valeurs valides sont :

  • 0 : inconnu
  • 0x1 : établi
flowDirection unsigned8 1

Flux de direction - IE spécifique Entreprise. Les valeurs valides sont :

  • 0 : inconnu
  • 1 : transfert
  • 2 : inverse
algControlFlowId unsigned64 8
ID du flux de contrôle ALG - IE spécifique Entreprise. Les valeurs valides sont :
  • 0
  • flowId du flux de contrôle ALG
algType unsigned8 1
ID du flux de contrôle ALG - IE spécifique Entreprise. Les valeurs valides sont :
  • 0 : aucun
  • 1 : FTP
  • 2 : Oracle
  • 3 : SUNRPC
  • 4 : DCERPC
  • 5 : TFTP
algFlowType unsigned8 1
ID du flux de contrôle ALG - IE spécifique Entreprise. Les valeurs valides sont :
  • 0 : aucun
  • 1 : flux de contrôle
  • 2 : flux de données
averageLatency unsigned32 4

Latence TCP moyenne - IE spécifique Entreprise

L'unité est en microsecondes.

vifUuid octetArray 16

UUID VIF - IE spécifique Entreprise.

Identifie de façon unique le VIF (groupe d'octets de 16).

Les modèles d'IPFIX suivants pour le pare-feu distribué sont pris en charge uniquement pour les charges utiles UDP.

Modèle UDP IPV4

Les champs envoyés pour ce modèle sont les suivants :
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 */

Modèle UDP IPV6

Les champs envoyés pour ce modèle sont les suivants :
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 */