
「またSQLインジェクションか…」
クライアントのサイトが立て続けに攻撃された時期があった。深夜にアラートが鳴って、ログを見て、脆弱性を潰す。でもまた攻撃される。イタチごっこ。
海外のIPから、偽装したリクエストが大量に来る。一個一個の脆弱性を塞いでも、また別の穴から入ってくる。もう個別対応じゃ無理だと思った。攻撃そのものを入り口で止める仕組みが必要だった。
それがWAF(Webアプリケーションファイアウォール)だった。
WordPressを安全に使うなら、WAFはもう必須。推奨じゃなくて必須。
こんにちは。WordPressのテーマ開発とセキュリティ対策をやってきたWeb開発者です。
今回は、WAFについて話す。なぜ必須なのか、どう選ぶべきか、自分の失敗も含めて全部書く。
「WAFってよく聞くけど何?」「サーバーのやつとプラグイン、どっち使えばいいの?」って思ってる人は、最後まで読んでほしい。
WAFって何?
ファイアウォールって言ったら、IPアドレスとかポート番号で通信を許可したり拒否したりするやつ。でもこれだけじゃWordPressへの攻撃は防げない。
WAF(ワフ)は、Web Application Firewall。名前の通り、Webアプリケーション、つまりWordPressサイトを狙った攻撃から守るための専門ファイアウォール。
普通のファイアウォールと違うのは、通信の「中身」まで見ること。

サイトに送られてくるリクエストを一個一個チェックして、SQLインジェクションとかXSS(クロスサイトスクリプティング)みたいな攻撃パターンが入ってないか監視する。怪しいパターンを見つけたら、WordPress本体に届く前にブロックする。
例えばこんなSQLインジェクション攻撃。
SELECT * FROM users WHERE user_id = '1' OR '1' = '1';この' OR '1' = '1'って部分は、データベースの認証を不正に突破しようとする典型的な攻撃コード。WAFは、このパターンを「シグネチャ」っていう攻撃パターンの辞書と照合して、「これ攻撃だ」って判断して即座に遮断する。
つまり、脆弱性(城壁の穴)がまだ残ってても、攻撃者がその穴を狙って撃ってくる矢を、城門の前で叩き落とす。そういう仕組み。

WAFが必須な3つの理由
「WAF入れてないサイトは裸で戦場に出てる」って言っても大げさじゃない。理由は3つ。
1. ゼロデイ攻撃への対策
ゼロデイ攻撃って知ってる? プラグインやテーマに脆弱性が見つかってから、修正パッチが出るまでの間を狙った攻撃。WordPressは世界中の開発者がプラグイン作ってるから、このリスクは常にある。
どんなに早く更新しても、このタイムラグはゼロにできない。でもWAFがあれば、未知の脆弱性を突こうとする攻撃でも、攻撃パターンが既存のものなら止められる可能性が高い。
これはクライアントのサイトを預かるプロとして、最低限のリスクヘッジ。
実際、あるメジャーなプラグインで深刻な脆弱性が見つかった時、パッチが出るまでの間に多くのサイトがやられた。でもWAF入れてたサイトは、ほとんどが無事だった。あの時ほどWAFのありがたみを感じたことはない。
2. イタチごっこからの解放
昔は、攻撃ログ見て、手動でIPブロックして、脆弱性を一個一個潰してた。終わりのないイタチごっこ。本来の開発業務の時間が、セキュリティ対応に奪われる。
WAF入れたら、既知の攻撃のほとんどを自動でブロックできる。本来やるべき開発業務に集中できる時間が増える。
セキュリティ対応で徹夜するより、新しいテーマ作ってる方が楽しいでしょ? WAFは、本来やるべきことに集中する時間をくれる。ビジネス的にも大きい。
3. クライアントへの「安心」という付加価値
セキュリティ対策は目に見えにくい。だからこそ、専門家の私たちが、その重要性をクライアントに分かりやすく説明して、具体的な対策を提案する必要がある。
「弊社が作るサイトは、WAFで常時監視してます。最新のサイバー攻撃から、お客様の大切なWordPressサイトを守ります」
これが言えるのは、他社との差別化になる。単なる技術的な優位性じゃない。クライアントに「安心」っていう、お金に代えられない価値を提供すること。
見積書に「WordPressセキュリティ診断・WAF導入運用費」って項目を必ず入れてる。「車の保険と同じです。万が一の時、数百万の損失を防ぐための投資ですよ」って説明すると、大抵の経営者は納得してくれる。

