使っていないWordPressプラグインやテーマを削除するセキュリティ上の理由

2021-12-07

この記事の要点

・プラグインやテーマを削除しなくてもセキュリティ上の問題が起きる可能性は低い
・まれに無効化でも影響を受ける脆弱性が見つかるので万全を期すには削除を推奨

WordPressの運用に欠かせないプラグインやテーマですが、停止にしたままだとサイトヘルス画面で改善をおすすめされてきます。

セキュリティの改善と書かれていますが、停止中のプラグインを削除する理由は調べてもはっきりと書かれておらず、正直、停止中のプラグインやテーマは読み込まれないので放っておいてもいいと思っていました。

下手に触りたくないのが本音

下手にプラグインを削除すると不具合が起きる場合もありますし…。
下記の例や、私自身も別サイトで何の気なしにAll In One SEOを削除したらGoogleのインデックスも削除されたことがあります。

とは言え、セキュリティの問題と言われているのに放っておくのも気になるため、学習も兼ねて改めて確認してみました。

WordPressの構造

まず、基本的なWordPressの基本から復習です。

  1. WordPressは静的なwebサイトと違って、PHPを使ってMySQLに保存しているデータからHTMLファイルを出力。
  2. 機能を追加するプラグインは、基本的にpluginsフォルダにPHPファイルで保存される。
  3. テーマもPHPファイルとCSSで記述。
  4. プラグインとテーマの使用中(有効化)もMySQLに保存。
  5. 無効化してもPHPファイル自体は残る。

セキュリティ的なポイントとしては「プラグイン・テーマともPHPファイルが使われ、無効化しただけでは実行ファイル自体は残る」点だと思いました。

プラグインの脆弱性報告と事例

JVN(Japan Vulnerability Notes)だけでもWordPressとプラグインの脆弱性報告は2784件ヒットします(2021年12月現在)。

さらに、特定の条件にはなりますがプラグインを無効化していても影響を受ける報告もありました。

また、直接的なセキュリティ面とは多少異なりますが、プラグインによっては削除しても設定情報などが修正がされない場合もあるようです。

とは言え、組み合わせによる不具合は可用性に影響を与えるので無関係とも言えません。

まとめと結論

1.基本的には無効化でも大丈夫

サイトヘルス画面にセキュリティの問題とはされていますが、基本的には無効化したプラグインやテーマのPHPは実行されないため、必ずしも削除しないといけないわけでは無さそうです。

2.長期的に考えると削除を推奨

とは言え、使わないプラグインやテーマの更新は忘れがちになる事や「Fancy Product Designer」の件もある事から、今後使わない事が確実なプラグインやテーマは削除しておく方が安全性は高くなると思います。

3.理想は導入時に必要なプラグイン・テーマだけインストール

プラグインの増加はサイトレスポンスにも関わる事と、削除して思わぬ不具合が起きる可能性も考えられるため、導入時に機能・運用を想定した上で必要最小限のプラグイン・テーマだけインストールすることが理想的とは思います。

そのためにも、サーバー側で対処できるセキュリティ設定などはプラグインに頼らずに行う事や、SEO対策もプラグインではなくCSSで対応しているテーマの選択などが必要とは思います。