WAFって何に役立つの

Date2026/04/14 Last Modified2026/04/14

概要

「最近セキュリティの重要性が高まっているらしく、うちのサイトも心配なんですよね」
「なんかXServerでWAFの設定とかすれば、だいたい大丈夫って聞いたんですけど、ほんとですか?」
「とりあえずサイトガード的なものを入れておいてもらえますか?」

ああ……領域は違えどエンジニアとしてはビシッと回答しないといけないよな……。
ということで、インフラに詳しくないのでWAFがなんなのかを調べてみることに。

問題提起

WAFについて調べてみると、以下のような回答が出てくる。
「WAFを導入することでXSS攻撃やSQLインジェクションなどの攻撃が防げます」
でも、普通にコードで制御するのと何が違うんだろうか。攻撃を検知できるとして、正常なリクエストとどう見分けていて、エラーをどうやって処理しているのか?

調べた結果

  • 普通にコードで制御するのと何が違うんだろう WAFの動作は補助的なもので、多くはコードで制御できるものと同じ部分もある。
    大きな違いは「アプリケーションに到達するか否か」である。
    WAFがある場合は、アプリケーションに到達する前にリクエスト内容を傍受し、攻撃的なリクエストを検知してレスポンスを送る。
    これによりアプリケーションにログが残らず、WAF側にログが蓄積されることになる。
    返すレスポンスは403だったりと、レスポンスを受け取った側としては何にブロックされたのかわからないようになっている。

  • 正常なリクエストとどう見分けているのか
    これはWAFに設定されているルールによって異なり、多くはパターン検出やIPのレート制限などである。
    XServerなどホスティングサービスで利用できるWAFは、デフォルトでいくつかのルールが設定されていて、ON/OFFの切り替えだけで操作可能。
    専用のWAFサービス(CloudflareやAWS)では、設定を詳細にカスタマイズできる。

  • WAFは独立したサーバーなのか
    これはサービスによる。XServerの場合はユーザーのサーバー内に組み込まれているが、実質的には前段にある共有WAFといて動作する。
    そのため、ユーザーが作成したアプリケーションとは別コンポーネントとして動作して、アプリケーションに影響を与えない。
    クラウドサービスのAWSなどでは、完全に外部サービスとして経路を仲介するケースもある。

  • SiteGuardというのはどんなサービスなのか
    SiteGuardとは、さくらインターネットで提供されているWAFサービスである。
    プリセットルールをベースに、一定の範囲で制御や除外設定が可能な中程度の自由度を持つ。
    立ち位置としては、Apacheに組み込む形(モジュール型)のWAFであり、Webサーバと同一環境内で動作する。
    AWSなどのクラウドではWAFがロードバランサ等の前段に独立したコンポーネントとして配置されることが多いが、SiteGuardはWebサーバ(Apache)のリクエスト処理の中で動作する点が特徴である。
    そのため、アーキテクチャとしては外部に独立したWAF層を持たず、単一サーバ内で防御が完結する構成になる。

結論

今のところ、実務で使うかどうかの判断をするとすれば「十分YES」と言えそうである。
料金体系等は置いておいて、Webアプリケーションのセキュリティ要件を補助してくれるという点がわかったので、導入の理由を説明することも可能。
特に懸念であった、同一IPからのアクセスをブロックする機能についても提供があるというのが分かって良かった。