「社内でどんな通信が流れているかまったくわからない」——そういった状態では、ランサムウェアのC2(コマンド&コントロール)通信が数週間流れていても気づけません。実際、侵害発覚までの平均日数は国内でも50日以上とされており、その多くが内部ネットワークの可視化不足に起因しています。
ネットワークの通信を可視化する方法として、まず思い浮かぶのはパケットキャプチャですが、これは全データを記録するため膨大なストレージが必要です。そこで現場でよく使われるのが、NetFlow・IPFIXによるフロー分析です。「誰がいつどこへ何バイト送ったか」という流れのサマリーを収集するため、既存のルーターやスイッチをそのまま活用しながら低コストで始められます。
この記事では、NetFlow・IPFIXの仕組みから、フローコレクターの設定・可視化ツールの活用・異常検知のポイントまで、現場で使えるレベルで解説します。
NetFlow・IPFIXとは?(概要・なぜ重要か)
NetFlowはCiscoが1990年代に開発したネットワークトラフィック情報の収集プロトコルです。送信元IP・宛先IP・送受信ポート・プロトコル・バイト数・パケット数という5タプル(または7タプル)の情報を「フロー」として記録し、フローコレクターに送信します。
IPFIXはInternet Protocol Flow Information Export(RFC 7011)の略で、NetFlowを標準化したIETF仕様です。JuniperやFortinetなど複数ベンダーがIPFIXに対応しており、ベンダーをまたいだフロー収集が可能です。
なぜ重要かというと、以下のような通信異常を検知できるからです。
・C2通信: 感染端末が外部の攻撃者サーバーへ定期的に接続する不審なビーコン通信
・内部横展開(ラテラルムーブメント): 侵入後に攻撃者が内部ネットワークを探索する大量のポートスキャン
・データ持ち出し(Exfiltration): 外部への大容量転送(特に業務時間外)
・シャドーIT: 未承認のクラウドサービスや個人デバイスからの通信
IDS・IPSやSuricataはパケット内容を検査しますが、フロー分析はそれらの補完として機能します。特に暗号化通信が主流の現代では、パケット中身を見るよりも「通信先・頻度・量」でパターン異常を検知するアプローチが現実的です。
NetFlowとIPFIXの違いと選び方
| 項目 | NetFlow v5/v9 | IPFIX |
|---|---|---|
| 策定主体 | Cisco独自 | IETF標準(RFC 7011) |
| 対応機器 | 主にCisco製品 | マルチベンダー対応 |
| 拡張性 | 固定フィールド(v5)/テンプレート拡張(v9) | テンプレートで柔軟に拡張可 |
| 転送プロトコル | UDP(ロス許容) | UDP/TCP/SCTP選択可 |
| おすすめシーン | Cisco中心の環境 | マルチベンダー・新規構築 |
既存インフラがCisco中心であればNetFlow v9で問題ありません。FortinetやJuniper・Yamaha等混在環境や新規設計ではIPFIXを選ぶとベンダーロックインを避けられます。
YamahaのRTシリーズ(RT107e以降)やNVRシリーズはIPFIX/NetFlowエクスポートに対応しているモデルがあり、中小企業でも既存機器を流用できるケースがあります。導入前にファームウェアのリリースノートで対応バージョンを確認しましょう。
攻撃者の通信パターン:フロー分析で見えること
攻撃者は正常な通信に紛れようとしますが、フロー分析で見ると特徴的なパターンが浮かび上がります。防御のためにどんなシグネチャを追うか理解しておきましょう。
1. C2ビーコン通信の特徴
ランサムウェアや情報窃取マルウェアは、感染後に攻撃者のC2サーバーへ定期的に「チェックイン」します。フロー上の特徴は次の通りです。
・一定間隔(例: 60秒おきや5分おき)で同一宛先IPへの通信が継続する
・送信バイト数が毎回ほぼ同じ(テンプレート送信の痕跡)
・通常の業務では使わないポート番号(4444・8080など)への接続
・宛先IPが国内外の業務先として登録されていない
2. 内部ラテラルムーブメントの特徴
侵入後に攻撃者が内部を横展開するとき、短時間に多数の内部IPへの接続試行が発生します。
・同一送信元から/24サブネット全体への22/TCP(SSH)や445/TCP(SMB)接続
・成功・失敗フローが混在する(ポートスキャンの痕跡)
・通常業務ではサーバーからサーバーへの大量接続は発生しない点が異常として浮かぶ
3. データ持ち出しの特徴
・深夜帯に特定外部IPへの大容量アップロード(受信バイト<送信バイトの逆転)
・通常より数十倍以上のアップリンク使用量の急増
・クラウドストレージのIPアドレス帯への業務時間外の大量転送
具体的な導入手順
1. フローコレクターの選定
フローコレクターとは、機器から送られるフローデータを受信・保存・可視化するサーバーです。オープンソースの主な選択肢を紹介します。
・ntopng(Community版): 高機能なフロー分析プラットフォーム。WebUIが洗練されており、リアルタイム可視化が得意。Community版は無償で使える。
・Elastiflow(Elastic Stack連携): Elasticsearch + Kibanaと組み合わせる。ダッシュボードテンプレートが充実しており、ログ管理基盤との統合もしやすい。
・nfdump + nfcapd: 軽量でシンプル。CLIベースだが、少リソースのサーバーでも動作し、長期フローデータの保存に向く。
中小企業の最初の一歩としては、Raspberry Pi 4や余剰サーバーにntopngのCommunity版を導入するのが手軽です。コレクターとルーターが通信できるよう、ファイアウォールでUDP 2055ポートの受信を許可しておきます。
2. ルーター・スイッチ側の設定
Cisco IOS系ルーターでのNetFlow v9有効化例です。WAN側インターフェースに設定することで、社外との通信フローを収集できます。
# フローエクスポーター定義 flow exporter FLOW-EXPORTER-1 destination 192.168.10.100 # コレクターのIPアドレス source GigabitEthernet0/0 transport udp 2055 # 標準ポート(変更可) export-protocol netflow-v9 # フローレコード定義(5タプル+バイト・パケット数) flow record FLOW-RECORD-1 match ipv4 source address match ipv4 destination address match transport source-port match transport destination-port match ip protocol collect counter bytes collect counter packets collect interface input # フローモニター定義 flow monitor FLOW-MONITOR-1 record FLOW-RECORD-1 exporter FLOW-EXPORTER-1 cache timeout active 60 # インターフェースへの適用(WAN側の送受信両方) interface GigabitEthernet0/1 ip flow monitor FLOW-MONITOR-1 input ip flow monitor FLOW-MONITOR-1 output
設定後、show flow monitor FLOW-MONITOR-1 statisticsでフローが収集されているか確認します。コレクター側でパケットを受信できているかはtcpdump -i eth0 udp port 2055で確認できます。
Linuxサーバー上でのntopng導入手順については、姉妹サイトLinuxMaster.JPでも詳しく解説しています。
3. 異常検知ルールの設定
コレクターにデータが溜まったら、基本的なしきい値アラートを設定します。ntopngでは「Alerts」→「Flow Alerts」から設定できます。最初の2週間はアラートを記録するだけにして正常パターンを把握し、3週目から閾値を調整することをお勧めします。急ぎすぎると誤検知が多発して運用が続きません。
・1分間で同一送信元から50以上の宛先IPへの接続 → ポートスキャン疑い
・外部IPへの送信バイトが過去7日平均の10倍超 → データ持ち出し疑い
・未登録の外部IPへの443/TCPが1時間以上継続 → C2通信疑い
フロー分析で得たデータはSIEM(セキュリティ情報イベント管理)に取り込むことで、ファイアウォールログや認証ログとの相関分析が可能になります。脅威インテリジェンスのIOCとフローデータを突合させると、既知の攻撃インフラへの通信を自動検出できます。
中小企業でも今日からできること
「ルーターがNetFlowに対応しているか不明」「コレクターサーバーを用意できない」という場合でも、段階的に始められます。
・ステップ1: 手持ちルーターの対応確認
管理画面またはマニュアルで「NetFlow」「IPFIX」「sFlow」のキーワードを検索します。YamahaのNVR/RTシリーズ、Cisco 800シリーズ以上は多くが対応しています。
・ステップ2: 無償ツールで最小構成を試す
余剰PCやRaspberry PiにntopngのCommunity版を導入します。フロー受信設定をしてダッシュボードを確認するだけでも、社内通信の傾向が見えてきます。
・ステップ3: 正常パターンをドキュメント化する
1か月の観測で「正常な通信パターン」を記録します。これがベースラインとなり、外れ値の検知精度が格段に上がります。
・ステップ4: SIEMへの統合を検討する
Elasticの無償プランやOpenSearchとの連携で、ログ基盤に取り込みます。脅威インテリジェンスのIOCとの突合が自動化でき、検知精度が向上します。
予算や人員が限られていても、可視化するだけで攻撃の早期発見確率は大きく上がります。パケットキャプチャ(Wireshark・tcpdump)と組み合わせると、フローで怪しい通信を絞り込んでから詳細なパケット解析に移行できるため、調査効率が高まります。
よくある誤解と注意点
・「NetFlowはすべての通信内容を記録する」は誤り: フロー情報は通信のメタデータのみです。パケットのペイロード(中身)は含まれません。個人情報保護の観点では比較的プライバシー影響が少ない反面、マルウェアの通信内容までは確認できません。
・「NetFlowで100%の通信を捕捉できる」は誤り: 高トラフィック環境では機器がサンプリング(例: 1/1000パケットのみ記録)を行う場合があります。サンプリング設定を確認し、重要なインターフェースではサンプリング率を高めましょう。
・「コレクターサーバーは攻撃対象にならない」は誤り: フローデータには社内ネットワーク構成が詳細に含まれます。コレクターサーバーへのアクセスは最小限に制限し、ストレージの暗号化も検討しましょう。
・「設定したら即座に使える」は誤り: 有用なベースラインデータが蓄積されるまでに1~2週間かかります。最初からアラートを積極的に設定するのではなく、まず観測期間を設けることが重要です。
本記事のまとめ
| 項目 | 内容 |
|---|---|
| NetFlow・IPFIXの目的 | ネットワークフロー情報の収集で通信を可視化する |
| 検知できる脅威 | C2通信・ラテラルムーブメント・データ持ち出し・シャドーIT |
| 必要なもの | NetFlow/IPFIX対応ルーター+フローコレクター(無償ツール可) |
| 無償ツール例 | ntopng(Community版)、Elastiflow、nfdump |
| 中小企業の始め方 | 既存ルーターの対応確認→余剰機材にコレクター構築→2週間観測 |
| パケットキャプチャとの違い | フロー分析はメタデータのみ収集。低コスト・低負荷で長期運用に向く |
NetFlow・IPFIXによるフロー分析は、「何が起きているかわからない」ネットワークを可視化する最初の一歩です。パケットキャプチャほどのリソースを必要とせず、既存のネットワーク機器を活用できるため、コスト対効果が高い手法です。
まずは手持ちのルーターのNetFlow対応状況を確認し、余剰機材でコレクターを立ち上げてみましょう。ベースライン把握から始めれば、1か月後には社内ネットワークの通信傾向が見えてきます。その先にSIEM連携・脅威インテリジェンス突合と段階的に拡張することで、限られたリソースでも実効性の高いネットワーク監視体制が整います。
PR
実践 パケット解析 第3版(Chris Sanders/オライリー・ジャパン)
Wiresharkやtcpdumpによるパケット解析の定番書。フロー分析で怪しい通信を絞り込んだあと、実際のパケットを詳しく読み解く際に役立ちます。ネットワークセキュリティの実務に携わるエンジニアにとって参照頻度の高い一冊です。
