近年、Webアプリケーションの脆弱性を悪用する攻撃からWebサイトを保護するソリューションとして、WAFの導入が進んでいます。
本稿では、オープンソースのWAFであるModSecurity のCore Rule Set(CRS)から「WAFのルール」について解説します。
WAF(Web Application Firewall)とは
WAF(ワフ:Webアプリケーションファイアウォール)は、Webアプリケーションの脆弱性を悪用した「個人情報の窃取」や「Webサイト改ざん」などの攻撃からWebサイトを保護するツールです。
Webアプリケーションを利用するユーザーは、HTTP通信によって情報をやり取りします。ユーザーが書き込みや参照などの操作をすると、要求(リクエスト)がWebサイトに送られ、その結果(レスポンス)をユーザーに返します。このとき、データベースを不正に操作するような通信が紛れていると、情報漏えいなどの事件につながる恐れがあります。
WAFは、HTTP通信の内容を1つ1つ検査することで、不正アクセスがないかを監視します。不正アクセスをブロックし、正規のユーザーからのアクセスは許可するという考え方で、シグネチャによるパターンマッチングを基本とし、シグネチャ以外の機能や独自の検査ロジックを組み合わせることで検査の精度を高めているWAFが多くなっています。
ModSecurityとは
ModSecurityは、Apache HTTP ServerやNginx、Microsoft IISのモジュールで、Webサーバーのモジュールとしてインストールするホスト型WAFです。オープンソースで開発されているため、ライセンスにしたがえば無償で利用できることが大きなメリットです。
Core Rule Set(CRS)
ModSecurityには、攻撃を検出するためのルールセットであるCore Rule Set(CRS)が準備されており、このルールセットがシグネチャに該当します。
CRSは、要求と応答の脅威カテゴリごとにルールを有効にできます。また、URI、ヘッダー、Cookie、リクエストボディ、応答本文などの対象を指定することが可能です。
ルールセット内には、偽陽性が発生した場合に個々のルールを無効にするオプションがあります。
偽陽性とは、本来「正常な HTTP 通信」であるにもかかわらず、「不正な HTTP 通信」と判定されるエラーです。偽陽性が生じると、利用者の正当な HTTP 通信が WAF で遮断されることになります。防御力はもちろんのこと、偽陽性が少ないということは、WAFの導入・運用において重要なポイントとなります。
要求ルールセット
要求ルールセットは、Webサーバーに対するHTTP要求を検査し、不正アクセスがないかを判定するために用いられます。
- Scanner detection (スキャナ検出)
- Protocol enforcement (プロトコル強制)
- Protocol attack (プロトコル攻撃)
- Local file inclusion (ローカルファイルインクルージョン)
- Remote file inclusion (リモートファイルインクルージョン)
- Remote code execution (リモートコード実行)
- PHP injectionPHP (インジェクション)
- Cross-site scripting (クロスサイトスクリプティング)
- SQL injection (SQL インジェクション)
- Session fixation (セッション固定)
- Session Java (Java攻撃)
CRSを活用することで、SQLインジェクションやクロスサイトスクリプティング(XSS)、OSコマンドインジェクションなどのWebアプリケーションの脆弱性を悪用する攻撃からWebサイトを保護することができます。
応答ルールセット
応答ルールセットには、以下のようなものがあります。
- Data leakages (データ漏洩)
- SQL data leakages (SQL データ漏洩)
- Java data leakages (Java データ漏洩)
- PHP data leakages (PHP データ漏洩)
- IIS data leakages (IIS データ漏洩)
応答ルールセットは、Webサーバーからの応答をチェックして、応答に存在すべきでない情報(SQLエラーやphpinfoの情報など)がないかを検査します。
検出時は、遮断(ブロック)のほか、攻撃を検出しても記録(ロギング)のみといったアクションを指定することができます。
まとめ
本稿では、ModSecurityのCore Rule Set(CRS)をもとに、WAFの役割とルールについて簡単にご紹介しました。
WAFを活用したWebサイトのセキュリティ対策を検討するにあたり、オープンソースWAFを検討するのは一つの案です。ModSecurityには、無料ながら自由度が高いというメリットがあります。WAF導入によるセキュリティ対策の強化を検討している場合は、低コストでWAFを導入・運用する場合の一つの選択肢として、ModSecurityの導入も考えておきたいところです。
とはいえ、ある程度専門的な知識がなければ、運用することが難しいのも事実です。実際「一度はModSecurity によるセキュリティ強化を試みたものの、使いこなすのが難しく、サポート面が心配」といった事情から、当社にご相談いただくこともあります。必要に応じた商用製品のWAF導入は、結果としてコスト低減につながることがあります。
- カテゴリ:
- WAF
- キーワード:
- セキュリティ対策