WAFの種類と選び方
WAFは大きく分けて3タイプある。それぞれの特徴と選び方を説明する。
| タイプ | サーバー提供型WAF | プラグイン型WAF | クラウド型WAF |
|---|---|---|---|
| 概要 | レンタルサーバーの標準機能 | WordPressプラグインとして導入 | 外部の専門サービスを利用 |
| 代表例 | ConoHa WING, Xserver | Wordfence, iThemes Security | Cloudflare, AWS WAF, Sucuri |
| メリット | 安い、設定が超簡単 | 無料から始められる、WordPress特化 | 最強、サーバー負荷ゼロ |
| デメリット | カスタマイズ性が低い | サーバーに負荷、設定が複雑 | 比較的高い、DNS設定の知識必要 |
| おすすめ | 全サイトでまずONにすべき | 小規模サイト、コスト抑えたい時 | プロ向け、ECサイトやメディアサイト |
1. サーバー提供型WAF
ConoHa WINGとかXserverとか、まともなレンタルサーバーなら今は標準でWAF機能がある。コントロールパネルからON/OFFするだけ。
メリットは手軽さ。専門知識不要で、月額数百円か無料。WordPressサイトのセキュリティ対策として、まずこれを必ずONにする。これやらないのはもったいない。
2. プラグイン型WAF
Wordfence SecurityとかiThemes Security Proみたいな、セキュリティプラグインの一部として提供されてるWAF。
メリットは、WordPress特化の細かいルール設定ができること。でも、あまり推奨しない。

デメリットは、通信の処理をWordPress自身(PHP)がやるから、サーバーに負荷がかかる。アクセス多いサイトだと、表示速度が致命的に遅くなることがある。あと、プラグイン自体の脆弱性が新たな攻撃の入り口になる本末転倒なケースもある。
セキュリティは、なるべくアプリケーション層の外側で担保すべきだと思ってる。
3. クラウド型WAF
CloudflareとかAWS WAF、Sucuriみたいな、外部の専門サービスを使うタイプ。サイトのDNS設定を変更して、全アクセスを一度クラウドWAFを経由させて、サーバーに届く前に悪意ある通信をフィルタリングする。
メリットは、最強。AIで未知の攻撃パターン検知とか、DDoS攻撃防御とか、エンタープライズレベルのセキュリティ。サーバーに負荷が一切かからないのも大きい。
デメリットは、料金が比較的高いことと、DNS設定の変更っていう専門的な作業が必要なこと。プロが、クライアントの大規模ECサイトとかメディアサイト作る時に提案する選択肢。
個人的には、Cloudflareの無料プランから始めるのがおすすめ。無料でもかなり強力だし、導入のハードルも下がった。私が管理してるサイトの多くは、サーバー提供型WAFとCloudflareの併用。
よくある質問
Q1. WAF入れたら、プラグインやテーマの更新しなくていい?
A1. ダメ。それは大きな間違い。WAFはあくまで多層防御の一部。家の門に門番置いたからって、玄関や窓の鍵かけなくていいわけじゃない。WordPress本体、プラグイン、テーマの更新っていう基本的な脆弱性対策は、引き続き絶対必要。
Q2. WAFをONにしたら、サイトが正常に表示されなくなった
A2. それは「誤検知(False Positive)」。WAFが、正常な通信を攻撃だと間違って判断してる。特に、管理画面の特殊な操作とか、プラグインのAjax通信が誤検知されやすい。慌てずにWAFの管理画面でログ確認して、特定のルールを無効化(ホワイトリスト登録)すれば対処できる。この辺の知見が、プロの腕の見せ所。

Q3. クライアントにWAFの費用をどう説明すれば納得してもらえる?
A3. 「WAFは、サイトへの攻撃を24時間365日監視するオンライン警備員です。月額数千円の警備費用をケチって、もし攻撃されてサイトが止まったり、顧客情報が漏れたら、損失は数百万、数千万円になる可能性もあります。これは『コスト』じゃなくて、未来の利益を守る『投資』ですよ」って説明する。具体的な金額を示すと、経営者は納得しやすい。
まとめ
今日の話をまとめる。
- WAFは、攻撃パターンを読み取って、サーバー到達前にブロックする仕組み
- ゼロデイ攻撃対策、業務効率化、クライアントへの付加価値提供のため、WAFは必須
- まずは「サーバー提供型WAF」を必ずON。プロなら「クラウド型WAF」の提案も視野に
- WAFは万能じゃない。WordPress本体やプラグイン、テーマの更新と組み合わせた多層防御が重要

Web制作のプロは、綺麗なサイト、動くサイトを作るだけが仕事じゃない。クライアントが安心してビジネスを続けられる、堅牢で安全な場所を作って、それを守り続けることまでが責任。
WAFの導入は、その責任を果たすための、具体的で効果的な一歩。
この記事読んで、「管理サイトのWAF設定を今すぐ確認しよう」って思ってくれたら嬉しい。あなたのサイト、クライアントのサイトが、これからも安全であり続けることを願ってる。
