WAFとは

WAFとは?仕組みやメリット、選定のポイントまで徹底解説!

WAF(ワフ)は、Webアプリケーションの脆弱性を悪用する
サイバー攻撃からWebサイトを保護するセキュリティ対策です。

2023.09.27  EGセキュアソリューションズ

CTA

1分でわかる!SiteGuardシリーズ

このページでは、Webサイトのセキュリティ対策に有効な「WAF(ワフ)」の概要とそのメリット、コストまでを徹底解説します。

WAFとは

Web Application Firewall(ウェブアプリケーションファイアウォール)

WAFは、SQLインジェクションやXSS(クロスサイトスクリプティング)などのWebアプリケーションの脆弱性を悪用する攻撃からWebサイトを保護するセキュリティ対策です。Web Application Firewallの略称で、それぞれの単語の頭文字からWAF(ワフ)と呼ばれています。よく知られているネットワークの境界線でアクセスを制御するファイアウォールとは異なり、通信内容をアプリケーションレベルで検査できるのが特徴です。

ECサイトやインターネットバンキングのように、会員の個人情報やクレジットカード情報などを取り扱い、ユーザーからのリクエストに応じて動的にページを作成するWebサイトが主な保護対象となります。

Web Application Firewall(ウェブアプリケーションファイアウォール)

なぜWAFが必要なのか?

安全なWebサイトの運営には、Webアプリケーションのセキュリティが重要であり、セキュア設計・セキュアプログラミングが基本且つ、根本的なセキュリティ対策となります。

それを完璧に行うことができれば何の心配もありませんが、常にセキュアプログラミングのノウハウを持つ自社スタッフや開発委託先を確保できるとはかぎらないのが実情です。また、人が関わる作業であることから、間違った実装や対策漏れなどが生じることも考えられます。

このほか、CMSなどのソフトウェアを使用してWebサイトを構築している場合、通常自ら脆弱性を修正するといったことは困難です。

内部的な自主検査はもちろんのこと、運用開始前に第三者による脆弱性診断を受ける取り組みは一般化していますが、脆弱性が見つかった場合の対応については、運用上の理由(サイトを停止できない、バージョンアップできないなど)により修正が困難であったり、修正までに長い時間が必要になることもあります。

結果、SQLインジェクションやXSSといった攻撃による被害が多発してしまっているのが実情です。

重要インシデントの傾向

株式会社ラック:JSOC INSIGHT vol.28

このような実情から根本的なセキュリティ対策を基本としつつ、別のアプローチでの対策が求められるようになり、Webアプリケーションの脆弱性の有無とは独立したかたちで攻撃を防御できるWAFの活用が急速に進んでいます。

関連記事 WAFはなぜ導入が必要?利用目的とメリット・デメリットを解説

関連記事 2020.12.01

WAFはなぜ導入が必要?利用目的とメリット・デメリットを解説

続きを読む
関連記事 WAFが実現するセキュリティ対策について

関連記事 2020.01.08

WAFが実現するセキュリティ対策について

続きを読む

WAFとファイアウォール、IPSの違い

同じファイアウォールという名称を含んでいますが、IPアドレスやポート番号、通信方向といったルールをもとにアクセスを制御する一般的なファイアウォールとは異なり、WAFはHTTP通信の内容を検査することでWebサイトに対する不正アクセスを検出します。また、OSの脆弱性やワームなどの特徴的な通信を検出し、システムを幅広く防御するセキュリティ対策として、IPS(不正侵入防止システム)がありますが、IPSではWebアプリケーションの脆弱性を悪用した攻撃を防ぎきることはできません。

WAFとファイアウォール、IPSの違い

Webサイトのセキュリティ対策には、ウェブアプリケーションの保護に特化したWAFが必要とされており、ファイアウォールやIPSとの違いは機能の優劣ではなく、それぞれが担う役割の違いを意味しています。

関連記事 WAFとファイアウォールの違いとは?

関連記事 2019.12.04

WAFとファイアウォールの違いとは?

続きを読む
関連記事 IPSとWAFの違いとは?

関連記事 2019.12.16

IPSとWAFの違いとは?

続きを読む

WAFの仕組み

WAFはWebアプリケーションの保護に特化したセキュリティ対策で、HTTPプロトコルでやり取りされるデータを検査し、Webアプリケーションの脆弱性を悪用する不正アクセスからWebサイトを保護します。

WAFによる攻撃の防御

