Network > Flow Log > 概要

フローログサービスは、ユーザーのネットワークインターフェイスに送受信されるパケットを分析して統計情報を提供します。このサービスを使用すると、ネットワークインターフェイスに設定されたSecurity Groupsルールによって許可または拒否されたパケットの数、サイズなどの様々な統計情報を確認できます。フローログサービスを活用すれば、ユーザーのネットワークインターフェイスが正しくトラフィックを送受信したのか、誰と通信を行ったのか、そして外部からどのような侵入の試みがあったのかなどを確認できます。

主な機能

  • フローログサービスは、ネットワークインターフェイスに行き来するすべてのパケットのヘッダを検査します(現在はインスタンスのネットワークインターフェイスのみ提供)。

  • ただし、L2タイプはEthernet、L3タイプはIPv4、L4タイプはTCP/UDP/ICMPの場合のみヘッダを検査して統計を提供します。検査されたパケットは5-tupleを基準に集計されます。

  • 現在、フローログサービスはObject Storageをストレージとして活用しています。ユーザーが設定した収集間隔ごとにOBS(Object Storage)にファイルが作成され、このファイルをダウンロードして実際の統計を確認できます。

  • 統計を確認してSecurity Groupsが正しく設定されているかどうか、外部侵入の試みなどを確認できます。

サービス対象

  • インスタンスのポートを介して送受信されるパケットの接続情報、統計情報などを収集/確認したい場合

  • Security Groups設定によって許可またはブロックされたパケットの接続情報、統計を収集/確認したい場合

  • インスタンスへのパケット流入記録を確認し、疑わしいアドレスをブロックしてインスタンスのセキュリティ強化を図りたい場合

用語

フローログサービスで使用するリソースと用語を説明します。

  • flowlog logger:ユーザーが作成したフローログロガーです。収集間隔、フィルタなどを設定できます。
  • flowlog logging port:ユーザーが作成したフローログロガーによって実質的に収集が行われるネットワークインターフェイスです。
  • 5-tuple:一般的なL4パケットヘッダで次のように構成されたタプルを意味します(プロトコル、送信元アドレス、宛先アドレス、送信元ポート番号、宛先ポート番号). 5-tupleが同じ場合は、同じフローとみなします。L4がないICMPの場合には送信元ポート番号と宛先ポート番号を0とみなします。

統計提供情報項目

  • フローログサービスがパケットを収集及び集計してユーザーに提供する項目は次のとおりです。
番号 フィールド 説明 単位 備考
1 timestamp_start 該当5-tupleが最初に確認された時間 UNIX TIMESTAMP
2 timestamp_end 該当5-tupleが最後に確認された時間 UNIX TIMESTAMP
3 interface_id ネットワークインターフェイスID UUID
4 vm_id ネットワークインターフェイスを所有するインスタンスのID UUID
5 subnet_id ネットワークインターフェイスを所有するサブネットのID UUID
6 vpc_id ネットワークインターフェイスを所有するVPCのID UUID
7 region リージョン情報 KR1 | KR2 * KR1:韓国(パンギョ)リージョン
* KR2:韓国(ピョンチョン)リージョン
8 protocol 5-tupleの中でプロトコル番号 IANAが付与したプロトコル番号を表現します。
* 各番号に基づくプロトコルは次のとおりです。1:ICMP, 6:UDP, 17:TCP
* それ以外は収集しません。
9 src_addr 送信元アドレス IPv4アドレス
10 dst_addr 宛先アドレス IPv4アドレス
11 src_port 送信元ポート番号 Integer ICMPは0とみなします。
12 dst_port 宛先ポート番号 Integer ICMPは0とみなします。
13 tcp_flag TCP flag Integer TCP flagは収集間隔内にキャプチャされたパケットをbitwise OR処理して表記します。
詳細は、表下部のTCP flagsを参照してください。
14 packets 収集間隔中に確認されたパケット数 Integer
15 bytes 収集間隔中に確認されたパケットサイズの合計 Byte
16 direction 収集された5-tupleのパケットフローの方向 ingress | egress | unknown
17 filter 収集された5-tupleのSecurity Groupsの判定結果 ACCEPTまたはDROP
18 status ログ状態 OKまたはSKIPDATA * OK:正常にロギングされた5-tupleです。
* SKIPDATA:フローログが提供する内部容量を超え、該当収集間隔期間中に収集されなかったパケットが存在します。

TCP Flag

  • TCP接続が短い場合、TCP Active openを試みる側でSYN、FINを収集間隔内に送信できます。この場合、SYN | FIN (2 | 1 = 3)が記録されます。SYN | FIN (2 | 1 = 3)が記録されます。

  • 逆に受信データとしては、収集間隔内にSYN | ACK、そしてFINが受信されることがあります。この場合、SYN | ACK | FIN (16 | 2 | 1 = 19)が記録されます。

  • SYN, ACK, RST, FINの各数値は、TCP header tcp flag bit field(RFC 793, section 3.1. Header Format)に従います。

    • FIN: 1
    • SYN: 2
    • RST: 4
    • ACK: 16
  • PSH flagのみ存在するパケット、ACK flagのみ存在するパケット、および一般的にトラフィックを送信する際に使用するPSH | ACK flagは収集に含めません。つまり、SYN、SYN | ACK、FIN | ACK、RST、FINのみ記録します。

  • URG(urgent), ECE(ECN-echo), CWR(congestion window reduced)は提供しません。

注意事項

収集間隔

  • 収集間隔を長く設定した場合、実際には異なる接続ですが、同じ5-tupleで収集されることがあります。

    • 収集間隔内に同じ5-tupleで複数回接続の確立/終了を繰り返すと、これらの接続が論理的にはそれぞれ異なる接続であっても、同じ5-tupleで集計されます。

    • したがって、状況に応じて適切な収集間隔を設定することをお勧めします。

フローログがキャプチャしないトラフィック

  • IPv6トラフィックは記録しません。
  • マルチキャストトラフィックは記録しません。
  • インスタンスの状態を把握するために169.254.169.0/24で通信するトラフィックは記録しません。
  • トラフィックミラーリングは記録しません。
  • ARPパケットは記録しません。
TOP