WAFとは

WAFとは?初心者にでもわかるセキュリティ対策の仕組み

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

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

CTA

クラウド型WAF「SiteGuard Cloud Edition」の紹介資料

インターネット黎明期である1995年では、インターネットを利用する企業はわずか11.7%でした。そのうち、ホームページによる情報提供を行う企業は24.0%と非常に少なかったのです。しかし、翌年の1996年にはインターネット利用率が50.4%と大幅に上昇し、そのうちホームページを開設している企業は39.6%に達しました。2000年代にはインターネット利用率が限りなく100%に近くなり、2001年のホームページに開設率は77.7%まで上昇し、2005年には85.6%に達します。
出典:総務省『平成27年版 情報通信白書 第1部 ICTの進化を振り返る

現在では90%以上の企業が何らかのかたちでWebサイトを運用しており、ビジネスはWebサイトありきと言っても過言ではありません。そうした中、Webサイトを活用する企業が注意しなければならないのが、サイバー攻撃による情報漏えいや改ざんなどのリスクです。Webサイトを世界に向けて公開している以上、サイバー攻撃による脅威を意識し、対策に取り組まなければいけません。

そこで本稿では、Webサイトのセキュリティ対策に欠かせない「WAF(ワフ)」の概要とそのメリットについてご紹介します。

WAFとは

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

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

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

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

なぜWAFが必要なのか?

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

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

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

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

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

重要インシデントの傾向

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

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

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

関連記事 2020.12.01

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

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

関連記事 2020.01.08

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

続きを読む

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

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

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

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

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

関連記事 2019.12.04

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

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

関連記事 2019.12.16

IPSとWAFの違いとは?

続きを読む

WAFの仕組み

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

WAFによる攻撃の防御

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

WAFによる攻撃の防御

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

ブラックリスト

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

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

WAF_ブラックリスト型

ホワイトリスト

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

WAF_ホワイトリスト型

その他の防御機能

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

 

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の安全性を高めよう

続きを読む

保険的対策

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

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

今すぐ攻撃を防御

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

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

緊急対応としての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)につながる恐れもある。
クリックジャッキング ウェブサイト上のリンクやボタンを偽装・隠ぺい、視覚的に騙してクリックに誘導し、利用者の意図しない操作を行わせる攻撃手法。意図しない商品購入や投稿、悪意あるサイトに誘導されるなどの恐れがある。
HubSpot Video

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

WAFの種類

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

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

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

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

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

メリット

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

デメリット

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

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

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

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

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

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

メリット

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

デメリット

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

クラウド型

DNSの設定変更により、WAFサービス提供事業者のネットワークを経由するようにして検査・防御するWAFです。
前述のソフトウェア型との組み合わせに似た導入形態として、ウェブサーバーにエージェントをインストールし、エージェントとサービス提供事業者のWAFがネットワーク経由で連携する形態もあります。専用ハードウェアを用意したり、物理的なネットワークを変更する必要がなく、サービスの提供事業者にWAFの運用を任せることができるという利点があります。

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

クラウド型WAF

メリット

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

デメリット

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

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

関連記事 2019.12.18

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

続きを読む

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

WAFの導入形態によっては、サーバーの台数やサイトの数により、運用性やコストが変わる可能性があることを説明してきました。どのような構成を指しているのかを説明したのが下の図です。

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

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

サービスメニュー提供型

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

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

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

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

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

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

WAF選定・導入のポイント

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

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

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

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

WAF選定・導入のポイント

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

WAF導入時によくある質問

WAFとは?

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

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

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

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

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

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

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

関連記事 2021.03.01

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

続きを読む

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

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

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

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