WAFによる防御の基本はシグネチャ検査です。検出ルール(シグネチャ)に基づき、HTTPリクエスト(要求行、要求ヘッダ、要求本文)およびHTTPレスポンス(ステータスコード、応答ヘッダ、応答本文)に含まれる各種データを検査して攻撃を検出します。

WAFによる攻撃の防御

※HTTPSの検査は、WAFやサーバー、経路上で適切にSSLの設定を行う必要があります。

シグネチャには定義方法により、不正なパターンを定義する「ブラックリスト(拒否リスト)」と安全とみなすパターンを定義する「ホワイトリスト(許可リスト)」の二種類があります。

ブラックリスト(拒否リスト)

“不正な値や攻撃と判定するルール”を定義したものであり、通信の内容がルールに一致した場合に防御します。SQLインジェクションやXSS(クロスサイトスクリプティング)など、Webアプリケーションの脆弱性を悪用する攻撃を防ぐためのルールが定義されているほか、アクセス頻度の判定などの独自ルールを定義できることもあります。

通常、単にシグネチャと呼ぶ場合はブラックリストを指すことが多く、製品が標準搭載するシグネチャを活用することで、利用者は一から防御ルールを作成する必要なく、全サイトに対して均一のセキュリティ対策を適用することができます。

WAF_ブラックリスト型

ホワイトリスト(許可リスト)

“正しい値、想定している通信の内容”を定義したものであり、 通信の内容がルールに一致しなかった場合に防御します。入力される内容を数値に限定したり、桁数を制限するといったルールが該当します。

WAF_ホワイトリスト型

その他の防御機能

WAFはシグネチャ検査だけでなく、Cookieを保護する機能やページ遷移の検査、トークンの発行とチェック、応答ヘッダの追加・削除などの機能を備えていることがあります。また、近年は独自の検査ロジックを組み合わせたり、AIを活用しているWAF、DDoS攻撃に対応したWAFなど、様々なセキュリティ対策が行えるようになっています。

 

WAFの種類

近年のWAFは誤検出の低減や性能の向上など、様々な工夫がなされているだけでなく、Webサイトの特性や運用方針に合わせて、いくつかの形態から選択することができるようになっています。

クラウド型

DNSの設定変更により、WAFサービス提供事業者のネットワークを経由するようにして検査・防御するWAFです。
(Webサーバーにエージェントをインストールし、エージェントとサービス提供事業者のWAFがネットワーク経由で連携する形態もあります。)

専用ハードウェアを用意したり、物理的なネットワークを変更する必要がなく、サービスの提供事業者にWAFの運用を任せることができるという利点があります。

一般的にFQDNの数や通信量によってサービス料金が上がることのほか、組織外(自社環境以外)の通信障害などの影響を受ける可能性があるといった課題もあります。

クラウド型WAF

メリット

  • 比較的に導入が容易で、メンテナンスや更新の手間が少ない
  • Webサーバーとは独立した環境であり、WebサーバーのOSや環境に依存しない(DNS切替型)

デメリット

  • 通信量やサイト数が多い場合、課金形態によってはコスト高になる
    (通信量に波のあるサイトの場合、コスト試算が難しいことがある)
  • ファイルのアップロード・ダウンロードが多いサイトには向いていない

関連記事 クラウド型?サーバー(ホスト)型?タイプで選ぶWAF

関連記事 2022.11.25

クラウド型WAFとは?導入のメリットと選び方を解説

続きを読む

クラウド型WAF(SiteGuard Cloud Edition)の詳細はこちら

ソフトウェア型(ホスト型)

ソフトウェア型のWAFの場合、Webサーバーにインストールして利用するホスト型の構成が一般的です。Webサーバーのモジュールとして動作するため、最もシンプルな構成でWAFを導入できます。

WebサーバーごとにWAFをインストールする必要があり、導入要件がWebサーバーの環境に依存しますが、専用ハードウェアを必要とせず、ネットワーク構成に影響を与えないことが主な利点となります。以前はWebサーバーの負荷が課題になることもありましたが、昨今のハードウェア性能の向上もあり、影響は少なくなっています。

ソフトウェア型WAF(ホスト型WAF)

メリット

  • シンプルな構成で、ネットワーク構成に関する設定変更が不要
  • 1台あたりに要するコストが、トラフィック量やサイト数に依存しない

デメリット

  • Webサーバーの台数が多い場合の管理が課題
  • インストール先のWebサーバーのOSや環境に依存する

ホスト型WAF(SiteGuard Server Edition)の詳細はこちら

アプライアンス型(ゲートウェイ型)

