NetFlowデータ分析によるネットワークフロー解析 は何をしますか?
使用するタイミング
- NetFlowデータを用いたネットワークフロー分析が必要なセキュリティインシデント調査時
- このドメインに関する検知ルールや脅威ハンティングクエリの構築時
- SOCアナリストがこの分析タイプの構造化された手順を必要とする場合
- 関連する攻撃手法に対するセキュリティ監視カバレッジの検証時
前提条件
- ネットワークセキュリティの概念とツールに関する知識
- 安全な実行のためのテスト/ラボ環境へのアクセス
- Python 3.8以上の環境と必要な依存関係のインストール
- テスト活動に対する適切な許可
手順
- 依存関係をインストール:
pip install netflow
- ルーターからNetFlow/IPFIXデータを収集するか、内蔵コレクターを使用:
python -m netflow.collector -p 9995
- 取得したフローデータを
netflow.parse_packet() で解析します。
- 以下の異常を分析:
- ポートスキャン: 単一送信元から多数の宛先への同一ポートへの接続
- データ流出: 異常な宛先への高バイト数の送信フロー
- C2ビーコン通信: 一定間隔での定期的な接続
- 容量異常: ベースラインしきい値を超えるトラフィックスパイク
- 優先順位付けされた調査結果レポートを生成します。
python scripts/agent.py --flow-file captured_flows.json --output netflow_report.json
例
NetFlow v9パケットの解析
import netflow
data, _ = netflow.parse_packet(raw_bytes, templates={})
for flow in data.flows:
print(flow.IPV4_SRC_ADDR, flow.IPV4_DST_ADDR, flow.IN_BYTES)