分散ファイアウォールは、フローのステートフル追跡機能を実装しており、追跡するフローには状態の変化が反映されます。IPFIX プロトコルを使用して、フローの状態データをエクスポートできます。追跡対象のイベントには、フローの作成、拒否、更新、削除があります。

IPFIX はテンプレートに基づくため、フローをエクスポートする前にエクスポータでデータの形式を宣言する必要があります。これにより、コレクタが受信フロー レコードの分析方法を認識できるようになります。テンプレートでは形式が宣言されています。この形式は <type,length> の設定で、レコード内のフィールドの意味と長さを 1 つずつ定義します。

次の表は、分散ファイアウォールの IPFIX テンプレートで使用される情報の要素を示したものです。

表 1. IPFIX 情報の要素
名前 データ タイプ サイズ(オクテット) 説明
sourceMacAddress macAddress 6 IEEE 802 送信元 MAC アドレス フィールド。
destinationMacAddress macAddress 6 IEEE 802 宛先 MAC アドレス フィールド。
ethernetType unsigned16 2 ペイロードで転送される MAC クライアント プロトコルを識別するイーサネット フレームのイーサネット タイプ フィールド。
sourceIPv4Address ipv4Address 4 IP パケット ヘッダーの IPv4 送信元アドレス。
destinationIPv4Address ipv4Address 4 IP パケット ヘッダーの IPv4 宛先アドレス。
sourceIPv6Address ipv6Address 16 IP パケット ヘッダーの IPv6 送信元アドレス。
destinationIPv6Address ipv6Address 16 IP パケット ヘッダーの IPv6 宛先アドレス。
sourceTransportPort unsigned16 2 トランスポート ヘッダーの送信元ポートの ID。
destinationTransportPort unsigned16 2 トランスポート ヘッダーの宛先ポートの ID。
octetDeltaCount unsigned64 8 前回のレポート(ある場合)以降に、観測点で発生したフローの受信パケット数(オクテット)。オクテット数には、IP ヘッダーと IP ペイロードが含まれます。
packetDeltaCount unsigned64 8 前回のレポート(ある場合)以降に、観測点で発生したフローの受信パケット数。
flowId unsigned64 8 観測ドメイン内で一意のフロー ID。IP アドレスとポート番号などのフロー キーがレポートされない場合、または異なるレコードとしてレポートされた場合に、各フローを区別するために役立ちます。
flowStartSeconds dateTimeSeconds 4 フローの最初のパケットの絶対的なタイムスタンプ。
flowEndSeconds dateTimeSeconds 4 フローの最後のパケットの絶対的なタイムスタンプ。
protocolIdentifier unsigned8 1 IP パケット ヘッダーのプロトコル番号の値。
firewallEvent unsigned8 1 有効な値:
  • 1 - フローの作成
  • 2 - フローの削除
  • 3 - フローの拒否
  • 4 - フロー アラート(この実装では使用しません)
  • 5 - フローの更新
direction unsigned8 1 観測点でフィルタに適用される有効な値:
  • 0x00 - 仮想マシンへの入力方向のフロー
  • 0x01 - 仮想マシンからの出力方向のフロー
icmpTypeIPv4 unsigned8 1 IPv4 ICMP メッセージのタイプ。
icmpCodeIPv4 unsigned8 1 IPv4 ICMP メッセージのコード。
icmpTypeIPv6 unsigned8 1 IPv6 ICMP メッセージのタイプ。
icmpCodeIPv6 unsigned8 1 IPv6 ICMP メッセージのコード。
ruleId unsigned32 4 ファイアウォール ルール ID - 企業固有の IE。
vmUuid string 16

仮想マシンの UUID - 企業固有の IE。

仮想マシンを一意に識別します(16 のオクテット配列)。

vnicIndex unsigned32 4

VNIC インデックス - 企業固有の IE。

指定された仮想マシンの VNIC のインデックス。

sessionFlags unsigned8 1

セッション フラグ - 企業固有の IE。有効な値:

  • 0 - 不明
  • 0x1 - 確立
flowDirection unsigned8 1

フローの方向 - 企業固有の IE。有効な値:

  • 0 - 不明
  • 1 - 前方向
  • 2 - 逆方向
algControlFlowId unsigned64 8
ALG 制御フロー ID - 企業固有の IE。有効な値:
  • 0
  • ALG 制御フローのフロー ID
algType unsigned8 1
ALG 制御フロー ID - エンタープライズ固有の IE。有効な値:
  • 0 - なし
  • 1 - FTP
  • 2 - Oracle
  • 3 - SUNRPC
  • 4 - DCERPC
  • 5 - TFTP
algFlowType unsigned8 1
ALG 制御フロー ID - 企業固有の IE。有効な値:
  • 0 - なし
  • 1 - 制御フロー
  • 2 - データ フロー
averageLatency unsigned32 4

TCP 平均遅延 - 企業固有の IE。

単位はマイクロ秒です。

vifUuid octetArray 16

VIF UUID - 企業固有の IE。

VIF を一意に識別します(16 のオクテット配列)。

分散ファイアウォールの次の IPFIX テンプレートは、UDP ペイロードでのみ使用できます。

UDP IPV4 テンプレート

このテンプレートに送信されるフィールドは、次のとおりです。
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 */

UDP IPV6 テンプレート

このテンプレートに送信されるフィールドは、次のとおりです。
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 */