ハードウェア、ソフトウェアの機能が一体化し、Webサーバーの前段で独立した機器として動作するWAFです。
リバースプロキシのほか、インライン構成で設置されることが多く、複数のWebサーバーを一元的に保護することができます。

リバースプロキシはサイトの成長に合わせて拡張しやすく、インライン構成は導入しやすい点が特長です。専用機としてのハードウェアの購入費やネットワークの構成変更が必要となります。仮想アプライアンスとして提供されることもあります。

アプライアンス型WAF(ゲートウェイ型WAF)

メリット

  • Webサーバーの台数増加に応じて、1 台あたりのコストが安くなる(一元的に保護)
  • Webサーバーとは独立した環境であり、WebサーバーのOSや環境に依存しない

デメリット

  • 専用機器の導入と維持にコストがかかる
  • ネットワーク構成の変更が必要になるほか、設定が難しいことがある

サービスメニュー提供型

AWSやAzureなどのパブリックラウドのサービスメニューとして提供されるWAFです。スピーディにデプロイすることが可能である反面、メンテナンスは自社で行うことが一般的で、Webアプリケーションやセキュリティに精通していないと適切に運用できない場合があります。近年は、防御ルールの作成や適用、メンテナスを自動化するサービスも提供されています。

WAF導入のメリット

WAFを導入することで、運用上の理由によりアプリケーションの修正が困難な場合や保険的対策として万一の事態に備えるほか、セキュリティ事故が起きてしまったあとの事後対策に役立てることができます。

脆弱性を修正できない

脆弱性の存在を把握しながらも運用上の理由からアプリケーションを修正できない場合があります。このケースは、メンテナンス計画の都合や修正に想像以上の工数を要するといった場合だけでなく、Apache Struts 2のようなフレームワークやWordPressなどのCMSを利用している場合にもWAF活用のメリットがあります。

利用しているフレームワークやソフトウェアに脆弱性が発見された場合、自ら脆弱性を修正して対処するということは困難です。開発元や提供元から修正バージョン、パッチなどに関する情報を入手して適用するなど、迅速かつ適切な対応が求められます。しかしながら、稼働中のWebサイトに対する影響を考慮する必要があり、事前のバックアップやテスト環境等による修正バージョンの適用、動作確認が推奨されているため、思うように作業が進まないことがあるのが実情です。

脆弱性の修正やパッチの適用を計画しながら、WAFを併用することで現実的かつ効果的な対策が可能となります。

関連記事 Apache Log4jの脆弱性(CVE-2021-44228)と「SiteGuardシリーズ」の対応

関連記事 2021.12.11

Apache Log4jの脆弱性(CVE-2021-44228)と「SiteGuardシリーズ」の対応

続きを読む
関連記事 WAFとセキュリティプラグインでWordPressの安全性を高めよう

関連記事 2020.03.02

WAFとセキュリティプラグインでWordPressの安全性を高めよう

続きを読む

保険的対策

情報漏えい等の事故が起きてしまうと、直接的・間接的に莫大なコストが生じてしまいます。前述のとおり、Webアプリケーションの開発には人手を介し、継続的な改善が加えられていくため、脆弱性ゼロは難しいというのが現状です。

事前対策としてWAFを導入することで、万が一のリスクを低減することができます。WAFは、Webサイトのセキュリティ対策の強化に欠かせない存在となり、近年のWAFのニーズとして多いケースとなっています。

今すぐ攻撃を防御

Webサイトが実害を被ると対策が完了するまでサービスの再開は困難となり、ダウンタイムは機会損失に直結してしまいます。2000年代半ば頃、SQLインジェクションの脆弱性、攻撃が広く知られるようになり、2010年頃までSQLインジェクション攻撃による大規模な情報漏えいが多発していました。2011年には、「LizaMoon攻撃」と呼ばれたSQLインジェクションによる世界的な大規模改ざんが大きな話題になりました。

現在は、事前対策としてのWAF導入が進んでいますが、当時のWAFの用途としては、Webサイトが攻撃を受けて実害を受けたあとの事後対策という面がありました。実際、当社も2010年頃は「脆弱性の修正をしながらサービスを再開するため、WAFで防御しながら作業を進めたい」といったご相談を多くいただいていました。

緊急対応としてのWAF活用は迅速なサイト復旧の助けとなります。

WAFの導入で防御できる攻撃

WAFを導入することで、以下のような攻撃を防ぎ、Webサイトのセキュリティレベルを向上させることができます。

SQLインジェクション SQL文を含んだ入力データを送信してデータベースに不正にアクセスする。データベース内の機密情報の漏洩やデータ改ざんにより、大きな被害を受ける恐れがある。

