2018年7月18日より、エックスサーバー をご契約中の方(全プラン)を対象に「WAF設定」機能を無料で利用できるサービスが始まりました。
WAFを簡単に説明すると、サイバー攻撃の脅威からWebサイトやシステムを守るセキュリティ対策の一つです。Webアプリケーションに特化したセキュリティであることが特徴です。
WAFとは
WAF(Web Application Firewall)とは、ウェブ・アプリケーション・ファイアウォールの略で「ワフ」と呼ばれています。その名のとおりWebアプリケーションに特化したセキュリティツールです。
サーバーの前面に設置され、Webサイト上で動作するWebアプリケーション(プログラム)に脆弱性(ぜいじゃくせい)に対し、悪意ある攻撃からWebサイトを保護し、不正ログインを防ぐことを目的としています。
オンラインバンキングやネットショッピングサイト、SNSのログインなどのように、ユーザーからの入力情報を受け付けたり、リクエストに応じて動的ページが生成されるWebサイトの保護を対象としています。
WAF設定を有効にすることのメリット
著名なプログラムで脆弱性が報告された場合、修正プログラムが配布されるまで少し時間がありますよね。悪意を持った第三者は、このわずかな合間を狙って脆弱性を突く攻撃をしてくることがあります。
WAF設定を有効にすることで、利用中のプログラムで脆弱性が報告された場合でも、このような攻撃による不正アクセス被害を防げる可能性があります。ただ、WAFだけで全ての脆弱性に対する攻撃を防ぐことはできません。多重のセキュリティ対策の一つとしては非常に有効です。
エックスサーバー WAFの6項目
エックスサーバーでは、WAF設定として6つの項目を別々に設定することが可能です。
XSS (クロスサイトスクリプティング)
クロスサイトスクリプティングとは、ユーザがWebサイトにアクセスときに表示内容が生成される「動的Webページ」の脆弱性、もしくはその脆弱性を利用した攻撃方法のことをいいます。
この動的Webページの表示内容を生成する際に、任意のスクリプト(簡単なプログラムのこと)が紛れ込み、Webサイトを閲覧したユーザー環境で実行されてしまうのです。
動的Webページとは
アクセスするたびに表示が変わる可能性のあるページのこと。
たとえば、Twitterの場合、誰をフォローし、誰からフォローされているかなどの情報は、利用するユーザーによって違いますよね。ブログもそうです。カテゴリーや記事が増えるたびに、表示される情報が変化していきます。
エックスサーバー より引用
不正アクセス例
- クッキーの値を不正に取得、設定しセッションハイジャックを行う
- CSRF(クロスサイトリクエストフォージェリ)の踏み台とする
- URL等を偽装し利用者をフィッシングサイトへ誘導する
ターゲット
- 掲示板
- ブログシステム
- 他、第三者が入力した情報を表示するアプリケーション全般
対策内容 javascriptなどのスクリプトタグが埋め込まれたアクセスについて検知します。
用語の解説
セッションハイジャック
本人に成り代わって通信を行う(いわゆる、「なりすまし」)サイバー攻撃のことをいいます。
CSRF(クロスサイトリクエストフォージェリ)
Webアプリケーションの脆弱性への攻撃方法のこと。攻撃用Webページにユーザーを誘導し、不正なリクエストを攻撃対象サーバーへ送り込みます。攻撃を受けたサーバー上のWebアプリケーションは不正なリクエストを処理し、ユーザーが意図していない処理が実行されてしまいます。
これにより、掲示板やアンケートフォームへの「いたずら的な書き込み」「不正サイトへの誘導」「犯罪予告」などの書き込みが行われてしまいます。
SQL (SQLインジェクション)
SQLとは、データベースの操作や制御を行う言語で、世界共通の標準言語として広く利用されています。
SQLインジェクションとは、Webアプリケーションの脆弱性に対して、ユーザーが意図しないSQL構文(いわば、データベースへの命令)を実行させることにより、データベースを不正に操作する攻撃のことをいいます。
要するに、攻撃されるとデータベースの情報が読み取られたり、改ざんや削除されたりする可能性があるということです。
エックスサーバー より引用
不正アクセス例
- SQL構文を利用した不正な文字列を付加し意図しないSQL文を発行する
- データベース情報の漏洩を試みる
- データベースの情報の書き換えや破壊を試みる
ターゲット
- データベース登録を行う会員制サイト
- データベースを利用したアプリケーション全般
※利用者の入力した内容からSQL文を生成するアプリケーションが不正アクセスの対象となります。
対策の内容 SQL構文に該当する文字列が挿入されたアクセスについて検知します。
ファイル (ファイル不正アクセス)
サーバーにあるファイルを上書きし不正にアクセスできるようにする攻撃です。
エックスサーバー より引用
不正アクセス例
- パスワードの記述されたファイルを上書きし認証の掛かったページに不正アクセスを行う
- サーバーの設定ファイルを書き換えることで挙動の乗っ取りが行われる
ターゲット
- 画像アップロード機能付き掲示板
- ファイル操作が行われるアプリケーション
対策内容 .htpasswd .htaccess httpd.conf等、サーバーに関連する設定ファイルが含まれたアクセスを検知します。
メール (メールの不正送信)
意図しないメールの大量送信に対する対策
エックスサーバー より引用
不正アクセス例
- メールが送信されるフォームを利用した第三者への大量メール送信が行われる
ターゲット
- メールを送信する機能を備えたアプリケーション
対策内容 to、cc、bcc等のメールヘッダーに関係する文字列を含んだアクセスを検知します。
コマンド (コマンドアクセス/実行)
コマンドとは、コンピュータに特定の機能の実行を指示する命令のことです。
エックスサーバー より引用
不正アクセス例
- コマンドを実行できるスクリプト言語(PHP,Perl等)を通してコマンドを不正実行させる
- サーバーに関する重要な情報の盗み見や、踏み台として利用する
ターゲット
- PHPやPerl等で作成されコマンド実行を利用するアプリケーション
対策内容 kill、ftp、mail、ping、ls 等コマンドに関連する文字列が含まれたアクセスを検知します。
PHP (PHP関数の脆弱性)
PHPとは、Web開発に適したオープンソースのスクリプト言語のことです。PHP関数の脆弱性を攻撃することで管理者の権限やサーバーの乗っ取り被害にあう可能性があります。
エックスサーバー より引用
不正アクセス例
- セッションを書き換え、会員ページへのアクセスや管理者権限の乗っ取り
- 不正ファイルのアップロードを踏み台にサーバーの乗っ取り
ターゲット
- PHPを用いたアプリケーション全般
対策内容 session、ファイル操作に関連する関数のほか脆弱性元になる可能性の高い関数の含まれたアクセスを検知します。
WAF設定前の注意事項(エックスサーバー)
WAFを設定したからといって、不正アクセスを100%防げるわけではありません。あくまで最低限の予防策に過ぎません。
脆弱性に対する不正アクセスへの根本的な対応は、ベンダーから提供されるアプリケーションのバージョンアップです。常に最新バージョンへアップすることが望ましいということです。
WAF設定は厳格なルールに従って不正アクセスを判断するため、ご利用のWebアプリケーションの動作についても影響を与える可能性がありますのであらかじめご了承ください。
※WAF設定の追加・変更後、反映まで半日程度かかる場合がありますのであらかじめご了承ください。
エックスサーバー より引用
他のサーバーでは、WordPressで記事の更新ができなくなったり、ログインできなくなったりといったトラブルが起こったりしているようです。ご自身の判断で設定しましょう。
WAFの設定方法
エックスサーバーへアクセスし、ログイン > サーバーパネル を選択します。
サーバーIDとパスワードを入力
サーバーパネルの セキュリティ>WAF設定 を選択
設定するドメインを選択
WAFの設定をしたい項目をオンにする
以上で設定は終わりです。
まとめ
WAFを設定することでセキュリティアップを図れるのは間違いありません。
設定することで、エラーが発生する可能性もあるので、テストサイトで試してみたいと思っています。