更新が止まったWordPressプラグインは危険?判断基準と安全な対処法

津久井 隆行
津久井 隆行
更新が止まったWordPressプラグインは危険?判断基準と安全な対処法

WordPressプラグインの詳細画面で「最終更新: 3年前」という表示を見て、一瞬手が止まったことはありませんか?
「動いているから大丈夫だろう」と思いつつも、長期間更新されていないことが気になる。その感覚は間違っていません。

WordPressサイトの改ざんやマルウェア感染で、最も多い原因の一つが「更新が止まったプラグインの脆弱性」を悪用されるケースです。

実際、サイト復旧のご相談を受けて原因をたどると、「何年も前に更新が止まったプラグインをそのまま使用していた」ことが原因だったという事例をよく目にします。

この記事では、ご自身のサイトのプラグイン一覧を見ながら、更新が止まったプラグインの「残す・置き換える・削除する」を安全に見極めるための判断基準と対処法をご紹介します。

更新が止まったプラグインを使い続ける3つのリスク

まずは、更新が止まったプラグインを使い続けることで、どのような問題が起こる可能性があるのかを確認しておきましょう。

脆弱性が見つかっても、修正版が提供されない

プラグインの脆弱性は日々発見されています。WPScanなどの脆弱性データベースを見ると、WordPress関連の脆弱性報告は毎年数千件規模にのぼります。

開発が継続されているプラグインであれば、脆弱性の報告後に修正版がリリースされる可能性があります。しかし、更新が止まったプラグインでは、脆弱性の情報が公開されても、修正版が提供されない状態が続くこととなります。

脆弱性の内容や攻撃方法が広く知られているにもかかわらず、問題が修正されないプラグインを使い続けることは、鍵が壊れたドアを放置しているようなものです。

攻撃者は脆弱性のあるプラグインを探している

WordPressサイトに対する攻撃の多くは、人間が一つひとつサイトを確認して行うものではありません。

ボットと呼ばれる自動プログラムがインターネット上のサイトを巡回し、既知の脆弱性があるプラグインやファイルが存在しないかを機械的に調査しているのです。

実際にサイトのアクセスログを確認すると、次のようなプラグインのreadmeファイルへのリクエストが記録されていることがあります。

GET /wp-content/plugins/xxxx/readme.txt HTTP/1.1

プラグインのreadme.txtには、プラグイン名や対応バージョン、リリース情報などが記載されています。

攻撃者は、これらの情報から、インストールされているプラグインの種類やバージョンを推測します。その結果、既知の脆弱性があるプラグインだと判断すると、その脆弱性を悪用した攻撃をピンポイントで仕掛けてくるのです。

WordPress本体・PHPとの非互換により、ある日突然サイトが壊れる

セキュリティ面だけでなく、表示や動作に関する不具合のリスクも高まります。

WordPress本体やサーバーのPHPは定期的にアップデートされますが、更新停止中のプラグインは最新環境で動作テストがされていません。そのため、本体やPHPのアップデートをきっかけに以下のような深刻なトラブルが発生することがあります。

– 画面が真っ白になる
– 致命的なエラー(Fatal Error)が発生する
– 管理画面に入れなくなる

「セキュリティ対策のためにWordPress本体を更新したところ、古いプラグインが原因でサイトが停止した」というケースは珍しくありません。

また、「古いプラグインのせいでWordPress本体をアップデートできない」という状況に陥ると、サイト全体のセキュリティが低下するという悪循環にも繋がります。

何年間更新がなければ「危険」と判断すべきか

プラグインを使用し続けてよいかを見極めるうえで最も重要なのは、「最新のWordPressに対応しているか」「最終更新日からどのくらい経過しているか」の2点です。

最新のWordPressに対応しているか

最新のWordPressに対応していないプラグインは、WordPress本体をアップデートした際に、正しく動作しなくなる可能性があります。

対応状況が不明な場合や、長期間にわたって最新のWordPressへの対応が確認できない場合は、同じ機能を持つ別のプラグインへの切り替えを検討することをおすすめします。

最終更新日からどのくらい経過しているか