XSS(クロスサイトスクリプティング)

脆弱な標的サイトにアクセスするように仕向けることで、Webサイトが本来想定していない機能(スクリプト実行など)をブラウザ側で実行させる。Cookieのセッション情報が盗まれるなどの恐れがある。
CSRF
(クロスサイトリクエストフォージェリ)
対象Webサイトの投稿や登録といった重要な機能について、他のサイトから本来の手順を経ずにクライアントに実行させる。なりすまし投稿などに悪用される恐れがある。
OSコマンドインジェクション OSコマンドを含んだ入力データを送信してサーバー上のリソースに不正にアクセスする。サーバー上で任意のコマンドが実行された結果、大きな被害を受ける恐れがある。
ディレクトリトラバーサル ディレクトリパスを遡ってサーバー上のファイルに不正にアクセスする。本来公開を意図していないファイルへの参照・実行の恐れがある。
改行コードインジェクション
(HTTPヘッダ、メールヘッダ)
改行コードを含んだ入力データを送信して、HTTPレスポンスヘッダやHTTPレスポンスを改ざんする。クライアントは偽りのCookieやページ内容による影響を受ける可能性がある。任意のメールヘッダの挿入や本文の改変、不正なメール送信に悪用される可能性もある。
XXE(XML External Entity) XMLには実態参照と呼ばれる内部・外部(URL)リソースを読み込む構文があり、XXEはアプリケーションがXMLを処理する際にこの構文を悪用される脆弱性。サーバー内の不正なファイル参照のほか、他のサーバーへ攻撃を仕掛けるSSRF(Server Side Request Forgery)につながる恐れもある。
クリックジャッキング Webサイト上のリンクやボタンを偽装・隠ぺい、視覚的に騙してクリックに誘導し、利用者の意図しない操作を行わせる攻撃手法。意図しない商品購入や投稿、悪意あるサイトに誘導されるなどの恐れがある。

WAFはどのような攻撃を防ぐことができるのか?~徳丸浩が動画で解説~

どのような企業がWAFを導入するべきか?

WAFは、Webアプリケーションの脆弱性を悪用した攻撃による個人情報の窃取や改ざんなどから、Webサイトを保護するセキュリティ対策です。

ECサイトやインターネットバンキングのように、会員の個人情報やクレジットカード情報などを取り扱い、ユーザーからのリクエストに応じて動的にページを作成するWebサイトが主な保護対象となります。

保険的対策や緊急対応として、WAFが有効なWebサイトの例:

  • ECサイトによるオンラインショップ事業を行っているサイト
  • 会員制サイトによるサービス提供、個人情報の取り扱いをしているサイト
  • CMSやフレームワークを活用して構築しているサイト

WAFの導入にかかる費用

前述のとおり、WAFにはいくつかの種類があります。それぞれに特徴があるため、導入や運用にかかるコストも異なります。

関連記事 気になるWAFのコスト!価格・料金プランを徹底解説

関連記事 2023.01.27

気になるWAFのコスト!価格・料金プランを徹底解説

続きを読む

クラウド型WAFの導入費用

一般的にサービス利用開始時に初期費用がかかります。以降は、毎月支払うサービス料金が必要となります。

特にWebサーバーやサイト数が少ない場合に、WAFを安価に導入できるほか、マネージドサービスとして提供されるため、日々の運用にかかるコストを削減できるというメリットがあります。

ホスト型WAFの導入費用

Webサーバーに製品をインストールするためのライセンス費用と保守費用がかかります。通常、年間ライセンスとなり、ボリュームディスカウント等による割引を受けられることがあります。

1台から数台のWebサーバーの環境の場合、導入にかかる費用を比較的に安く抑えることができます。クラウド型のように、Webサイトの数やトラフィック量に料金・価格が左右されることもありません。

その一方、WAFの運用を自社で行う必要がありますので、自社でWAFを運用することができるか、運用コストとのバランスを取れるかがポイントになります。

Webサーバーの台数やサイト数が多いとはどういうことか?:

WAFの種類・サーバーの台数が多い、サイト数が多いとはどういうことか?

ゲートウェイ型WAFの導入費用

アプライアンス製品の場合、専用ハードウェアを購入するための費用と保守費用がかかります。クラウド型やホスト型に比べて高額になる傾向があります。

ソフトウェア製品の場合も専用のサーバーを用意し、製品をインストールするためのライセンス費用と保守費用がかかります。そのため、コストとしては比較的に高額になりますが、既存のリバースプロキシ等を上手く活用することで費用を抑えられることもあります。

