どうもコンニチワ、セミの鳴く季節に突入し、ますます外出したくないライターのモリイです。
本業ではWordPress専用のセキュリティ診断サービスを運営しているため、常日頃からWordPressユーザーの皆様のお役に立つセキュリティ対策を提供することを心掛けているのですが、みなさまがよく利用されているセキュリティpluginについては、以下のようなお悩みをよく耳にします。
「何ができるのか?」
「何ができないのか?」
「何が不足してどうすれば補うことができるのか?」
そこで、上記の内容について、以下でまとめてみました。今回の検証はかなり時間を要するものになりましたが、ご覧いただければ幸いです。
なお、今回検証したWordPress、およびセキュリティ対策プラグインのバージョンは以下のとおりです。(2014/07/22現在)
WordPressバージョンやpluginバージョンにより設定可能な機能、対策可能な項目は異なりますので、ご注意ください。
-
- WordPress本体バージョン
WordPress3.9.1
- 検証に利用したセキュリティplugin(※すべて無料利用できる範囲の機能に限定、有料機能による検証は未検証)
- iThemes Security (formerly Better WP Security) ver.4.2.15
- All In One WP Security & Firewall ver.v3.7.6
- Wordfence Security ver.5.1.5
- Acunetix WP Security ver.4.0.3
- BulletProof Security(BulletProof Security Feature Highlights) ver.5.0.4
それぞれのセキュリティプラグインの長所・短所
1. iThemes Securityについて
基本はダッシュボードからそれぞれのSecurity Status配下のFix itボタンを押して、対策したい項目にチェックを入れるだけの便利なプラグインです。
iThemes Securityの長所
DashBoard->Security Status->High Priority(高危険度脆弱性対策)の設定のみで一旦の設定は事足りるイメージではあります。
File Change Detection(ファイル改ざん検知)機能は、WordPressの脆弱性を突いた攻撃の中でも多いファイル改ざんを検知し、通知してくれる機能です。これは設定しておいて損はないと思いますので必ずチェックを入れて設定しておきましょう、また、Files and Folders Listは検知除外ディレクトリやファイルを設定できますが、下記のような、
- wp-includes/
- .htaccess
- wp-config.php
- wp-admin/
- wp-admin/index.php
- wp-admin/js/
- wp-content/
- wp-content/themes/
- wp-content/plugins/
ファイルとディレクトリだけは除外せずに検知対象に加えておきましょう。
iThemes Securityの短所
個別のSQLインジェクションやXSSなどに対する検知機能はiThemes Securityで検知は可能ですが、攻撃対策を細かく設定できないため、物足りません。
全体として、設定による不備を補う機能が多いため、アプリケーション側の設定はミドルウェアの設定を実施して対策する必要があります。
iThemes Securityはこんな方におすすめ
iThemes Securityはサーバ設定やミドルウェアについての設定が苦手な人向けのセキュリティプラグインではありません。ダッシュボードに一覧で対策可能な項目や現状態が表示されることは秀逸ではありますが、アプリケーションに対する攻撃が多いWordPressにおいては機能不足を感じます。
ということで、以下のような方におすすめです。
- セキュリティプラグインを選定中のついで利用の方
- レンタルサーバのデフォルト設定でWordPressを利用している方
- 多人数でwp-login.phpへログインする方
2. All In One WP Security & Firewallについて
このセキュリティプラグインも、1.と同様に、ダッシュボードから現状のセキュリティ概要を把握できます。
All In One WP Security & Firewallの長所
User Login->Login Lockdown Configurationにてwp-login.phpに対するBroute Force(ブルートフォース:総当り攻撃)対策の設定が可能です。wp-login.phpに対する閲覧制限や認証をどうしても導入できない管理者向け機能ではありますが、閲覧制限をベーシック認証などで実施していても設定すべき機能です。
All In One WP Security & Firewallの短所
WordPressを初めて利用し運用管理する方には少々設定インターフェイスが使いにくい、わかりにくいのではと感じます。設定できる機能は多いものの、動作させるために必要となる対策の知識や設定の意味が理解できていないと、意図せぬ弊害を引き起こす可能性があるため、設定には細心の注意を払うか、専門家によるアドバイスなどが必要です。
また、アプリケーションよりもOSやNWレイヤーにおいての設定項目が多いため、アプリケーションに対する脆弱性をカバーするには至りません。ご注意ください。
All In One WP Security & Firewallはこんな方におすすめ
All In One WP Security&Firewallというプラグイン名の通り、Firewallで設定されるセキュリティ対策項目が多い、iptablesやhostsによる設定を代替する機能が多いため、重複設定に気を配る必要があります。
ということで、以下のような方におすすめです。
- 一定のサーバやNW設定の知識を有する方
3. Wordfence Securityについて
ダッシュボードにScan Summary(診断結果)やNew Issues(新規のお知らせ)、脆弱なファイルやアップデート可能なプラグインやファイルのお知らせが表示されるため、非常に理解しやすいです。
Wordfence Securityの長所
基本的な設定はOptions内でチェックボックスにチェックを入れる、あるいは選択するかで設定可能という、ユーザビリティの高い作りとなっています。
Performance setupにてサイト接続時の高速表示などが設定できるため、自動診断設定も可能となり、トラフィックの少ない時間帯にスキャニングを実施して、サイトの健康状態を維持するために利用するのも手です。
Wordfence Securityの短所
これと言った短所は存在しないように感じますが、やはりアプリケーションに対する攻撃に対しての対策項目不足感はあるため、ミドルウェアの設定も必須です。
※Wordfence Security 5.1.4にはXSSの脆弱性が存在しているため、最新のWordfence Securityにアップデートを実施してください。
参考:Wordfence Plugin for WordPress whois.php val Parameter XSS – OSVDB
http://osvdb.net/show/osvdb/109044
Wordfence Securityはこんな方におすすめ
設定が非常に簡単であるため、初めてWordPressを管理する人でも容易に設定が可能です。サイトの現状の健康状態を簡単に知ることができるため、モニタリングツールとしても一定のクオリティが保証できます。
が、特に悪質とは感じないものの、細かい設定を実施するにあたっては有料版を申込みしなくてはなりません。
ということで、以下のような方におすすめです。
- 今すぐWordPressの状態を知りたい方
- 英語やフランス語など、多言語サイトを運用している方
- 有料であっても簡易的な監視ツールとして利用したい方
4. Acunetix WP Securityについて
ダッシュボードに今対応すべき内容が一覧で表示され、内容の説明や対策方法も記載されるので、何をどうすべきかがわかります。
Acunetix WP Securityについての長所
Settingsにてチェックを入れるだけの簡単な設定。ダッシュボードには対応推奨の警告一覧が表示されるため、基本的な対策はただ表示される内容を実行すれば良いのですが、実行するにはサーバ接続権限とコマンドの実行が必要です。
Acunetix WP Securityの短所
表示される対策内容の中には、WordPressを健全に運用する上で不可能な内容が表示されることがあります。したがって、対策の実施の判断や実施における対応手順は、専門家に確認が必要な場合があります。
※Acunetix WP Security 4.0.3にはCSRFの脆弱性が存在しています。2014年7月22日現在、メーカーによる脆弱性対策が実施されたアップデートバージョンの配布は確認できておりません、利用に際してはご注意ください。
参考:Acunetix WP Security Plugin for WordPress /wp-admin/admin.php wps-database Page Backup Generation CSRF Weakness – OSVDB
http://osvdb.net/show/osvdb/103467
Acunetix WP Securityはこんな方におすすめ
設定は非常に簡単で現状を把握するのに適したセキュリティプラグインであると言えますが、やはりアプリケーションに対する攻撃対策は実施ができないため、サーバ設定や運用における設定での補助的な利用が望ましいでしょう。
ということで、以下のような方におすすめです。
- WordPressに関する知識が一定以上ある方
- サーバーサイドの設定変更を実行できる型
5. BulletProof Securityについて
最後に、シンプルなこちらのプラグインをご紹介します。
BulletProof Securityの長所
シンプルで、見やすい。セキュリティログを蓄積できます。
BulletProof Securityの短所
設定可能な機能が少ないです。そのため、セキュリティ上最低限必要なことを網羅できていません。
BulletProof Securityはこんな方におすすめ
設定が可能な機能は主にwp-login.phpに関する設定の強化とセキュリティログについての取り扱いについてです。
全体的にシンプルであるが設定できる機能が少ないため不足感があります。
ということで、以下のような方におすすめです。
- wp-login.phpに対する閲覧制限の実施とブルートフォース対策の実施をしたい方
- セキュリティログを蓄積し攻撃に対する対応手段を検討できる方
付録:セキュリティプラグイン機能比較表(WordPress3.9.1版)
以下の表はここまでご紹介したWordPress3.9.1に対応する5つの最新プラグインの設定可能な項目の一覧です。なお、検機能に関する差異については設定による違い、WordPressの動作環境による違いもあるため、対策性能を保障するものではありません。
また、Plugin検証においてメーカーが機能を提供していても機能していない項目や、結果として対策できていない項目については評価しておりません。表において○と記載した項目でも、攻撃に対して何らかの対策効果が見込めるものについては○と記載いたしましたが、対応範囲や程度が異なり、対策内容や効果に保障はありませんので、ご注意ください。
なお、検証で用いた手法などのはある意味でハッカーの手口を公開してしまうことになりかねないので割愛いたします、個別にお問い合わせいただければご紹介いたしますので、プロフィールからお問い合わせください。
次の表は、具体的な攻撃手法に対する5つのプラグインの対応状況を紹介しております。WordPressにおける典型的な脆弱性の例(WordPressを利用中のサイトが被害に合う攻撃手法と内容)として攻撃項目をピックアップいたしました。
留意事項として、セキュリティ対策Plugin自身に脆弱性が含まれている場合がありますので、ご利用はご自身の判断でお願いします。
それぞれのpluginは、ログ出力機能がありますが、それを見て対策するためにはかなりのリテラシーが必要です。また、各pluginは手動で設定していかなければならないため、セキュリティ対策と利便性に関してのさじ加減の調整がキモです。
しかし、昨今流行の兆しが見えるリバースブルートフォース攻撃に対するユーザーインターフェイス側の対策については、やはりpluginの機能だけでなく、多要素認証などを用いて対策を実施する他、有効な手立てはないように感じます。
それぞれのセキュリティ対策pluginについて、設定や対策できる機能について一長一短ありますが、利用しやすさや設定の容易さはまた別の機会にでもご紹介させていただければと思います。
まとめ
セキュリティプラグインは、手軽に対策したい、という方にはある程度有効です。さらに、プラグインの適切な設定やサーバサイドの設定により、よりリスクを軽減できます。
また、WordPressにおいてとりあえずてっとり早くセキュリティ対策を実施するための施策の1つはアップデートです。しかし、脆弱性に対して一時的には対策可能ですが、必ずしも全ての攻撃を防げるというものではないと理解しておく必要があります。
セキュリティpluginに限らず、pluginの重複利用はシステムの動作を圧迫し、セキュリティ事故が発生した際の原因の切り分けや、一般ユーザーへのアクセスを著しく制限することになりかねないので、利用に際しては検証や既知の脆弱性のカバーを中心に導入を検討することをお勧めいたします。
アプリケーションへの攻撃について対策できるセキュリティプラグインは今回検証できていないため、上記のプラグインを利用する際は、サーバサイドの設定やwp-login.phpへの強化・補助する目的で利用するようにしてください。(※アプリケーションサイドに対する対策をOSSパッケージで実施する際は、mod_security、suricata、snortなどを利用して対策を実施する方向性で検討いただきたいです。)
最後に
繰り返しになりますが、ご紹介したセキュリティ対策記事は設定や環境、利用中のWordPress本体バージョンにより対策可能な範囲が異なります。自社で対策が難しい場合は、ぜひ専門家にご相談ください。
LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。