更新が長期間止まっているプラグインは、セキュリティ上の問題や、WordPress・PHPとの互換性の問題が発生しやすくなります。

では、どのくらい更新されていないと危険なのでしょうか。

弊社では、目安として、最終更新から「6カ月を過ぎたら注意」「1年を過ぎたら原則として使用停止や置き換えを検討」とご案内しています。

判断の目安「6カ月」で注意、「1年以上」は対策必須

最終更新 / 対応状況判断の目安対応
最終更新が6カ月以内 & 最新WPに対応利用可対応WordPressバージョンや更新内容を確認しながら使用する
最終更新から6カ月〜1年注意更新状況を確認しつつ、代替プラグインの情報収集を始める
最終更新から1年以上 / 最新WP非対応対策必須原則として、別のプラグインへの置き換えや撤去を検討する
開発終了(公式ディレクトリから削除など)即対応必要に応じて暫定措置を行い、速やかに置き換えまたは撤去する

上記はあくまでも一般的なプラグインを対象とした目安となります。最新のWordPressへの対応状況や最終更新日だけで判断するのではなく、次の点もあわせて確認し、対応を検討する必要があります。

★ WordPress.orgで公開が継続されているか

WordPress.orgの公式ディレクトリで公開が停止されているプラグインは注意が必要です。
公開停止の理由は、開発者による自主的な終了だけでなく、セキュリティ上の問題やガイドライン違反である可能性もあります。理由が確認できない場合は、そのまま使い続けず、代替プラグインへの切り替えを速やかに検討しましょう。

★ 既知の脆弱性が報告されていないか

使用中のプラグインに脆弱性が報告されている場合は、最終更新日からの経過期間にかかわらず、速やかな対応が必要です。
修正版が公開されている場合はすぐにアップデートしましょう。修正版が提供されていない場合は、プラグインの削除や、代替プラグインへの切り替えを検討してください。

★ 重要な処理を担うプラグインではないか

認証・アップロード・決済まわりのプラグインについては、「6カ月」や「1年」という一般的な目安を待たず、更新状況や脆弱性情報をより短い間隔で確認することが重要です。

WordPress対応バージョンプラグインの最終更新日の確認方法

「WordPress対応バージョン」と「プラグインの最終更新日」は、以下の方法でご確認いただけます。

1.管理画面の「プラグイン」一覧から、各プラグインの「詳細を表示」をクリック。

2.プラグインの詳細画面が表示されたら、「最終更新」と「対応する最新バージョン」をご確認ください。

開発終了したプラグインはすぐ削除すべき?

もし、使用中のプラグインの開発が終了した場合は、どうすればよいのでしょうか。

開発が終了したプラグインは、原則として代替プラグインへ移行したうえで削除することをおすすめします。

ただし、大半のケースでは、削除に加えて代替プラグインの設置作業も必要となります。
運用中のサイト上での作業となるため、手順を踏んで計画的に進めることが重要です。実際の作業の際には、以下を参考に進めてみてください。

安全に撤去するための5ステップ

1. 代替プラグインを選定する

まずは、同じ機能を持つ代替プラグインを探します。候補を選ぶ際は、次の点を確認しましょう。

– 直近数カ月以内に更新されている
– 最新のWordPressやPHPに対応している
– 有効インストール数や利用実績が十分にある
– サポートフォーラムで開発者が継続的に回答している
– 既知の脆弱性が報告されていない

単に機能が似ているだけでなく、今後も継続して保守される可能性が高いプラグインを選ぶことが重要です。

2. テスト環境で検証する

本番サイトでいきなり入れ替えるのは避け、ステージング環境や検証環境で動作を確認します。
特に、次の項目を確認しましょう。

– ページの表示に崩れがないか
– ショートコードやウィジェットが正しく置き換わっているか
– フォームや検索、決済などの機能が正常に動作するか
– 他のテーマやプラグインと競合していないか

3. データや設定を移行す

新しいプラグインをインストールし、必要な初期設定を行います。
旧プラグインに保存されている設定やデータがある場合は、新しいプラグインへ移行できるか確認しましょう。自動移行機能がない場合は、手作業での設定やデータ変換が必要になることもあります。

