WAF
ビジネスシリーズ:専用サーバー、及びマネージドVPSでは、SQLインジェクション攻撃等によるコンテンツ改ざん、データ漏洩などからWebサーバーやデータを守るWAF(Web Application Firewall)製品「SiteGuard Server Edition」に有償オプションで対応しています。
WAFについて
EGセキュアソリューションズ株式会社の国産WAF製品である「SiteGuard Server Edition」はSQLインジェクション、クロスサイトスクリプティング、ディレクトリトラバーサル、OSコマンドインジェクション等のWebサイトを対象とした攻撃に対して、標準で搭載されている高品質・高精度なトラステッド・シグネチャ(ブラックリスト)による防御を行い、高い安全性を確保します。
WAFを利用すれば、悪意のある攻撃者がお客様のページ内の脆弱性を内包したページに不正にアクセスしても、攻撃パターンがトラステッド・シグネチャと一致すればエラーページが返されるので脆弱性の影響を回避できます。
参考サイト
防御できる攻撃について
トラステッド・シグネチャ(ブラックリスト)により、http(80番ポート)及び、https(443番ポート)への不正なWebアクセスに対し、以下の攻撃を防ぐことが可能です。
- SQLインジェクション (不正なDB操作で個人情報を抜き取ったりする攻撃)
- クロスサイトスクリプティング
- ディレクトリトラバーサル
- OSコマンドインジェクション
- 改行コードインジェクション
- PHPリモートファイルインクルード
- ブルートフォース攻撃対策 (対象URLなどを事前に設定必要)
WAFが攻撃を検知すると、ブラウザーには以下のようなメッセージが表示され、アクセスを拒否します。
- WAF攻撃検知メッセージ画面
※ .htaccessでウェブサイトのForbidden(403)のエラー画面をカスタマイズする設定を行っている場合は、上のメッセージではなくお客様がカスタマイズした画面が表示されます。
もし、正規のアクセス(例えば、お問い合わせフォームの正規投稿)にも関わらず、このようなメッセージが表示されてアクセスが拒否される場合は、当社にご連絡いただければ、設定のチューニングを致します。設定のチューニングには、簡易なもので最大2営業日、高度なものはそれ以上の日数を頂きます。なお、お客様側で「接続元IPアドレスによるWAF検査の除外」を行うことも可能です。
アクセス元の国別よる拒否機能について
接続元IPアドレスから、接続元の国を割り出し、国ごとにWebサイトへのアクセスを許可するか、拒否するかを設定することができます。例えば、日本以外からのアクセスを拒否することが可能です。
国別の拒否機能を利用する場合は、当社サポート窓口までご連絡ください。
インストールと料金について
SiteGuard Server Editionは、Apacheのモジュールとして提供されており、オプション追加申請を頂いた日から2営業日以内に当社にてインストールを行います。SiteGuard Server Editionの管理画面は当社で管理しますが、ホワイトリストの追加依頼などのチューニングには、随時対応いたします。
WAFに対応できるサービス一覧
- 法人向けサービス:ビジネスシリーズ:専用サーバー (OSがCentOS5系の場合を除く)
- 法人向けサービス:ビジネスシリーズ:マネージドVPS (OSがCentOS5系の場合を除く)
- 代理店制度:ビジネスシリーズ:専用サーバー (OSがCentOS5系の場合を除く)
- 代理店制度:ビジネスシリーズ:マネージドVPS (OSがCentOS5系の場合を除く)
初期費用 | 33,000円 |
月額利用料 | 10,780円 |
※ 脆弱性に対する攻撃を完全にWAFで防御できるわけではなく、また、誤検知の可能性もありますのでご承知の上、ご利用下さい。FTPやメール、sshへのアクセスに対する防御機能はありません。
管理者への検出通知機能について(ご利用者様向け)
攻撃を検出した際、特定のメールアドレスに検出通知を送信することができます。
検出通知はサーバーに設定されている全てのドメインが対象となります。
設定をご希望の場合は、以下検出通知設定項目一覧を参考に、設定内容を記載のうえ、サポート窓口にメールにてご相談ください。
項目名 | 設定例 |
---|---|
通知間隔 | 分単位の「通知間隔」または、「毎日指定時刻」に送信するよう設定ができます。 |
最大詳細件数 | 検出通知には、検出状況の集計結果と、各検出についての詳細情報が記載されます。最大詳細件数はデフォルトで100件分が表示されるよう設定されています。 |
送信先メールアドレス | 検出通知の送信先を設定します。複数登録することが可能です。 |
送信元メールアドレス | 送信元メールアドレスを自由に設定できます。ドメイン名は正引きが可能である必要があります。指定が無い場合は、「wafreport@サーバー名」で設定いたします。 |
検出通知メールの件名は「Notification of ATTACK DETECTION(MONITOR:*, BLOCK:*, FILTER:*)」となります。「*」の部分は実際の検出数等が表示されます。
検出通知はWAFをインストールしたサーバーのローカルSMTPサーバーを利用して送信します。外部のSMTPサーバーをご利用になりたい場合は、ご相談ください。
WAF検査の除外方法(ご利用者様向け)
.htaccessを使用して、WAF検査の無効化や、接続元IPアドレスによるWAF検査の除外等をお客様自身で設定することができます。
以下の案内する「.htaccess」ファイルを作成し、WAF検査を除外したいディレクトリにFTP等でアップロードします。WAF検査の除外設定は.htaccessを設置した配下のディレクトリにも引き継がれます。.htaccessファイル自体の利用法は.htaccessマニュアルをご参照ください
WAF検査の無効/有効設定方法
以下内容の.htaccessを設置したディレクトリとその配下のディレクトリのアクセスに対して、WAFの検査を無効にします。
<IfModule mod_siteguard.c> SiteGuard_User_Enabled off </IfModule>
WAF検査を無効にしたディレクトリ配下にある特定のディレクトリのみ、WAF検査を有効にしたい場合は、WAF検査を有効にしたいディレクトリに以下内容の.htaccessを設置します。
<IfModule mod_siteguard.c> SiteGuard_User_Enabled on </IfModule>
特定のファイルのみ、WAF検査の無効にしたい場合は以下のように記述します。以下の例では、.htaccessを設置したディレクトリにある「foo.cgi」というファイルにアクセスした場合、WAF検査を無効にします。
<IfModule mod_siteguard.c> <Files ~ "foo\.cgi$"> SiteGuard_User_Enabled off </Files> </IfModule>
複数のIPアドレスからの接続についてWAF検査を除外する方法
接続元IPアドレスを複数指定したい場合は、SiteGuard_User_ExcludeSigを各IPアドレスごとに記載します。以下の例では、接続元IPアドレスが「192.168.10.1」と「192.168.10.101」だった場合、WAF検査を除外します。
<IfModule mod_siteguard.c> SiteGuard_User_ExcludeSig ip(192.168.10.1) SiteGuard_User_ExcludeSig ip(192.168.10.101) </IfModule>
接続元IPアドレスに加え、特定のファイルへのWAF検査を除外する方法
特定のIPアドレスからの接続かつ、特定のファイルのみ、WAF検査の除外を行いたい場合は以下のように記述します。以下の例では、接続元IPアドレスが「192.168.10.1」かつ、.htaccessを設置したディレクトリにある「bar.cgi」というファイルにアクセスした場合、WAF検査を除外します。
<IfModule mod_siteguard.c> <Files ~ "bar\.cgi$"> SiteGuard_User_ExcludeSig ip(192.168.10.1) </Files> </IfModule>
特定のディレクトリ配下で、WAF検査除外を無効にする方法
上位ディレクトリで設定したWAF検査の除外設定を、配下のディレクトリで無効にする場合は以下のように記述します。
以下の例では、接続元IPアドレスが「192.168.10.1」の時、/www やその配下のディレクトリにアクセスした場合は、WAF検査を除外しますが、 /www/sample というディレクトリにアクセスした場合は、通常通りWAFの検査を行います。
上位ディレクトリ( /www )内の.htaccess ----------------------------------------------- <IfModule mod_siteguard.c> SiteGuard_User_ExcludeSig ip(192.168.10.1) </IfModule> 下位ディレクトリ( /www/sample ) 内の.htaccess ----------------------------------------------- <IfModule mod_siteguard.c> SiteGuard_User_ExcludeSig clear </IfModule>
WAFの検出ログの閲覧方法(ご利用者様向け)
ユーザーページの「生ログの取得」ツールで、WAFの検出ログが取得可能です。
- ダウンロードできるログの種類について
- ●WAF detectログ Webサーバーの外部からの攻撃などによりWAFが検知した際のログが取得できます。
- ●WAF formログ WebサーバーのWAF検知の原因となったデータが取得できます。
- ●SSL WAF detectログ httpsサーバーの外部からの攻撃などによりWAFが検知した際のログが取得できます。
- ●SSL WAF formログ httpsサーバーのWAF検知の原因となったデータが取得できます。
detectログの例
detectログは以下のようになっています。
1500370035.750526 2 192.168.10.95 TCP_MISS/000 0 GET http://sppd.ne.jp/ - DIRECT/202.212.133.133 - DETECT-STAT:WAF:RULE_SIG/PART_PATH//OFFICIAL/94001001/url-waf-test-1:: /WAF-TEST-SIGNATURE:: ACTION:BLOCK: JUDGE:BLOCK:0: SEARCH-KEY:1500370035.750526.0:
左から、検知時刻(エポックタイム表記)、接続時間、接続元ホストのIPアドレス、処理結果(常に"TCP_MISS/000)"、ファイルサイズ、要求メソッド、接続先URL、ユーザー名(常に"-")、DIRECT/接続先IPアドレス、送受信するファイルのContent-Type、検出情報、動作、判定情報、検索キー、となっています。
formログの例
formログは以下のようになっています。
1394155264.947 0 192.168.1.1 http://sppd.ne.jp/sig_test.php REQBODY/multipart/form-data: hoge=%3Cscript%3E... SEARCH-KEY:1394155264.947.2:
左から、時刻(エポックタイム表記)、内部プロセスID(常に"0")、接続元ホスト、URL、種別、入力値、検索キー、となっています。
なお、detectログ、formログの詳細をお知りになりたい方は、サポート窓口までお問い合わせください。