WAFとは?改めて考えるWebサイトセキュリティ

 2020.02.19  株式会社ジェイピー・セキュア

私たちは日頃からインターネットを通じて、Webアプリケーションやサービスを利用し、様々な恩恵を受けています。その一方でWebサイトの改ざんや情報漏えいなどの事件・事故は後を絶ちません。Webサイトの運営者は、Webサイトを取り巻く脅威が身近に存在していることを認識し、適切な対応を実施する必要があります。

Webサイトを取り巻く脅威からWebサイトを保護する機能を有し、Webサイトのセキュリティ対策の強化に欠かせない存在となったのがWAF(Web Application Firewall)です。本稿では、WAFとはどのような製品なのか?どのようなケースで役立つのかを解説します。

WAFとは?

WAFを解説するにあたり、まずは「Webアプリケーション」と「脆弱性」について知っていただきたいと思います。

Webアプリケーションとは、皆さんがインターネットを通じて日頃から使用しているアプリケーションのことで、検索エンジンやインターネットバンキング、ブログなど、Webを介して利用するアプリケーションと考えるとイメージしやすいと思います。
Webアプリケーションの開発には、Ruby・PHP・Python・Java・JavaScript・HTML・CSSといったプログラミング言語が使用され、クライアントとWebサーバーがHTTPプロトコルにしたがって通信し、ユーザーからのメッセージなどの入力や検索結果に対して応答します。
Webを介してクライアントからの要求に動的に応答するプログラムのセキュリティ上の問題、つまり脆弱性が存在すると外部からの情報の窃取や改ざんを許すことになるため、安全なWebアプリケーション、サイト運営には脆弱性対策がとても重要です。

脆弱性は自社開発におけるコーディングの際に生じてしまうケースや使用しているフレームワーク、CMSで脆弱性が発見されるといったケースがあります。ソースコードにちょっとした不備があっただけでも、それがセキュリティ上の大きな問題となり、情報漏えいやサイト改ざんといった被害に繋がる危険性があります。

ここで本題に戻ります。WAFとは、Webアプリケーションに対して実行されるサイバー攻撃を防御するためのセキュリティ製品です。脆弱性をゼロにすることは、現実的に考えて難しい面があります。Webアプリケーションは継続的な改善が加えられますし、人手を介する作業であるためミスが絶対に生じないと言い切ることはできません。また、Apache Struts 2やWordPressといったフレームワーク、ソフトウェアにおいても脆弱性が発見されることがあります。開発・提供元からの脆弱性情報がないか情報収集に努め、適切な対策を講じる必要があります。

そこでWAFの登場です。WAFは、クライアントからWebサーバーへのHTTP/HTTPS通信の内容を1つ1つ検査して、不正なアクセスがないかをチェックします。不正アクセスや脆弱性を悪用する攻撃と思わしき通信があれば、即座にアクセスを遮断し、Webアプリケーションを保護します。万一の脆弱性に備えて、また運用上の問題ですぐにバージョンアップすることができない事態など、WAFを導入しているとセーフティネットとして大きな役割を果たします。

では、WAFは数あるサイバー攻撃の中でもどのような攻撃を防げるのでしょうか?

SQLインジェクション

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

関連記事:WAFによるSQLインジェクション攻撃の防御

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

脆弱な標的サイトにアクセスするように仕向けることで、ウェブサイトが本来想定していない機能(スクリプト実行など)をブラウザ側で実行させる。Cookieのセッション情報が盗まれるなどの恐れがある。

クロスサイトリクエストフォージェリ

対象ウェブサイトの投稿や登録といった重要な機能について、他のサイトから本来の手順を経ずにクライアントに実行させる。なりすまし投稿などに悪用される恐れがある。

OSコマンドインジェクション

OSコマンドを含んだ入力データを送信してサーバー上のリソースに不正にアクセスする。サーバー上で任意のコマンドが実行された結果、大きな被害を受ける恐れがある。

関連記事:WAFによるOSコマンドインジェクション攻撃の防御

ディレクトリトラバーサル

ディレクトリパスを遡ってサーバー上のファイルに不正にアクセスする。本来公開を意図していないファイルへの参照・実行の恐れがある。

関連記事:WAFによるディレクトリトラバーサル攻撃の防御

改行コードインジェクション(HTTPヘッダ、メールヘッダ)

改行コードを含んだ入力データを送信して、HTTPレスポンスヘッダやHTTPレスポンスを改ざんする。クライアントは偽りのCookieやページ内容による影響を受ける可能性がある。任意のメールヘッダの挿入や本文の改変、不正なメール送信に悪用される可能性もある。

WAFは、Webアプリケーションの脆弱性を悪用する攻撃の防御に特化した製品であり、様々な脅威からWebサイトを保護します。

 

WAFが有効なケース

WAFの活用が有効なケースは大きく以下の3つがありますので、それぞれのケースについて説明します。

脆弱性を修正できない

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

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

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

保険的対策

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

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

今すぐ攻撃を防御

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

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

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

WAFを検討しよう!

いかがでしょうか?Webサイトセキュリティを強化したい、サイバー攻撃による情報漏えいやサイト改ざんを防ぎたい、サービスに安全性という付加価値を持たせたい、などのニーズを持っている場合は、ぜひWAFをご検討ください。サイバー攻撃による被害が起こってからでは後手となってしまうため、事前対策としてのWAF導入をおすすめします。

信頼の純国産ソフトウェア型WAF SiteGuardシリーズ製品概要

SITEGUARD
ジェイピー・セキュアソフトウェアライセンス価格表

RELATED POST関連記事


RECENT POST「技術動向」の最新記事


WAFとは?改めて考えるWebサイトセキュリティ
SITEGUARD

RANKING人気資料ランキング

RECENT POST 最新記事

ブログ無料購読

RANKING人気記事ランキング

TOPIC トピック一覧