4. 本番環境でプラグインを切り替える

事前にサイト全体のバックアップを取得したうえで、本番サイトのプラグインを切り替えます。
切り替え後は、トップページだけでなく、主要なページや機能を一通り確認しましょう。

– ページの表示
– お問い合わせフォーム
– ログインや会員機能
– 商品購入や決済
– スマートフォンでの表示
– 管理画面での操作

問題が発生した場合にすぐ元へ戻せるよう、復旧手順も準備しておくと安心です。

5. 旧プラグインを削除する

新しいプラグインへの切り替えが完了し、問題なく動作することを確認できたら、旧プラグインを削除します。

すぐに代替できない場合の暫定措置

移行にどうしても時間がかかる場合は、以下の応急処置でリスクを下げましょう。

– WAF(サーバー標準のWAFやCloudflare等)を有効化する
– アクセスログやエラーログを定期的に確認する
– ファイル変更検知を有効にし、改ざんを早期に発見できるようにする
– 対象プラグインに関する脆弱性情報の有無を継続的に確認する

ただし、これらはあくまで「時間を稼ぐための応急処置」です。根本的な解決にはならないため、できるだけ早めに「撤去/切り替え」を完了させましょう。

無効化したプラグインにも脆弱性リスクはある?

「現在は使っていないものの、無効化してあるから問題ない」と考え、プラグインをそのまま残しているサイトも多く見かけます。しかし、無効化しただけでは、セキュリティ対策としては不十分です。

無効化をしても、関連ファイル(PHPファイルなど)はサーバー上の”/wp-content/plugins/“配下に残ったままとなります。

脆弱性の中には、WordPressを経由せずプラグイン内のファイルへ直接アクセスして悪用するタイプがあります。また、攻撃ボットは有効・無効に関わらず「指定のファイルが存在するかどうか」を自動で探して攻撃を仕掛けてきます。

つまり無効化した上での放置は、「自分は使っていないつもりであっても、攻撃対象のファイルだけが残っている」という非常に危険な状態なのです。

不要になったプラグインは無効化で終わらせず、必ず「削除(アンインストール)」することを徹底しましょう。

まとめ:更新停止プラグインは放置せず、定期的に見直しましょう

ここまで、更新が止まったプラグインを放置するリスクと、その見極め方・対処法をご紹介してきました。

改めてポイントを整理すると、次の3点です。

①「最終更新から6カ月で注意、1年以上は対策必須」を判断の目安とする
② 開発が終了したプラグインは削除、もしくは代替プラグインへの切り替えを検討する
③ 使わないプラグインは無効化で終わらせず、必ず削除する

気になった方はぜひ、自社のサイトで使用しているプラグインをチェックしてみてください。

ただし、実際にプラグインの棚卸しを行うと、次のようなプラグインが見つかることがあります。

  • 何のために入れられたのか分からない
  • 前任者が導入したため用途を確認できない
  • 削除してよいか判断できない
  • どのページで使われているのか分からない

長期間運用されているサイトほど、用途不明のプラグインや、以前は必要だったものの現在は使われていないプラグインが残りやすくなります。

判断に迷う場合は、無理に自己判断せず専門家へ相談することをおすすめいたします。

WPPLUSでは、プラグインの切り替えも含めた、WordPressサイトバージョンアップサービスを提供しております。
「プロの意見が聞きたい」というお客様からのお問い合わせも歓迎いたします。ぜひお気軽にご相談ください。

この記事を書いた人

津久井 隆行
津久井 隆行
金融、通信業界等の大規模システムの開発、マネージメントに従事。
WordPressサイト制作サービス「WPPLUS」を展開。
AI、DeepLearningについての知見も。
JDLA Deep Learning for Engineer
JDLA Deep Learning for General

お問い合わせ

WPPLUSセキュリティサービスへのお問い合わせは以下よりお願いいたします

WEBからのお問い合わせ
お電話でのお問い合わせ 047-701-5206 【受付時間】 8:00 〜 20:00
(土日祝も受け付けております)
ページ先頭へ