🕵️
ゼロデイにも効く!外部脅威フィード×FortiGateでネットワーク境界を鉄壁に
なぜ、外部脅威フィードを使うのか
ランサムウェアやマルウェアは感染後、侵入後に外部と指令・データをやり取りする司令塔であるC&Cサーバへ通信して初めて本格的に機能します。ウィルス対策ソフト等のエンドポイント保護がすり抜けられても、ネットワーク境界でC&Cサーバ宛通信を即座に拒否できれば被害を最小化できます。その最短手段が既知の悪意のあるIPアドレスリストをFWが自動参照する外部脅威フィードです。FortiGate 7.2以降ではこの仕組みが標準GUIに統合され、運用担当がCSVやスクリプトを都度手動で流し込む手間を排除できます。
FortiGateのThreat Feed機能のしくみ
取り込みフロー
-
外部リソース定義
- セキュリティファブリック > 外部コネクタ > 新規作成 > IPアドレス でURLを登録。
-
ファイアウォールアドレス化
- 登録直後、自動で Address オブジェクトとして生成される。
-
拒否ポリシー適用
- LAN → WAN のアウトバウンドに “Deny & Log” ポリシーを登録し、登録フィード宛通信を遮断。
注意が必要な制限事項
モデル階層 | 最大ファイルサイズ | IP エントリー上限 |
---|---|---|
Branch(FG-60F など) | 32 MB | 300,000 |
Campus(FG-200F など) | 64 MB | 1,000,000 |
Data Center(FG-3000F など) | 128 MB | 5,000,000 |
出展: FortiOS 7.6.3 Administration Guide - Threat feeds
- 最小更新間隔: 1分、最大: 43,200分 (30日)、既定: 5分。
- ブランチはFortiGate-60F等の2桁、キャンパスはFortiGate-200F等の3桁、データセンタはFortiGate-3000F等の4桁と製品名が分かれています。詳しくは購入先にご確認ください。
- FortiOSのバージョンによって制限は異なるので、利用中のバージョンの制限を事前にご確認ください。
- 旧バージョン (7.4.4未満) は 10MB / 131,072行 制限なので要注意。FortiOS 7.4.3 Administration Guide - Threat feeds
無償で利用できる代表的IPフィード
提供元 | 特徴 | FortiOS 必要バージョン |
---|---|---|
AbuseIPDB | ボランティア報告を点数化。危険度100%のみ抽出したリストをGithubで参照可能。borestad/blocklist-abuseipdb | 7.4+ |
blocklist.de | Fail2Banハニーポットで検出された攻撃元の内、48時間分のアクセス全件をリスト化。 | 7.2+ |
CINSscore “badguys” | Critical Security社が運営するハニーポット連動リスト。 | 7.2+ |
ShadowWhisperer/IPs | GitHubで公開、スキャナーやブルートフォース主体のブラックリスト。 | 7.2+ |
montysecurity/C2-Tracker | Shodan/Censys等のスキャナーで検出されたC&Cサーバ及び攻撃元のリスト。 | 7.2+ |
各フィードURL
- AbuseIPDB:
https://raw.githubusercontent.com/borestad/blocklist-abuseipdb/refs/heads/main/abuseipdb-s100-7d.ipv4 - blocklist.de:
https://lists.blocklist.de/lists/all.txt - CINSscore:
https://cinsscore.com/list/ci-badguys.txt - ShadowWhisperer/IPs(Malware/Hackers):
https://raw.githubusercontent.com/ShadowWhisperer/IPs/refs/heads/master/Malware/Hackers - ShadowWhisperer/IPs(Malware/Hosting):
https://raw.githubusercontent.com/ShadowWhisperer/IPs/refs/heads/master/Malware/Hosting - montysecurity/C2-Tracker:
https://raw.githubusercontent.com/montysecurity/C2-Tracker/refs/heads/main/data/all.txt
実装
GUIで登録
- セキュリティファブリック > 外部コネクタ で 新規登録からIPアドレスを選択。
- 名前 に
AbuseIPDB_7d_100
、外部リソースのURL に
https://raw.githubusercontent.com/borestad/blocklist-abuseipdb/refs/heads/main/abuseipdb-s100-7d.ipv4
を貼付。 - リフレッシュレートを30分に変更し、OK。
- ファイアウォールポリシー で LAN→WAN Deny ポリシーを新規作成し、宛先に登録したフィードを選択。
CLIで管理
config system external-resource
edit "AbuseIPDB_7d_100"
set type address
set resource "https://raw.githubusercontent.com/borestad/blocklist-abuseipdb/refs/heads/main/abuseipdb-s100-7d.ipv4"
set refresh-rate 30
next
end
config firewall policy
edit 10
set name "Block C2 outbound"
set srcintf "lan"
set dstintf "wan"
set srcaddr "all"
set dstaddr "AbuseIPDB_7d_100"
set action deny
set schedule "always"
set logtraffic all
next
end
確認コマンド
CLIからdiagnose sys external-address-resource list
コマンドを利用すると、リストから何件読み込まれているかを確認できます。
# diagnose sys external-address-resource list
List of external address resources:
name:CINS, uuid-idx:704, num of ipv4/ipv6 ranges:11245/0, used:yes
name:AbuseIPDB_7d_100, uuid-idx:701, num of ipv4/ipv6 ranges:90636/0, used:yes
name:Blocklist.de, uuid-idx:703, num of ipv4/ipv6 ranges:12094/123, used:yes
-
entries exceed limit
エラーが出た場合はリストサイズを削るか、FortiGateハードウエアのモデル更改を検討してください。 - 接続失敗時は取得済みのデータが24時間保持されます。
まとめ
外部脅威フィードは “セットアップが簡単・メンテも自動” という強力な武器です。FortiGate 7.2以降ならGUIで数クリック、CLIでも十数行で導入でき、ゼロデイや未知マルウェアでも「C&Cと通信する瞬間」に強制切断できます。まずは容量・品質ともバランスの良い AbuseIPDB や blocklist.de から始め、必要に応じて C2 Tracker など専門性の高いリストを追加するというアプローチが、誤検知を抑えつつ防御を高める黄金パターンになります。
Discussion