WAFとの違いについて
名称変更について
2025年3月に espar から espar vault (エスパーボルト)へ名称が変更されました。サービスの機能・仕様・価格に変更はありません。詳しくはこちらをご覧下さい。
企業のセキュリティ要件として「WAFに相当するセキュリティ対策」が求められることがあります。espar vault の静的化アプローチは、WAFが提供する防御機能を内包し(原則WAF導入と同義)、さらにそれを上回る包括的なセキュリティ効果やその他の効果をご提供しています。
本ページでは、espar vault とWAFとの違いについて解説します。
WAFの役割と限界
WAF(Web Application Firewall)は、Webアプリケーションへの攻撃的アクセスを検知・遮断することで、以下のような攻撃からWebサイトを保護するセキュリティソリューションです。
- SQLインジェクション
- コマンドインジェクション
- ディレクトリトラバーサル
- セッションハイジャック
- ファイルアップロード攻撃
しかし、WAFには以下の本質的な限界が存在しています。
- ゼロデイ攻撃への脆弱性
- 運用上の課題
- 誤検知リスク:正常なアクセスを攻撃と誤認する可能性
- 専門知識の要求:適切な運用には高度な専門知識が必要
- パフォーマンス影響:通信処理遅延の発生
WAF機能を内包する静的化
静的化は、WAFが達成しようとする「攻撃的アクセスの無効化」という意味では同義です。つまり、静的化はWAFを導入したことと同じ効果を持ちます。
攻撃的アクセス無効化の仕組み
espar vault では、CMS側の全ページのURLパスを把握して静的化(HTML化)し、CMSサーバとは異なる別の公開用サーバにホスティングします。その上で、あるURLにリクエスト(第三者による攻撃的アクセスも含む)が届いた場合、公開用サーバは以下のように振る舞います。
- 当該URLが存在するパス・パラメタである → 静的化(HTML化)したページを返す
- 当該URLが存在するパス・パラメタでない → 404 not found を返す
これは、CMS側(制作側)で意図したURLパス・パラメタ以外は全て存在しないものとして扱われるということを意味します。
そのため、espar vault 導入するサイトでは、
- 全ページを漏れなく静的化すること
- 全ページに関連するリソースファイル(CSS/JavaScript/画像/PDF/動画…等)を一つも欠損させず取り込むこと
が必要です。公開用サーバに転送するファイルが何一つ欠損してはならず、完全網羅性が求められます。CMSサイトを静的化する際に抱えやすい困難の一つですが、espar vault では完全網羅を達成するように、
- 弊社独自開発の高品質な静的化エンジン (静的化漏れや取り漏れがない)
- 導入時のCMS側サイト構造分析と設定
のご提供を行っており、他社ソリューションにはない espar vault の強みとなっています。
完全網羅により可能となる根本施策
上述の通り、espar vault を導入したサイトでは、リクエストを受けた際に、
- 存在するURLパス・パラメタである → 200 応答
- 存在しないURLパス・パラメタである → 404 応答
という割り切りができるようになります。サイトに必要なファイル群を全て洗い出し、一つの欠損もなく公開サーバに転送できているからこそできることです。
この完全網羅により espar vault 公開サーバには、以下が一切不要となります。
- PHP等のサーバサイドプログラムの実行環境
- データベースシステム
- セッション管理
- ファイルアップロード機能
- その他「ファイルを返す応答」以外に不要なもの全て
WAFが防御しようとする攻撃とは、全て上記が存在するために発生する攻撃です。
これらが存在せず、かつ、CMS側で意図したURLパス・パラメタ以外は全て404応答する espar vault 公開サーバには、そもそも攻撃が成立しません。これが espar vault が達成する「攻撃的アクセスの無効化」です。
WAFは、攻撃的アクセスの知見をパターン・シグネチャとして凝縮させたソリューションですが、espar vault はそれらを行わなくてもCMSサイトを公開できるようにしたソリューションです。
「攻撃的アクセスの無効化」という目的において両者は同じです。従って espar vault の導入はWAFの導入と同義 です。ただ、攻撃を受ける前提で防ぐのを頑張るのか(WAF)、攻撃がない構成にするのか(espar vault)、両者は攻撃無効化のアプローチが異なります。
弊社では後者がよりセキュアであると考えています。
espar vault が WAF より優位といえる論理的根拠
espar vault は、WAFが獲得不可能な3つの特徴を持っています。
1. ゼロデイ攻撃への耐性
リクエストされたURLが存在すれば200、無ければ400。これが espar vault の特徴であると前述しました。これは、攻撃パターンやシグネチャが存在しない未知の攻撃に対しても同様です。
WAFはゼロデイ攻撃には脆弱ですが、espar vault はゼロデイ攻撃についても耐性を持っています。
2. サイトの高速化
PHP等のサーバサイドプログラムやデータベースは、サイト応答速度が遅くなる主原因です。静的化を行うとサイトの応答はHTMLや関連ファイルを返すのみとなり、理論上最高速度でサイトを閲覧できるようになります。
WAFはサイトの高速化には寄与せず、全てのリクエストをパターン・シグネチャチェックするためにレイテンシ(遅延)を増大させます。
一方で、espar vault はサイトの応答速度を最大限向上させて閲覧快適性を向上させます。これは閲覧者の閲覧体験や回遊率の向上を意味し、ひいてはWebサイト運用の目的達成に寄与します。(コンバージョン増・集客増・売上増など)
3. CMS障害時にもサイト継続可能
espar vault の静的化では、サイトに必要な全ファイルを別の公開サーバにホスティングします。これは、CMSで構築したサイトのクローンを別サーバでホスティングしていることと同義です。その結果、CMSに万が一トラブルがあった場合(サーバダウンや表示破損等)でも、サイト運営を正常に継続できることを意味します。
WAFは、CMSのトラブル時においてはサイトの正常運営に寄与しませんが、espar vault ではCMSのトラブルに対する耐性も強化されます。
CMS管理画面に対する攻撃的アクセス無効化
CMSで攻撃者に狙われやすいのは、コンテンツの登録や編集等を行う管理画面です。espar vault では、導入して頂く際にCMSの構築方法によって2種類の導入方式をご用意しています。
後者の別ドメイン方式での導入は、セキュリティを重視する場合に採用できる方式です。この方式を採用することで、管理画面に対して攻撃者が一切アクセスできない 環境を構築することができます。
狙われやすい管理画面についても espar vault のアプローチは変わりません。攻撃を頑張って防ぐ(WAF)のではなく、攻撃がそもそもない環境を作る(espar vault)ようにしています。詳しくは別ドメイン方式での導入のページをご覧下さい。
静的化で守れない例外
ここまで espar vault による静的化の優位性について論じてきましたが、決して万能ではありません。サイト内に存在する以下のよう要素は、静的化が適用できない箇所となりえます。
- サイト内検索
- 問い合わせフォーム
- その他「アクセスの瞬間PHPが動作しなければならない」機能や実装
これらの要素(動的要素と言います)が存在する場合、リバースプロキシという技術を使って、当該URLパス・パラメタへのアクセスについてのみ公開サーバに穴をあけ、CMS側に直接アクセスが届くようにします。詳しくはリバースプロキシについてをご覧ください。
リバースプロキシによって動的要素が正常に機能する一方で、当該パスは攻撃的アクセスに脆弱になってしまいます。静的化によるメリットが享受できない箇所として、以下のような対応が推奨されます。
- 動的要素をなくした実装に改修する(つまり静的化対象とする)
- CMS側の当該パスで動作するPHP等に脆弱性対策の実装を行う
- CMS側にWAFを導入する
弊社では、1を支援するソリューションとして、静的ページ向けの問い合わせフォーム実装ツール espar form を提供しています。
なお、以下に該当するサイトの場合、本件に関する心配は無用です。なぜならCMSサーバに悪意ある攻撃的アクセスが届くことはないからです。
- リバースプロキシが適用されたパスがサイト内に存在しない場合
- 動的要素があっても、iframe や JavaScript でサイト内に埋め込む形で機能を外部サービスに委譲している場合 (espar form, microCMS, HubSpot, algolia等)
本当に攻撃されないのか?
静的化は全く新しい最新のセキュリティアプローチです。Webサイトを守る = WAF導入という通念は依然根強く、「WAFサービスである」と表向き標榜しているわけではない espar vault の安全性がご心配になるのも無理はありません。
万が一ご心配な場合、上述の解説を踏まえ、ぜひ以下を検討して頂きたく思います。
- PHP等のサーバサイドプログラムが存在せず、
- データベースも存在せず、
- WordPress等のCMSも存在せず、
- HTML/CSS/JS/画像といったファイルを返すこと以外に不要なプログラムが一切存在せず、
- 別ドメイン化で管理画面に第三者がアクセスできず(別ドメイン方式での導入のみ)、
- セキュリティについてに記載の堅牢なアクセス制御が施されたサーバ
に対してどのような攻撃が成立させられそうでしょうか。
- SQLインジェクション → 404となります
- ディレクトリトラバーサル → 404となります
- 未知の攻撃 → 404となります
- 管理画面へのアクセス → 別ドメイン化しているのでアクセス先は分からず、IP制限/Basic認証もかかっておりアクセスはできません
- 公開サーバへのssh/ftp → 公開サーバはTCP/IPの80番443番ポートにしか応答しませんのでアクセスはできません
このように、espar vault はそもそも攻撃されない構成を実現することにより、WAFを超えるセキュリティと、WAFが提供できない付加価値をご提供しています。