WAFとは
この記事は約 2 分で読めます
WAF (Web Application Firewall) とは、 Web アプリケーションへの HTTP/HTTPS トラフィックを検査し、SQL インジェクションやXSS などの攻撃を検知・遮断する専用のファイアウォールです。通常のファイアウォールがネットワーク層 (IP アドレス、ポート番号) で通信を制御するのに対し、 WAF はアプリケーション層 (HTTP リクエストの内容) を解析します。 2025 年時点で、 API セキュリティに特化した WAF 機能の強化が進んでいます。
回数を基準にした判定が分けているもの
決められた時間の中で同じ送り元から届いた数を基準に止める仕組みは、攻撃と正規の利用を分けているのではなく、届き方のまとまりを分けています。基準となる数と時間の幅が決まっていれば、送り元をいくつかに分ける、届ける間隔を空けるという調整だけで基準の下に収まり、止める仕組みの側には何も残りません。逆に基準を厳しくすると、入力の取り違えを何度も直している人や、通信が不安定で同じ送信が繰り返される場合が、まとめて同じ形に見えます。数だけで区切る限り、この二つを同時に満たす値はありません。そのうえ、同じ送り元という単位は、実際に操作している人の単位と一致しません。多くの人が同じ出口を通って届く構成では、互いに無関係な人がまとまって一つの送り元に見え、逆に一人の操作が場所や回線の切り替わりによって複数の送り元に分かれます。単位が一致していないため、送り元をもとに数えると、まとめすぎと分かれすぎが同じ仕組みの中で同時に起こります。さらに、止めたことをどう返すかが基準の位置を伝えます。通した場合と止めた場合で応答の内容や返るまでの速さが違えば、どこから止まるのかを外側から確かめられます。境目が分かれば、その手前に収まる形へ合わせるだけで通り続けられるため、止める基準を決めるときには、止めた事実をどこまで相手に見せるかも一緒に決めることになります。
WAF の検知方式
シグネチャベース方式は、既知の攻撃パターン (例: SQL 文を含むリクエストパラメータ) をルールで定義して検知します。スコアリング方式は、複数の疑わしい特徴にスコアを付け、閾値を超えたリクエストをブロックします。機械学習ベース方式は、正常なトラフィックを学習して異常なリクエストを自動検知します。 AWS WAF 、 Cloudflare WAF 、 Akamai などのクラウド WAF は、グローバルな脅威情報をリアルタイムにルールに反映できる点が強みです。
同じ 1 件のリクエストを、どこまで見て判断するか
1 つのパターンに一致しなくても、スコアリング方式では疑わしい特徴のスコアの合計が閾値を超えた時点で遮断されます。機械学習ベース方式では、学習した正常なトラフィックからの逸脱そのものが判断材料になります。なお、導入直後のモニタリングモードでは、攻撃と判断しても遮断せず Web サーバーへ転送します。
導入シナリオと運用
EC サイトでは、ログインページへのクレデンシャルスタッフィング攻撃、検索フォームへの SQL インジェクション、レビュー投稿への XSS を WAF で防御します。導入直後はモニタリングモード (検知のみ、遮断なし) で運用し、誤検知のパターンを把握してからブロックモードに切り替えるのが安全です。正規のリクエストが誤ってブロックされるフォルスポジティブへの対処が、 WAF 運用の最大の課題です。DNS セキュリティと WAF を組み合わせることで、多層的な Web 防御を実現できます。
WAF の限界
WAF はあくまで防御層の 1 つであり、アプリケーション自体の脆弱性を修正する代わりにはなりません。 WAF を回避する高度な攻撃手法も存在するため、セキュアコーディングと WAF の両方が必要です。強力なランダムパスワードで WAF の管理コンソールを保護し、ルールの変更履歴を監査ログに記録しましょう。
この記事は役に立ちましたか?