Kibana Discover で HTTP ヘッダーの分布から自動スキャンの送信元をたどる
検知ルールに一致した通信から珍しいヘッダー値(Accept-Charset など)を拾い、最初の条件を外してその値を持つ通信全体を取り直す。絞り込みと「条件を外して広げる」を交互に繰り返すと、同じ自動スキャンをしている送信元をまとめて見つけられる。
事例(SANS DShield ハニーポット、約 96 万件・3 週間余り)
- Kibana の Field Statistics で、値の種類が少ない項目を中心に共通点と違いを手で見る。
- SonicWall のログイン画面を探す通信のうち、GBK を優先する同じ
Accept-Charset値を持つ 8 件を抽出。 - SonicWall の条件を外し、そのヘッダー値を持つ通信全体(47 件)へ広げる。
- 地理情報が Ontario とされた 3 件に共通する AS7456 を次の条件にし、ほかの条件を外して同 AS の全 121 件を取り直す。
- そのうち中国語優先の
Accept-Languageを持つ 31 件に絞る。 - 31 件を表計算に書き出し、6 つの送信元 IP が同じパスを繰り返し探す自動スキャンを確認。
コツ
- 途中で手掛かりを切り替える(文字セットの
Accept-Charset→ AS 番号 → 言語のAccept-Language)。 - 絞り込むだけだと最初の検知ルールの範囲から出られない。特徴を 1 つ選んだら、元の条件を外して取り直す。
- 見つけた送信元・パスは、WAF のブロックルール作り(Cloudflare 無料プランで「探索系スキャン」を塞ぐ(ブロックログ起点のカスタムルール))に使える。
注意点
- HTTP ヘッダーを記録したログが前提。
- ヘッダー値だけで攻撃と判定しない。抽出後に要求先のパスや繰り返し方を照合する。