WAFの運用は自社で行うか、専門業者へ依頼するか、そのコストも考慮する必要がありますが、高機能であることも多く、保護対象となるWebサーバーの数が多い場合には有力な選択肢となります。

WAFの種類や構成だけでなく、日々の運用までを見据えたコストとして、WAFの価格・料金プランを見るようにしましょう。

WAF選定・導入のポイント

WAF選定・導入のポイントは、稼働しているWebサイトの環境や特性、運用方針に合わせて適切なWAFを選定することです。重要なポイントではありますが、単純に「インストールが簡単そうだから」「費用が安いから」という理由だけで決めてしまうと、

  • Webサイトの環境と製品・サービスの仕様が合っていなかった
  • Webサイトの拡張でドメイン数が増えたら想定以上のコストがかかるようになってしまった

など、運用開始後に困ってしまうことも少なくありません。

提供形態や構成、運用方針をもとに正しく選定することが大切です。

また、WAFの運用では、誤検知や誤検出が課題になることがあります。

WAFによるセキュリティ・サイバー攻撃対策のポイント

WAFはHTTP通信を解析・検査し、攻撃と判断した通信を遮断することで、Webサイトを保護しますが、誤検知や誤検出と呼ばれる判定ミスをすること(誤って通信を遮断してしまうこと)があります。

誤検知によるWebサイトへの影響を低減するために、Webサイトに合わせたWAFのチューニングが必要になることがあります。そのため、メーカーがWAFの導入や初期チューニングを代行するサービスを提供していたり、WAFの運用をサービスとして提供する事業者があります。

WAFの誤検知の予防や事後対応には専門の担当者が必要と言われていた時代もありましたが、昨今のWAFは複数の検知ロジックを組み合わせたり、AIを活用するなど、検査の精度や技術が向上しているほか、運用サービスとセットで提供されるクラウド型のWAFも増えています。

これらのポイントを押さえて、WAF本来の力を有効活用しましょう。

関連記事 WAF導入と運用のポイント!WAFのチューニングに必要なものとは

関連記事2022.05.17

WAF導入と運用のポイント!WAFのチューニングに必要なものとは

続きを読む

WAF導入時によくある質問

WAFとは?

WAF(Web Aplication Firewall)は、Webサイトの脆弱性を悪用する攻撃を検出・防御し、Webサイトを保護するセキュリティ対策の一つです。

WAFはどのような組織が導入するべきでしょうか?

ECサイトや会員制サイトなど、Webサイト上でサービスを提供している場合のほか、CMS(Contents Management System)で構築されたコーポレートサイトやブログサイトを運営している場合など、動的なWebサイトのセキュリティ対策にWAFの導入をおすすめしています。

WAFにはいくつか種類がありますが、どのWAFを選ぶべきか迷っています。

Webサイトの数や通信量、大容量ファイルのアップロードを行うことがあるか、自社でWAFを運用することができるかなど、Webサイトの特性や運用方針に合わせて適切なWAFを選ぶことが大切です。

どのようにSSL通信の検査をするのですか?

暗号化されているSSL通信(HTTPS)をそのまま検査することはできません。そのため、アプライアンスやクラウド型WAFには、 SSL証明書をインストールする設定が用意されていることが多くなっています。なお、Webサーバーのモジュールとして動作するホスト型のWAFの場合、SSLの処理はWebサーバーが行うため、特に意識することなく、SSL通信の検査が可能です。
関連記事 証明書はどうするの?WAFによるSSL通信の検査

関連記事 2021.03.01

証明書はどうするの?WAFによるSSL通信の検査

続きを読む

Webサーバーから見た接続元のIPアドレスは、WAFのIPアドレスに変換されるのですか?

はい。アクセス制御やログ管理において留意すべき点となりますが、プロキシ製品のWAFやサービス提供事業者のWAFを経由するクラウド型WAFの場合、接続元のIPアドレスはWAFのIPアドレスになるのが一般的です。この場合、WAFが付与するX-Forwarded-Forヘッダなどから接続元(クライアント)IPアドレスを取得することができます。なお、ホスト型のWAFやインライン構成のアプライアンス型の場合、接続元IPアドレスは変わりません。

大容量ファイルの取り扱いがあります。ファイルアップロード時のサイズ制限はありますか?

クラウド型WAFの場合、POSTデータのサイズに関する制限やタイムアウト値が設けられている場合があります。大容量ファイルを扱った運用ができるか、予め製品・サービス仕様を確認するようにしましょう。