2016.10.04 2016.10.05

知らないとヤバい。危険なWordPressプラグイン。

LINEで送る
Pocket

この記事を書いた人
しんまい君

しんまい君 元ネットワークエンジニア。WordPressのカスタマイズを主に担当。
難しそうな顔をするのが得意。福島県南相馬市出身。好きなものは柴犬。

インストールするだけで色々な機能が簡単に導入できるWordPressのプラグインって、ものすごく便利ですよね。ネットで人気のプラグインってだけど、とりあえずインストールしてみたくなるものです。

でも、それってセキュリティー上安全なのでしょうか?

WhiteSecurityの調査(Statistics Show Why WordPress is a Popular Hacker Target)によれば、70%以上のWordPressサイトが脆弱性を抱えているそうです。つまり、ハッカーなんかに攻撃を受けて、データの改ざん・盗難、マルウェア等の被害が起こりえるという話です。

この原因のひとつがプラグインによるものって、ご存知でしたか?

自分のサイトや、運用を代行しているクライアントのサイトは大丈夫って言い切れますか?

 

プラグインがセキュリティーホールになる

便利な機能を提供してくれるプラグインですが、セキュリティーホールになる可能性があります。「セキュリティーホール」とは、セキュリティー上の穴(弱点)です。プラグインがサイトの弱点になり、そこから攻撃されてしまう危険性があるということです。

以下は、セキュリティーホールが報告されたプラグインの一例です。

Fast Secure Contact Form 問い合わせフォームプラグイン。
4.0.37未満のバージョンでクロスサイトスクリプティング(XSS)に対する脆弱性。
WordPress Files Upload ファイルアップロードプラグイン。
3.4.0未満のバージョンで悪意のあるプログラムコードを含むファイルのアップロードと、そのファイルの実行。
Form Manager version フォーラムプラグイン。
1.7.2未満のバージョンでRemote Command Execution (RCE)に対する脆弱性。
Crony Cronjob Manager Cron(定期実行ジョブ)プラグイン。
0.4.4未満のバージョンでクロスサイトスクリプティング(XSS)と、クロスサイトリクエストフォージェリ(CSRF)に対する脆弱性。
Blubrry PowerPress Podcasting ポッドキャスティングプラグイン。
6.0.4未満のバージョンでクロスサイトスクリプティング(XSS)に対する脆弱性。

 

上記のプラグインは新バージョンが公開され、報告のあったセキュリティーの問題をクリアしています。

ちなみ、この記事を書いている本日2016年10月4日にも「Appointment Schedule Booking System」プラグインで、クロスサイトスクリプティング(XSS)の脆弱性が報告されています。

WordPressの本体だけでなく利用しているプラグインについても常にアップデートを行い、最新のバージョンを利用する事がセキュリティー対策として重要です。でも、とある事情でアップデート出来ないケースもあるんです。

 

プラグインのせいで、WordPressのアップグレードが出来ない?

『WordPressのアップグレードが出来なくって困っている』

『アップグレードしようとするとサイトが表示されなくなる』

そんなお問合せをいただき、お客さんの運用しているWordPressサイトを確認させていただくことがよくあります。当社で対応したケースに限って話をすると、WordPressのアップグレードで問題が発生する原因の一番手が「プラグイン」です。

WordPressアップグレード作業でのトラブルの原因ランキング

  1. 有効化しているプラグインが原因
  2. 有効化しているテーマが原因
  3. Webサーバーがアップグレード予定のWordPressインストール要件を満たしていない

 

WordPressをアップグレードしたらプラグインが動作しなくなった

事例を紹介します。東京都内の事業者様より、「これまで稼働していたプラグインが動作しなくなった」とお問合せをいただきました。とある予約プラグインを導入しているサイトで、WordPressを最新バージョンにアップグレードしたところ、予約システムが正しく動作しなくなったというご相談内容でした。

プラグインはWordPressプラグインディレクトリー上で配布されている無料のもの。数年以上更新されておらず、最新のWordPressには対応していないことが調査で判明しました。同等の機能のプラグインが見つからないため「WordPressのアップグレードを優先し、プラグインを停止」、「新規プラグインの開発」、「WordPressを元のバージョンにダウングレートし、プラグインを使い続ける」という選択肢になりました。

プラグイン自体がセキュリティーホールではありませんが、WordPress自体がアップグレード出来ないという事例です。決して珍しい事例ではなく、WordPressのアップグレードのタイミングでサイトが真っ白(閲覧できなくなる状態)になる、ダッシュボードにログイン出来なくなる、といった事象にプラグインが関連していることはよくあります。

 

プラグインをアップグレードすると、パーマリンクが正しく動作しない

「プラグインをアップグレードしたところ、カスタム投稿のページが表示されなくなった」という事例を紹介します。外部の制作業者が作ったサイトを運用している神奈川県の事業者の方からの相談です。

とあるプラグインを最新バージョンにアップグレードしたところ、カスタム投稿のコンテンツが表示されなくなり、パーマリンクの構造が意図しないものになった」という事象です。

パーマリンクの生成について、WordPressプラグインディレクトリーで公開されている、とあるプラグインを利用していました。日本語化されていて、インストール数もかなり多い有名なプラグイン。検証環境にインストールしたWordPress上では最新版のプラグインでの動作に問題はなし。調査したところ自作したテーマに問題があることが分かりました。

 

 

プラグインはこう選ぶ

不必要なプラグインは、セキュリティー上の観点から使わないのが望ましい。

プラグインの導入は目的ではなく、集客やブランディング等サイトの目的を手助けしてくる手段の一つです。とりあえず何でもインストールしてみようというミーハーなスタンスはビジネスサイトの運営には向きません。本当に必要な場合にのみプラグインを使いましょう。

