テック技報最新号へ →
セキュリティ

WAF で送信元を止める前に「巻き添え」を確かめる(IP / ASN / JA4 の使い分け)

迷惑な送信元をブロックするときは、止める単位(IP・ASN・JA4・国など)ごとに巻き添えになる正規利用者がいないかを確認し、広く当たる条件は bot スコアなどと AND で組み合わせ、決め手がなければ止めずに保留して理由を記録する。

@yousukezan · 2026-10-16
#waf#cloudflare#aws-waf#bot-management#ja4#asn#false-positive#operations

いつ使うか

止める単位と、止まる範囲

単位止まる範囲巻き添えの典型
IPその IP からの全アクセスCGN(携帯/ISP の共有 IP)、会社の出口、VPN・iCloud プライベートリレー・WARP
ASN事業者ネットワーク全体ISP・携帯キャリア・VPN 事業者・クラウド上の正規サービス
JA4(TLS ClientHello の指紋)同じソフト・同じ設定の全アクセス(IP・事業者をまたぐ)一般ブラウザの JA4、社内スクリプトや取引先連携のライブラリ
国その国全体その国の正規利用者・通したいクローラー

JA4 の読み方: t13d1516h2_... の 13 が TLS 1.3、h2 が ALPN(HTTP/2)。主要ブラウザは t13...h2、Python / Go のライブラリは ALPN が 00 や h1 になりがち。ただし curl-impersonate や uTLS でブラウザの JA4 は偽装できる。

調べる入り口(Security Analytics などで)

  • 偵察: WAF を通過してオリジンに届き、404 などのエラーが多い送信元(MITRE ATT&CK T1595.003 Wordlist Scanning)。
  • 攻撃: マネージドルールでブロックされた件数が多い送信元。ほぼ攻撃だけなら送信元ごと止めると、ルールをすり抜けた分もまとめて止まる。

止める根拠になるサイン

  • リクエストがほぼ攻撃だけ(Attack Score が低い、マネージドルール該当ばかり)
  • 使っていない CMS や言語のパス、ログイン必須ページ、検証環境を次々に試す
  • 200 番台がほとんどなく 404 / 5xx が多い
  • 検索エンジンの bot を名乗るのに Verified bot ではない(運営元の公開手順で確認しても偽物)
  • 運営元不明のクローラーが負荷をかけている/公開脅威情報に載っている

止める前のチェック

  1. 共有 IP ではないか: 期間を長めにとり、人間寄りスコアのリクエストが混じっていないか、User-Agent や JA4 が何種類もないか、どの事業者の IP かを見る。
  2. ASN の種類と規模: Cloudflare Investigate で事業者の種類と IP 範囲、Cloudflare Radar(APNIC 推定)で利用者数を確認。
    • ホスティング: 複数 IP から攻撃が続くなら ASN で止めることもある
    • クラウド: 原則 IP 単位。ASN の大半が迷惑な場合のみ ASN
    • ISP・携帯・VPN/プロキシ: ASN 単独では止めない
  3. JA4 が一般ブラウザのものではないか、社内・取引先で同じ JA4 を使っていないか。
  4. 業務で使っている bot・正規クローラー・自社拠点/VPN の出口ではないか。正規クローラーはまずレートリミットで量を抑える。
  5. 決め手がなければ保留(自然な閲覧に見える、人間寄りスコア、共有 IP で切り分けられない、クラウドで決め手なし)。

ルールの書き方

  • 国・一般ブラウザの JA4・ISP の ASN・共有 IP のような広く当たる条件は単独で使わず、Bot Score などの自動化/攻撃条件と AND で組む。値を並べるだけのルールと組み合わせルールは分けて管理する。
  • 影響が読めない条件はまず記録だけ(Log / AWS は Count)で試す。人が混じりうるならブロックではなく確認画面(Managed Challenge / CAPTCHA)。
  • アカウントレベルのルール(複数サイトにまとめて効く)はサイト側の例外より先に評価され、誤ると全サイトに波及する。どのサイトにも不要なアクセスだけを書く。
  • 例外(Skip)はパスと送信元の両方で絞り、飛ばすルールも最小限に。誤検知はルールセット全体を止めず、該当ルールだけをそのパスで外す。

止めた後

  • 日付・対象(単位と値)・理由・根拠にした画面・送信元の調査結果を記録し、保留にしたものも同じ形で記録する。
  • ブロック値はいずれ腐る(JA4 は年 1 回程度変わる、UA はいつでも変えられる、IP は持ち主が変わる)。IP リストのコメントに追加日を入れ、古いものから見直す。
  • ルール名・記録・実設定を突き合わせて揃える。

出典

X の元の投稿を開く