分散ファイアウォールは、フローのステートフル追跡機能を実装しており、追跡するフローには状態の変化が反映されます。IPFIX プロトコルを使用して、フローの状態データをエクスポートできます。追跡対象のイベントには、フローの作成、拒否、更新、削除があります。
IPFIX はテンプレートに基づくため、フローをエクスポートする前にエクスポータでデータの形式を宣言する必要があります。これにより、コレクタが受信フロー レコードの分析方法を認識できるようになります。テンプレートでは形式が宣言されています。この形式は <type,length> の設定で、レコード内のフィールドの意味と長さを 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 | 有効な値:
|
direction | unsigned8 | 1 | 観測点でフィルタに適用される有効な値:
|
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。有効な値:
|
flowDirection | unsigned8 | 1 | フローの方向 - 企業固有の IE。有効な値:
|
algControlFlowId | unsigned64 | 8 |
ALG 制御フロー ID - 企業固有の IE。有効な値:
|
algType | unsigned8 | 1 |
ALG 制御フロー ID - エンタープライズ固有の IE。有効な値:
|
algFlowType | unsigned8 | 1 |
ALG 制御フロー ID - 企業固有の IE。有効な値:
|
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 */