ではどのようにプラグインを選定し、安全にWordPressの運用が出来るのかを考えてみましょう。

そのプラグインが突然停止したら、どれくらい影響がありますか?

ネットショップで有効化してる「ネットショッププラグイン」と、一般的な会社の「問い合わせフォームを生成しているプラグイン」。停止したらヤバそうなのは、どちらでしょうか?

プラグインを導入する際、この視点を持つことをお勧めします。また、なんらかの事情で停止することになった場合、代替案を用意できるかが重要です。

例えば、問い合わせフォームのプラグインって停止してもなんとかなるもんです。他のプラグインを用意してサッと有効化する。「メールでの問い合わせは〇〇までと」書いておくなど、なんとかなります。

でもネットショップのプラグインって、商品の表示、カート、決済機能、ユーザー情報なんかも保存しているもののありますよね?停止したら、どうなりますか?使っているプラグインと同等のプラグインがすぐ手配できますか?

停止したら影響の大きいコンテンツへのプラグイン導入には考慮が必要です。

プラグインの入手先は安全ですか?

まずはプラグインの入手。WordPressのプラグインは以下の方法で入手可能です。

  • WordPressプラグインディレクトリー(無料)
  • WordPressプラグインディレクトリー以外のサイト(無料&有料)
  • 業者に依頼(有料)

 

WordPressプラグインディレクトリー(無料)

プラグインをインストールするといったら、やっぱりWordPressプラグインディレクトリー。

WordPressプラグインディレクトリーに公開されているプラグインは無料。公式サイトということもあり、最も利用されている入手経路です。

公開されているプラグインは個人または法人が作成したもので、承認を受け提供されています。承認といっても、100%安全だという保証付きという意味ではありません。公開されていても、脆弱性が発見されるというケースもあります。

 

 WordPressプラグインディレクトリー以外のサイト(無料&有料)

『こんなプラグイン作ってみました。良かったら使ってください。自分のサイトにアップしておきます、ダウンロードしてね』というものです。自分のサイトでの販売・配布となる為、WordPressの承認は当然ありません。

プラグインの配布元が善意の開発者かもしれませんし、そうでない可能性もあります。日本国内だとプラグインのダウンロード販売サイトはまだまだ少ないですが、海外だとプラグインを販売しているサイトは数多く存在します。一部の機能を制限した無料プラグインを配布し、その他の機能を有料で販売しているといったサイトもあります。

 

業者にプラグイン制作を依頼する(有料)

必要なプラグインが公開されていない場合や、独自プラグインの販売などを検討している場合の選択肢です。『ネットで見つからないじゃーオーダーメイドで業者に作ってもらおう』って、パターンですね。

オーダーメイドで作成するのは当然ながら割高です。

「予算がないのでプラグインで代用」というスタンスの場合は考慮しずらい選択肢です。
プラグイン開発業者の選定、依頼のために仕様書、導入後の保守など、お金以外の要素にも神経を使います。

 

「最終更新」は2年以内を目安。

WordPressプラグインディレクトリーから、インストール候補のプラグインを探す場合、「最終更新」を必ず確認しましょう。プラグインの改良、セキュリティー対策コードの実装など、プラグインはアップグレードされているものと、作ったまま放置されているものがあります。

最終更新が著しく古いものは、セキュリティー上の問題が放置されている可能性と、最新のWordPressに対応していないことがある為、サイトへの導入はお勧めしません。

ひとつの目安として更新が2年以上されていないものについては、インストールを見送りましょう。

 

プラグインの更新日

作者の実績、サポートを確認

WordPressプラグインディレクトリー上のプラグインを選定する際のもう一つの確認事項は、作者(プラグイン開発者)です。プラグインページでは作者及びプラグイン協力者の一覧の他、その作者が開発したプラグインの一覧が確認できます。

プラグインの作者

 

プラグインのこれまでの「サポート」についてもプラグインページから確認できます。ユーザーからの質問に対して、積極的な対応をしているかを確認できます。

 

プラグインを入れているサイトでのWordPress・プラグインのアップグレード作業

『アップグレード出来るみたいだから、とりあえずアップグレードしてみよう!』

これ、失敗した際に取り返しがつかない事態になります。おススメな方法教えます。

 

WordPressの運用には検証用に、同一構成のバックアップサイトを準備しよう。

運用しているサイトと同一の構成を用意しましょう。

何かしらの作業を行う際、まずは検証環境でテストをするという方法です。検証環境として望ましいのは、同一のサーバー上での構築です。例えば、Xserver上でWordPressを使っているのであれば同じサーバー上のサブディレクトリーにWordPressをインストールし、そこをテスト環境にするという構成です。

本番環境:ドメイン.com

検証環境:ドメイン.com/test_wp

 

アップグレード作業の流れ

まずはテスト環境でアップグレード作業を行います。

  1. バックアップをそれぞれ取得します
    バックアップ作業により上書きされ、以後入手が困難になるプラグインファイル等は必ずバックアップを取得しましょう。
  2. プラグインを停止
  3. WordPress本単をアップグレード
  4. テーマの動作確認
    海外の有料サイト等で販売されている有料テーマ等は入念にチェックしましょう。高機能なテーマでは、一部のテーマオプションが仕様通り動作しないといった不具合が出る場合があります。
  5. プラグインを一つずつ有効化
    プラグインの動作確認を行います。なんらかの不具合が出る場合、WordPressの新バージョンに対応していない可能性があります。または既に有効化しているプラグインと直前で有効化したプラグインが競合していることが考えれます。プラグインが競合しないようプラグインファイルをカスタマイズするか、それが技術的に困難な場合はどちらかのプラグインを停止することになります。

この手順で行い、問題がなければ本番環境でも同様の作業を行います。



LINEで送る
Pocket



この記事の関連記事