WEBアプリケーションファイアウォール(通称:WAF。ワフと読みます。)を使うと、不正な攻撃からサイトを防御し個人情報や機密情報を保護する有用なものです。今後WAFをサイトへ採用しようと検討中の方に向けて、メリット・デメリットのほかどのような攻撃を防げるか、どういった導入方法があるのかをご紹介します。この記事を読んでぜひWAFの導入業務へ着手する際の最初の基礎知識としていただけると幸いです。
1.WEBアプリケーションファイヤーウォール(通称:WAF)とは
WAF(Web Application Firewall)は、Webアプリを攻撃から守るための防御壁です。通常のファイアウォールがネットワーク全体の不正アクセスを防ぐのに対し、WAFはWebアプリ特有の脆弱性を狙った攻撃を防ぎます。具体的には、サイトの改ざん、個人情報の漏洩、不正ログインなどを防ぐ役割があります。いわば「Webアプリ専用の用心棒」と言うとわかりやすいかもしれません。
1-1.WAFとは?
WAFは、WEBアプリへの通信を監視し不正なリクエストをブロックする専用のセキュリティ装置です。
具体的には以下のようなものを守ります:
・サイトやWEBアプリの機能
・サーバー上に保存されたのファイルデータやデータベース
WAFは、HTTPやHTTPS通信の内容を詳細に分析し、後述するSQLインジェクションやクロスサイトスクリプティングなどの攻撃を検知して断ち切ります。一般的に言うファイアウォールは不正なアクセスの侵入を防ぐ目的ですが、WAFはWEBアプリへの攻撃に防御を提供するものです。
1-2.企業で何を使っているとWAFは入れた方がいいのか
サイトやWebアプリを公開している企業は、WAFの採用を検討すべきです。特に、顧客情報や会員情報など、機密性の高い情報を扱っている場合は必須と言えるでしょう。ECサイト、会員制サイト、社内システムへのアクセスなど、Web経由でデータがやり取りされるシステムは、WAFによる保護を検討しましょう。レンタルサーバーでも利用可能な場合があるので、例えばレンタルサーバーにコーポレートサイトだけを公開している企業でもWAFを利用できる場合があります。
1-3.WAFを入れるメリット
WAFを導入する最大のメリットは、Webアプリのセキュリティレベルを向上させられることです。Webアプリとは、身近な例ではワードプレスもWebアプリです。WAFで脆弱性を悪用した攻撃からサイトを守り、情報漏洩やサービス停止のリスクを軽減できます。またWAFがあることで自動で防御が行われますので、担当者の一定の負担は未然に軽減できるとも言えます。
1-4.WAFのデメリットとは
費用面では、初期費用や運用コストがかかるというデメリットがあります。(レンタルサーバーの場合は無料で使える場合もあります)一番のデメリットは、正常なアクセスを誤ってブロックする可能性があることです。そのため、WAFの採用や運用には、ある程度の設定に関する知識が必要です。適切に設定・運用すれば、デメリットを上回るセキュリティ効果が期待できます。
1-5.WAFとFW/IDS/IPSの違いは
ファイアウォール(FW)は、ネットワークの出入り口で不正な通信を断ち切る役割を担います。IDS(不正侵入検知システム)は、ネットワークを流れる通信を監視し、不正なアクセスを検知して管理者に通知します。IPS(不正侵入防御システム)は、IDSの機能に加え、不正なアクセスを検知した場合に、自動的に断ち切る機能も持ちます。これに対し、WAFはWebアプリそのものへの防御に特化して、SQLインジェクションやクロスサイトスクリプティングといった攻撃を防ぎます。それぞれ守る場所と守り方が違うと覚えておきましょう。
2.WAFで防げる攻撃は?
以下ではWEBアプリへの代表的な攻撃とその防御について説明します。これらの攻撃はWEBアプリに対する主要な脅威となっており、WAFによる防御が力を発揮します。
2-1.DDoS攻撃
DDoS攻撃(分散型サービス妨害攻撃)は、大量のコンピューターからサイトに集中してアクセスさせ、サーバーを過負荷状態にしサービスを停止させることです。WAFは、DDoS攻撃の兆候を検知し、アクセスを制限したり、攻撃元からのアクセスを断ち切ることで、サイトを防御します。
2-2.クロスサイトスクリプティング(XSS)
クロスサイトスクリプティング(XSS)は、サイトに悪意のあるスクリプトを埋め込み、ユーザーがそのサイトを閲覧した際に、スクリプトが実行される攻撃です。WAFは、入力されたデータの中に危険なスクリプトが含まれていないかをチェックし、XSSを防ぎます。
2-3.SQLインジェクション
SQLインジェクションは、Webアプリの入力フォームなどを悪用して、データベースを不正に操作する攻撃です。WAFは、入力されたデータの中に不正なSQL文が含まれていないかをチェックし、SQLインジェクションを防ぎます。
2-4.OSコマンドインジェクション
OSコマンドインジェクションは、Webアプリを通じて、サーバーのOSコマンドを不正に実行します。WAFは、入力されたデータの中に危険なOSコマンドが含まれていないかをチェックし、OSコマンドインジェクション攻撃を防ぎます。
2-5.パス・ディレクトリトラバーサル
パス・ディレクトリトラバーサルは、Webアプリのファイルパス指定の脆弱性を利用して、本来アクセスできないファイルに不正にアクセスする攻撃です。WAFは、ファイルパスの指定に不正な文字列が含まれていないかをチェックし、パス・ディレクトリトラバーサル攻撃を防ぎます。
2-6.ブルートフォース
ブルートフォース攻撃は、パスワードを様々なパターンで試して、不正にログインを試みる攻撃です。WAFは、短時間での連続したログイン試行を検知し、アカウントをロックしたり、アクセス制限等を行い、ブルートフォース攻撃を防ぎます。
3.WAFの種類
WAFには採用形態によって大きく3つのタイプがあります。それぞれに特徴があり、企業の規模やシステム環境に応じて最適な形態を選択することが重要です。
3-1.ホスト型WAF(ソフトウエア型WAF)
WEBサーバー上に直接インストールして使用するタイプです。
主な特徴:
・サーバーごとに個別に導入可能
・比較的低コストで導入できる
・サーバーの処理能力を使用する
3-2.ゲートウェイ型WAF(ネットワーク型)
ネットワーク上に専用の機器を設置するタイプです。
主な特徴:
・専用機器のためパフォーマンスと処理能力が高い
・複数のWEBサーバーを一括保護も可能
・導入コストが比較的高い
・導入に専門的な知識が必要
3-3.サービス型WAF
クラウドサービスとして提供されるタイプです。
主な特徴:
・初期投資が少なく導入も容易
・機器の運用管理がない
・スケーラビリティが高い
4.WAFの導入例
具体的な導入方法について、代表的な例を紹介します。
4-.1レンタルサーバーで使う(さくらインターネットの例)
さくらインターネットのレンタルサーバーにはWAF機能を月額料金で利用可能です。
コントロールパネルからWAF機能を有効化でき攻撃パターンも自動更新されます。レンタルサーバーでも会社によってはWAFを利用可能な場合があります。詳しくはこちらへ。
4-.2オンプレミスで使う(FortiGateの例)
自社のオンプレミスのWEBサーバーを使っている場合、FortiGateのような機械(UTMと言います)をWebサーバーの入り口に設置して、WAFとして使う方法があります。FortiGateは、色々なセキュリティ機能がまとまっていて、WAFはその中の一つです。自社で細かく設定できるのがメリットですが、ある程度の知識が必要になります。
4-.3クラウドで使う(Azureの例)
Microsoft Azureのようなクラウドサービスを使っている場合、Azure WAFというサービスを利用して、WAFの機能を使うことができます。Azure WAFは、Azure上で動いているWebサイトを守ってくれます。クラウド型なので、機器を購入する必要がなく、必要な分だけ利用料を支払う形になります。技術的な部分はMicrosoftにお任せできるので、専門知識が少なくても導入しやすいのが特徴です。
コメント