WordPressマルウェアはプラグインだけで駆除できるのか?

──現場の実例と代表的セキュリティプラグイン8選から見る「できること・できないこと」

❚ はじめに:マルウェア感染時、最初に考えるのは「プラグインで何とかできるか」

WordPressサイトがマルウェアに感染したとき、多くのユーザーがまず試すのが「セキュリティプラグインを使ってスキャン・駆除してみる」ことです。

実際、WordPress向けのセキュリティプラグインは日々の防御や改ざん検知、アクセス制限に役立つ優れたツールであり、日常的な保守には欠かせません。

しかし、現場での復旧対応を数多く経験してきた立場から言えば、マルウェア駆除をプラグインだけに任せるのは非常に危険なケースも多いのが現実です。

❚ セキュリティプラグインの目的とできること

セキュリティプラグインは「予防」と「検知」に優れています:

  • 不正アクセスの防止(ログイン制限・2段階認証)
  • ファイルの改ざん検出(差分チェック・タイムスタンプ比較)
  • マルウェアのスキャン(主にwp-content以下)
  • ファイアウォールによる攻撃遮断
  • スパムコメントやBotの制御

ただし、感染後にどこまで“除去”できるかは、感染の性質によって大きく異なります。

❚ 実際のマルウェア感染例:プラグインでの限界を示すケース

▶ Case 1:functions.php に仕込まれた難読化evalコード

eval(base64_decode('aWYoJ...'));

難読化されたコードがテーマファイルに直接埋め込まれており、差分スキャンでも検出されないことがあります。

▶ Case 2:投稿本文に埋め込まれた <script> タグ

<script>window.location.href="https://malicious.example.com"</script>

投稿やカスタムフィールドに埋め込まれたJSコードによって、広告経由など限定的にリダイレクトされる手法です。

▶ Case 3:.htaccess によるクローキング

RewriteCond %{HTTP_USER_AGENT} !Googlebot
RewriteRule ^(.*)$ https://spam.example.com [R=302,L]

クローキングを用いた.htaccess改ざんにより、実ユーザーのみがマルウェアに誘導されるケース。

▶ Case 4:wp_options や cron に登録された自己復元コード

wp_optionsやcronジョブに復元コードが仕込まれ、表面的に削除できても自動的に再感染が起こる事例です。

▶ Case 5:メモリ上に存在するマルウェアプロセス

l.phpなどのマルウェアがOSプロセスとしてメモリに常駐し、FTPからは不可視。ps, grep, find などで発見し、SSHなどでつないで、killコマンドで削除する必要があります。特定にレンタルサーバーでは、このパターンは数多く見受けられます。

❚ よく使われるWordPressセキュリティプラグイン10選と、それぞれの強み・役割

1. Wordfence Security(ワードフェンス)

WordPressセキュリティプラグインの中でも最も有名な存在のひとつ。リアルタイムスキャン・ファイアウォール・IPブロック・差分比較機能が充実しています。インストールしただけでは、しっかりと機能しません。

マルウェアのスキャン機能では、公式ファイルとの差分比較によって改ざん箇所を検出し、必要に応じて復元が可能です。

ログイン防御や二段階認証、ブロックリストの設定にも対応しており、「侵入を許さない」「改ざんを検知する」という2つの軸で強力な守りを実現しています。

2. Sucuri Security(スキュリ)

サーバー側のファイル改変検知や整合性チェック、外部からの診断機能が充実しています。マルウェアスキャンよりも「監視」に特化した設計で、異常を可視化することに強みを持ちます。

ログ機能や通知機能も備えており、複数人で管理するような環境やサーバー管理権限を持つユーザーに向いています。インストールしただけでは、しっかりと機能しません。

3. iThemes Security(アイテーマズ)

細かいセキュリティ設定が豊富で、ログイン試行制限・XML-RPC無効化・2FA(二段階認証)など、多面的なセキュリティ対策が可能。インストールしただけでは、しっかりと機能しません。

スキャン能力は限定的ですが、WordPress本体の弱点を塞ぐ方向での強化が得意なプラグインです。

4. MalCare(マルケア)

クラウドベースのマルウェアスキャンが特徴で、サーバー負荷を抑えつつ感染ファイルの検出・削除が可能です。

ワンクリック除去機能があり、直感的な操作が可能なため、保守管理を一括で効率化したいユーザーにも人気があります。

5. All-In-One WP Security & Firewall

初心者向けのわかりやすいUIで、ファイアウォール・アクセス制御・ログイン試行制限などが手軽に設定できます。

セキュリティ強度を可視化する仕組みもあり、安心感を持って導入できる入門向け総合セキュリティプラグインです。

❚ セキュリティプラグイン10選(比較一覧表)

プラグイン名特徴得意分野
Wordfence Securityリアルタイムスキャン・ファイアウォール・差分検出改ざん検出、IPブロック、ログイン制御
Sucuri Security外部診断・整合性検査・イベントログ改ざん監視、ログ可視化、外部からの分析
iThemes Securityログイン制限・2FA・XML-RPC無効化など管理画面の防御、WordPress初期設定の補強
MalCareクラウド型スキャン・自動駆除直感的UI・複数サイト管理・即時駆除
All-In-One WP Security総合セキュリティ・ファイアウォール設定初心者向け設定、視覚的に強度確認可
Shield Security通知を減らした静音設計・必要最小限に特化低負荷保護、Bot対策、軽量セキュリティ
WP Cerber SecurityREST API制限・スパム対策・ログ管理ログイン防御、API管理、柔軟な制御
NinjaFirewall (WP Edition)不正アクセスや改ざんからサイトを守るための機能を提供初心者向け設定、視覚的に強度確認可

❚ まとめ:セキュリティプラグインも頼りつつ、柔軟な対応を

  • プラグインは予防・検知に有効だが、感染後の完全駆除には限界がある
  • 投稿・DB・cron・メモリ型など、検出しにくい感染経路も存在する
  • 「様子がおかしい」と感じたら、広い視点で点検と調査を行う

セキュリティプラグインを活用しながらも、状況に応じた柔軟な判断と対応が求められます。