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 owner_type ネットワークインターフェイスを所有している機器の種類 instanceまたはtransithub_attachment
5 owner_id ネットワークインターフェイスを所有している機器のID UUID
6 subnet_id ネットワークインターフェイスを所有しているサブネットのID UUID
7 vpc_id ネットワークインターフェイスを所有しているVPCのID UUID
8 region リージョン情報 KR1またはKR2 * KR1:韓国(パンギョ)リージョン
* KR2:韓国(ピョンチョン)リージョン
9 protocol 5-tupleの中からプロトコル番号 IANAが付与したプロトコル番号を表現します。
* 各番号に基づくプロトコルは次のとおりです。 1: ICMP, 6: TCP, 17: UDP
* それ以外は収集しません。
10 src_addr 送信元アドレス IPv4アドレス
11 dst_addr 宛先アドレス IPv4アドレス
12 src_port 送信元ポート番号 Integer ICMPは0とみなします。
13 dst_port 宛先ポート番号 Integer ICMPは0とみなします。
14 tcp_flag TCP flag Integer TCP flagは収集間隔内にキャプチャされたパケットをbitwise OR処理して表記します。
詳細は表下部のTCP flagsを参照してください。
15 packets 収集間隔中に確認されたパケット数 Integer
16 bytes 収集間隔中に確認されたパケットサイズの合計 Byte
17 direction 収集された5-tupleのパケットフローの方向 ingress, egressまたはunknown
18 filter 収集された5-tupleのSecurity Groups判定結果 ACCEPTまたはDROP
19 transithub_drop_no_route_packets ルーティングパスがなく、トランジットハブルーターがドロップしたパケットの数 Integer トランジットハブに関連する項目で、トランジットハブ以外のインターフェイスは -1で表記されます。
20 transithub_drop_no_route_bytes ルーティングパスがなく、トランジットハブルーターがドロップしたパケットサイズの合計 Byte トランジットハブと関連する項目で、トランジットハブ以外のインターフェイスは -1で表記されます。
21 transithub_drop_black_hole_packets トランジットハブルーターでブラックホールルーティングと判断されてドロップしたパケットの数 Integer トランジットハブに関連する項目で、トランジットハブ以外のインターフェイスは -1で表記されます。
22 transithub_drop_black_hole_bytes トランジットハブルーターでブラックホールルーティングと判断されてドロップしたパケットサイズの合計 Byte トランジットハブに関連する項目で、トランジットハブ以外のインターフェイスは -1で表記されます。
23 status ログ状態 OKまたはSKIPDATAまたはNODATA * OK:正常にロギングされた5-tupleです。
* SKIPDATA:フローログが提供する内部容量を超過して該当収集間隔期間中に収集されなかったパケットが存在します。
* NODATA:該当収集間隔内に収集されたデータがありません。

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パケットは記録しません。
  • インスタンスを含む物理装置またはネットワークサービスの物理装置で一時的なネットワーク混雑によって発生するDROPは収集対象ではありません。

トランジットハブ接続にフローログを指定して使用時注意事項

  • トランジットハブのマルチキャストトラフィックは、トランジットハブを基準に、トランジットハブを経由して流入(ingress)するパケットのみを記録します。1つまたは複数の接続を経由して発信するマルチキャストトラフィックは記録しません。
  • トランジットハブに流れたパケットは、トランジットハブルーターのドロップの有無に関係なく、すべてACCEPTに一回ずつ記録されます。トランジットハブルーターから実際にドロップされたパケットは、別の行にDROPと一緒に記録されます。
  • トランジットハブは接続確立パケットのみ収集(connection setup only)オプションの影響を受けず、接続状態に関係なく全てのパケットを収集します。

ロードバランサーにフローログを指定して使用する際の注意事項

  • 現在、ロードバランサーはACCEPTパケットのみを収集します。ロードバランサーに設定されたIPACLによってDROPされたパケットの収集については、今後サポート予定です。

  • ロードバランサーへのアクセスを試みるパケットや、ロードバランサーとメンバー間の通常のパケットに加え、ヘルスチェックパケットも収集します。

  • 該当サービスに接続されたフローログは接続確立パケットのみ収集(connection setup only)オプションの影響を受けず、接続状態と関係なく全てのパケットを収集します。

ピアリングゲートウェイ及びコロケーションゲートウェイにフローログを指定して使用する際の注意事項

  • VPCピアリングゲートウェイは現在サポートしません。
  • ユーザーが明示的にDROPを設定できるサービスではないため、 DROPはサポートしません。
  • 該当サービスに接続されたフローログは接続確立パケットのみ収集(connection setup only)オプションの影響を受けず、接続状態に関係なく全てのパケットを収集します。
TOP