WAFとは

WAFとは?仕組みやメリット、選定時のポイントを解説

WAFは、ウェブアプリケーションの脆弱性を悪用する攻撃を検出・
防御し、ウェブサイトを保護するためのセキュリティ対策です。
それぞれの単語の頭文字からWAF(ワフ)と呼ばれています。

CTA

WAFとは ~WAF選定・導入のポイントとSiteGuardが選ばれる理由~

WAFとは

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

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

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

なぜWAFが必要なのか?

安全なウェブサイトの運営には、ウェブアプリケーションのセキュリティが重要であり、セキュア設計・セキュアプログラミングが基本且つ、根本的なセキュリティ対策となります。それを完璧に行うことができれば何の心配もありませんが、常にセキュアプログラミングのノウハウを持つ自社スタッフや開発委託先を確保できるとはかぎらないのが実情です。また、人が関わる作業であることから、間違った実装や対策漏れなどが生じることも考えられます。このほか、CMSなどのソフトウェアを使用してウェブサイトを構築している場合、通常自ら脆弱性を修正するといったことは困難です。内部的な自主検査はもちろんのこと、運用開始前に第三者による脆弱性診断を受ける取り組みは一般化していますが、脆弱性が見つかった場合の対応については、運用上の理由(サイトを停止できない、バージョンアップできないなど)により修正が困難であったり、修正までに長い時間が必要になることもあります。

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

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

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

WAF

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

関連記事:

WAFとは~WAF選定・導入のポイントとSiteGuardが選ばれる理由~
おすすめのWAF「SiteGuardシリーズ」

WAFの仕組み

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

WAFによる攻撃の防御

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

WAF

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

ブラックリスト

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

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

WAF_シグネチャ-1

ホワイトリスト

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

WAF_シグネチャ-2

その他の防御機能

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

 

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

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

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

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

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

WAF導入のメリット

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

脆弱性を修正できない

脆弱性の存在を把握しながらも運用上の理由からアプリケーションを修正できない場合があります。脆弱性の修正とWAFを併用することで現実的かつ効果的なセキュリティ対策が可能です。

保険的対策

情報流出等の事故が起きてしまうと、直接・間接的に莫大なコストが発生します。事前対策としてWAFを利用することで、万が一のリスクを低減することができます。

今すぐ攻撃を防御

ウェブサイトが実害を被ると対策完了までサービスの再開は困難です。ダウンタイムは機会損失に直結します。緊急対応的なWAFの活用は迅速なサイト復旧の助けとなります。

WAFの種類

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

ソフトウェア型

ソフトウェア型のWAFの場合、ウェブサーバーにインストールして利用するホスト型の構成が一般的です。ウェブサーバーのモジュールとして動作するため、最もシンプルな構成でWAFを導入できます。ウェブサーバーごとにWAFをインストールする必要があり、導入要件がウェブサーバーの環境に依存しますが、専用ハードウェアを必要とせず、ネットワーク構成に影響を与えないことが主な利点となります。以前はウェブサーバーの負荷が課題になることもありましたが、昨今のハードウェア性能の向上もあり、影響は少なくなっています。

ホスト型WAF

SiteGuard Server Editionの詳細はこちら

後述のアプライアンス型のように、プロキシ上で動作させることでゲートウェイWAFとして活用されるケースもあります。

アプライアンス型

ハードウェア、ソフトウェアの機能が一体化し、ウェブサーバーの前段で独立した機器として動作するWAFです。
リバースプロキシのほか、インライン構成で設置されることが多く、複数のウェブサーバーを一元的に保護することができます。リバースプロキシはサイトの成長に合わせて拡張しやすく、インライン構成は導入しやすい点が特長です。専用機としてのハードウェアの購入費やネットワークの構成変更が必要となります。仮想アプライアンスとして提供されることもあります。

ゲートウェイ型WAF

クラウド型

DNSの設定変更により、WAFサービス提供事業者のネットワークを経由するようにして検査・防御するWAFです。
前述のソフトウェア型との組み合わせに似た導入形態として、ウェブサーバーにエージェントをインストールし、エージェントとサービス提供事業者のWAFがネットワーク経由で連携する形態もあります。専用ハードウェアを用意したり、物理的なネットワークを変更する必要がなく、サービスの提供事業者にWAFの運用を任せることができるという利点があります。一般的にFQDNの数や通信量によってサービス料金が上がることのほか、組織外(自社環境以外)の通信障害などの影響を受ける可能性があるといった課題もあります。

クラウドWAF

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

サービスメニュー提供型

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

WAF選定・導入のポイント

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

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

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

提供形態や構成、検討ポイントをもとに正しく選定することが大切です。

WAF選定・導入のポイント

ModSecurityのようにライセンスにしたがえば無償で利用することができるWAFもありますので、高度な技術力のある企業や個人の場合、オープンソースのWAFを有効活用することも一つの選択肢となります。しかしながら、実際の運用性やサポートを考えると、管理画面やドキュメント類、サポートデスクの利用といったサービスが充実している商用のセキュリティ製品のほうが安心できるというユーザーが多いと考えられます。

WAF導入時によくある質問

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

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

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

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

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

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

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

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

WAFとは?

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

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

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

SiteGuardシリーズにご興味のある方はこちら