Incapsulaを利用して無料でWebサーバ保護+高速化

 Imprevaのクラウド型Webサーバ保護・最適化ソリューションで、Incapsulaって言うのがある。
 WAFで有名なSecureSphereを簡易化した保護サービスと、それをクラウドで提供してグローバル配置することで簡単にCDNが構築できてしまうとても便利なサービス。

Dashboard

 

 職場では大手クライアントシステムでSecureSphereを利用していて保護などに満足していたけど初期が数百万からで年間も最低数十万はするんで、新規の案件に同じブランドのIncapsulaを入れようかと思って調べているときにFree版が存在するのを見つけた。

 Free版ではWAF機能は使えないけど、攻撃的BOTの排除とかキャッシュ・CDNは動く。 これは個人Webに入れるにはかなり良いんじゃ無いだろうか? 静的コンテンツとか世界中のIncapsulaサイトでキャッシュして配信してくれるようになるから、実サーバにかかる負荷が低減されるし、アクセスの多い迷惑BOTだけ自動遮断してGoogleとかは勝手に通してくれるから、これを通すだけでリアルサーバのリソース消費が劇的に抑えられるはず。

 と言うわけで、早速登録する。
 先のリンクをたどって、右上にあるPRICING&SING UPからプラン選択画面、ファーストビューには無いけど、下にスクロールしていくとFREEプランの表示があるんで、そのSTART NOWリンクを開く。
 登録画面で、名前・メールアドレス・パスワードを入力してアカウント登録。 メールで確認リンクが送られてくるんで適当にクリックしておく。

 登録完了画面からマイページに遷移していて、サイト登録画面が出てくるんでURL打ち込み。
 FreeはSSL有効だと登録できないんで、サーバでSSLをオープンしている場合には一旦iptablesで443をふさぐとかして対応。

 サイト登録が完了すると、DNS設定の情報が出てくる。
 CNAMEレコードで、サイトのアドレスをIncapsulaのノードにマッピングする。
 CNAME myblog unique.incapsula.com. みたいなレコードをDNSに登録。
 このCNAMEの向き先は、サイト登録時に生成されたユニークな名前なので、このCNAME向き先を直接開けばIncapsula経由のサイトが表示できる状態。
 DNS設定がIncapsulaに確認されるまで設定とか出来ないので適当にお茶でもすすっておこう。 IncapsulaがDNSレコードの更新を確認すれば、上にあるようなダッシュボードが表示される。

 トラフィックタブは通信状況、UAの状況とか確認できるから、迷惑BOTとかも確認しやすい。 
 Scurityタブで保護の設定状況と、検出した脅威の情報が見れる。 そこから、ブロック設定や許可設定が可能。
 Performanceタブでは通信のキャッシュ状況などが見られて、グローバルのデータセンターのどこが受け付けたかが見られたりする(Incapsulaはジオ情報に基づいて、世界中のDCでリクエストを処理してくれている)
 ErrorReportingやReal-Timeは有料プラン用なので表示できない。 有料プランの評価については、最初の登録ページからトライアルでビジネスプラン7日、プロプラン14日の試用が可能なので、興味がある人は試用しても良いだろう(※有料プラン評価は登録時にカード情報が要求される)

 Incapsulaを通すと、表示したサイトにロゴが表示されるようになる。 邪魔だと思ったら、ダッシュボード右上のSettingsリンクを開いて、General>Web SealでShow Sealのチェックを外して保存しよう。

 フリーでLogin Protect機能が使えるので紹介しておこう。
 これは、Incapsulaの段階でURLに対して二要素認証を設定できるようにする機能で、認証機能を持たないページに手軽に認証をかけたり、既存の認証に多重認証を実現できるようになる便利機能だ。

Settings  Login Protect

 Protectted Pagesで保護するURLを設定する。 任意のアプリではAdd Pagesで設定するが、メジャーなアプリはProtect Common Applicationsからアプリ(WPとか)を選ぶとURLを登録してくれる。

 設定したら、認証方法を選択するが、Freeではメール認証のみなのでE-mailが選択された状態で、Authorized Usersからユーザを登録する。
 Add Userリンクを叩くとボックスが開いて、ユーザ登録メールの送信画面になる。 Toに認証するユーザのアドレスを入れて送信すれば、登録メールが来るのでクリックして登録完了。

 登録が完了すると、当該URLの表示時には以下のような認証画面が表示されるようになる。
wp admin

 E-mailに登録した認証ユーザのメールアドレスを入れてEmail Meをクリック、CAPTCHA確認が出るので打ち込んでSubmitすればメールでパスコードが届く。
 届いたコードをログイン画面のPasscodeに打ち込んでSubmitボタンを押せば認証完了してページが表示できる。 Trust this computer for 14 daysチェックを入れておけば2週間はCOOKIEとセットで認証が保存される。

 上位プランではメール認証以外に、Google認証アプリなども使えるようになり利便性が高い。 セキュリティが弱い既存Webアプリとかのページを簡単に二重認証化出来るのはかなり良い機能じゃ無いだろうか。
 Basic認証とかだけじゃ不安なページにも適した保護だろう。

 Performanceタブではキャッシュルールなどが設定可能。 Freeで便利な物としてJS/CSS/HTMLのMinificationが出来るので、手書きのそういったコードを登録してあっても、Incapsulaを通すことで小型化できる。
 SiteSpeed等の向上が期待できるので上手く利用したいところ。
(Incapsula無しでサイト接続時にロード8秒ほどで、PageSpeed B / YSlow Cのサイトが、通しただけで3.2秒でA / Bと一気に高速化した)

 SecurityタブではBOT制御設定などが可能。 登録されたいGood Botsを選択して、お帰りいただきたいBad Botsをブロックする設定と、BOTっぽいその他のアクセスにCAPTCHAを表示させる設定が可能。
 営業エリア外のBaiduさんとかを切って、攻撃BOTも切って、BOTっぽいアクセスにはCAPTCHAで人間判定なら通常画面表示が出来る。 非常に高機能ですね。
 Webアプリの運用をしていると迷惑BOTでの負荷急上昇って結構悩みの種なので、これだけでも非常に価値があると感じる。
 あとはIPとかGeoによる制限設定が可能。

 他のモニタリング設定・IncapRules(独自保護設定)・WAF・Notificatioins・Permissionsがあるけどこれらは有料プラン用なので今回の記事では外しておこう。

 フリーでも十二分に使える機能が揃っているし、有料プランではより多くの保護を設定できるのを考えると、非常に魅力的なサービスだと言える。
 ビジネスプランで月額299ドルほどだが、上手く活用すればリアルサーバの台数をかなり削れるから、サイト負荷が上がってきたら検討したいサービスだ。

(1124)


カテゴリー: LAMP[Linux, Apache, MySQL, PHP]   パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です