NSGフローログ えぬえすじーふろーろぐ
簡単に言うとこんな感じ!
Azure上のネットワークの「入退場記録簿」だよ!誰がどこから来て、どこへ行って、通れたか・止められたかを全部書き留めてくれるんだ。不審な通信がないか調べたり、セキュリティ事故の原因追跡に大活躍するログのことってこと!
NSGフローログとは
**NSGフローログ(Network Security Group Flow Logs)とは、Microsoft Azureのネットワーク制御機能であるNSG(ネットワークセキュリティグループ)**を通過したすべてのIPトラフィックを記録するログ機能です。送信元・送信先のIPアドレスやポート番号、プロトコル、そして通信が「許可(Allow)」されたか「拒否(Deny)」されたかが詳細に記録されます。
ネットワークセキュリティグループは、AzureのVM(仮想マシン)やサブネットに適用できる仮想ファイアウォールのようなものです。このNSGが実際にどんな通信を処理したかを可視化するのがNSGフローログであり、セキュリティ監査・トラブルシューティング・コスト最適化など幅広い用途に活用されます。
ログデータはAzureのストレージアカウントにJSON形式で保存され、Azure Monitor、Log Analytics、あるいはサードパーティのSIEM(セキュリティ情報・イベント管理ツール)と連携して分析することができます。オンプレミスのファイアウォールログに相当するもの、とイメージすると掴みやすいでしょう。
NSGフローログの構造と記録内容
NSGフローログには「バージョン1」と「バージョン2」があり、記録できる情報の詳しさが異なります。
| 項目 | バージョン1 | バージョン2 |
|---|---|---|
| 送信元IPアドレス | ✅ | ✅ |
| 送信先IPアドレス | ✅ | ✅ |
| ポート番号 | ✅ | ✅ |
| プロトコル(TCP/UDP) | ✅ | ✅ |
| 許可 / 拒否の判定 | ✅ | ✅ |
| バイト数・パケット数 | ❌ | ✅ |
| フロー状態(開始/継続/終了) | ❌ | ✅ |
記録される主な項目
- タイムスタンプ — 通信が発生した日時
- MACアドレス — どのNICを通過したか
- 送信元IP / 送信先IP — 通信の発信元と宛先
- 送信元ポート / 送信先ポート — 使われたポート番号
- プロトコル — TCP か UDP か
- トラフィックフロー方向 — インバウンド(受信)かアウトバウンド(送信)か
- 許可/拒否 — NSGルールによってどう処理されたか
- (v2のみ)バイト数・パケット数 — 通信量の記録
覚え方のポイント
「誰が・どこへ・何で・通れた?」この4点セットがNSGフローログの基本!これだけ押さえておけば実務でも説明できます。
歴史と背景
- 2013年頃 — AzureにNSG(ネットワークセキュリティグループ)が導入され、仮想ネットワーク上でのトラフィック制御が可能になった
- 2018年 — NSGフローログ機能(バージョン1)がGA(一般提供)開始。ストレージアカウントへのログ保存が可能に
- 2019年 — バージョン2がリリース。バイト数・パケット数・フロー状態の記録が追加され、より詳細な分析が可能に
- 2021年〜 — Azure Traffic Analyticsとの統合が強化。Log Analyticsワークスペースと組み合わせてリアルタイムに近い可視化・アラートが実現
- 現在 — ゼロトラストセキュリティの普及とともに、NSGフローログはクラウドネットワーク監視の標準的な手段として定着
NSGフローログと関連機能の位置づけ
Azureにはネットワーク監視ツールが複数あり、NSGフローログはそのうちの一つです。それぞれの役割を整理しましょう。
各ツールの使い分け早見表
| 知りたいこと | 使うツール |
|---|---|
| この通信、許可された?拒否された? | NSGフローログ |
| 最近どんな通信パターンが多い? | Traffic Analytics |
| VMからVMへ疎通できない原因は? | Network Watcher |
| 複数サービスのログを横断検索したい | Log Analytics |
実務での活用シーン
よくある使い方3選
① セキュリティインシデントの原因調査
不審なアクセスが発生したとき、「どのIPから・いつ・どのポートへ」アクセスがあったかを遡って調べられます。事後調査(フォレンジック)に欠かせません。
② ルール設定ミスの確認
「ファイアウォール(NSG)のルールを変えたら繋がらなくなった」というときに、フローログを見ると「Deny(拒否)」になっているレコードが見つかり、どのルールが悪さをしているか特定できます。
③ 不要なポート開放の検出
全く通信が来ていないポートが開いたままになっていないか定期チェックに使えます。ゼロトラスト推進・セキュリティ強化の文脈で重要です。
ログの保存先と注意点
[有効化フロー]
Azure Portal / ARM テンプレート / Terraform
↓
Network Watcher でNSGフローログを有効化
↓
ストレージアカウント(JSON形式)に蓄積
↓
┌─────────────────────────┐
│ Log Analytics │
│ Traffic Analytics │ ← 分析・可視化
│ Splunk / Microsoft Sentinel │
└─────────────────────────┘
⚠️ ストレージコストに注意!
大規模環境では1日数GBになることも。
保存期間(リテンション)設定を忘れずに。
関連する規格・RFC
| 規格・参考文書 | 内容 |
|---|---|
| Azure NSGフローログ公式ドキュメント | Microsoft Learn にてバージョン1/2の仕様を公開 |
| RFC 3954 | NetFlow(Cisco)の仕様。フローログの概念的な元祖 |
| RFC 5101 / 5102 | IPFIX(IP Flow Information Export)。NetFlowを標準化したもの |
| CIS Microsoft Azure Foundations Benchmark | NSGフローログ有効化をセキュリティ要件として推奨 |
関連用語
- NSG(ネットワークセキュリティグループ) — Azureの仮想ファイアウォール。フローログの記録対象そのもの
- Network Watcher — NSGフローログを有効化・管理するAzureの監視基盤
- Traffic Analytics — NSGフローログを視覚的に分析するAzureのダッシュボード機能
- Log Analytics — ログをKQLクエリで横断検索できるAzureのログ分析サービス
- SIEM —