WordPressのプラグインによるマルウェア復旧方法を専門家が解説
❚ はじめに:マルウェア感染時、最初に考えるのは「プラグインで何とかできるか」
1400件(復旧件数)以上の実績。土日対応・成功報酬制で、WordPressの緊急復旧を最短でサポートします。
【結論】軽度の感染はプラグイン補助が有効です。再感染・改ざん・不正プロセスがある場合は手動調査が必要です。

ざっくりとした復旧手順の一例
WordPressサイトがマルウェアに感染したとき、多くのユーザーがまず試すのが「セキュリティプラグインを使ってスキャン・駆除してみる」ことです。手順はざっくりとしたもので、実際のプロフェッショナルの現場では、オリジナルツールやもっと細かく対応しますが、かなり専門的無ことになるので、割愛します。詳しい手順はコチラ
テストサイトも本番サイトと同様に感染確認を行うか、不要であれば根こそぎ削除します。
特に以下は注意が必要です。
- 使用していないWordPress
- 古いテストサイト
- 下層ディレクトリに残った旧サイト
- 使っていないドメインの公開
- フォルダ 放置されたプラグイン・テーマ
- バックアップ名で残された古いWordPress一式

SSHにて不正なプロセスがないか確認
ps aux | grep wpr
※wprはユーザー名(ユーザー名)※style.phpやl.phpなどのプロセスが上がっていたらほぼほぼマルウェアです。マルウェアのプロセスを削除します。この作業はFTPやファイルマネージャーではできません。典型的なワードプレスのマルウェアは、ファイルではなくてサーバーのメモリーにあるためです。
kill ◯◯◯◯(プロセス番号)SSHなんて使えない!無理!?
SSH接続が出来ない場合は、操作がそもそもわからない場合は、サーバー会社のサポートに連絡して、確認・削除してもらってください。大抵のサーバー会社は対応可能と、直接確認を取りました。(2026年6月3日現在ですが、詳しくはサーバー会社のサポートに問い合わせてください。)
削除しても、マルウェアが復旧作業中に再度、不正なプロセスが立ち上がる場合がるので、弊社では数回タイミングをSSH経由で見計らって、WordPressの不正プロセス削除を対応しております。
※SSHの作業は、サーバーのデータを簡単に消せるので、いまから使用したことない方には、操作をお勧めしておりません。
FTPにてWordPressの全体を確認
サーバーパネルのファイルマネージャーも確認は出来ますが、マルウェア対応はほぼ無理です。
・明らかにおかしなファイルがないか視認。あれば確保する。
・WPのバージョンを確認。次のファイルで確認出来ます。「wp-includes/version.php」
WordPressのコアファイルの入替え
- WordPressのコアファイルの入れ替え(方法①WP CLI)完全に消して入替えではないので危険です。差分の結果が2と3でおかしなファイルが出るとおもいます。
1・wp core download –force
2・wp core verify-checksums(差分確認)
3・COREファイル出ないものをrmで削除 - WordPressのコアファイルの総入れ替え(方法②)
1・FTPにて最新のCOREファイルをアップロード
2・古いファイルを対比して、新しいCOREファイルに入れ替え
❚ ここで1回切り分け
- ログインできるか?
- .htaccessが書き換えられないか?
- index.phpが書き換えられないか?
- おかしなプロセスが立ち上がっていないか?(SSHで確認)
おおよそ、この4つがうまく行ければ、プラグインでのチェック&対応へ進めます。
実際、WordPress向けのセキュリティプラグインは日々の防御や改ざん検知、アクセス制限に役立つ優れたツールであり、日常的な保守には欠かせません。
しかし、現場での復旧対応を数多く経験してきた立場から言えば、マルウェア駆除をプラグインだけに任せるのは非常に危険なケースも多いのが現実です。
SSHとFTPも合わせて対応しないと、マルウェアを取り除くことができないので、確実に再感染します。
❚ セキュリティプラグインの目的とできること
セキュリティプラグインは「予防」と「検知」に優れています:
- 不正アクセスの防止(ログイン制限・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ジョブに復元コードが仕込まれ、表面的に削除できても自動的に再感染が起こる事例です。
l.phpなどのマルウェアがOSプロセスとしてメモリに常駐し、FTPからは不可視。ps, grep, find などで発見し、SSHなどでつないで、killコマンドで削除する必要があります。特定にレンタルサーバーでは、このパターンは数多く見受けられます。これはSSHを使えることが必須なので、エンジニアでないと対応はほぼ無理です。前項の「SSHにて不正なプロセスがないか確認」の内容です。
❚ 実際のマルウェア感染例:プラグインでの限界の結果
▶ Case 1:数週間後、数カ月後に再感染した事例が多い
お客様自身でセキュリティプラグインを使用して不正ファイルの削除を行ったものの、数週間後から数カ月後に再び改ざんや不正ファイルの設置が確認された事例があります。
このケースでは、セキュリティプラグイン自体に問題があったというよりも、検出結果だけをもとに「復旧完了」と判断してしまったことが主な原因でした。
- 検出された不正ファイルは削除したが、同じサーバー内の別WordPressやテストサイトに感染源が残っていた。
- テーマやプラグイン以外の場所にある不正ファイルまで確認できていなかった。
- 削除処理を実行したものの、サーバーの権限設定により実際には削除できていないファイルがあった。
- 削除できなかったファイルや残留ファイルの確認を行わないまま、対応完了と判断していた。
- 不正に作成された管理者ユーザーや、改ざんされた設定情報が残っていた。
- 侵入経路となった古いプラグイン、テーマ、放置ファイル、不要なWordPressが残ったままだった。
❚ よく使われるWordPressセキュリティプラグイン10選と、それぞれの強み・役割
※各プラグイン毎、別途設定は必要になります。
1. Wordfence Security(ワードフェンス)
WordPress向けセキュリティプラグインの中でも、非常に有名なもののひとつです。リアルタイムスキャン、ファイアウォール、IPブロック、ファイル差分比較、ログイン防御、二段階認証など、WordPressを守るための機能が幅広く備わっています。復旧依頼にも対応しております。(英語対応)
マルウェアスキャンでは、WordPress本体や公式プラグイン・テーマのファイルと比較し、改ざんされた可能性のあるファイルを検出できます。状況によっては、改ざん前の状態へ復元できる場合もあります。
ただし、インストールしただけで十分に機能するわけではありません。スキャン範囲、ファイアウォール設定、通知設定、除外設定、ログイン防御などを適切に設定して初めて、本来の効果を発揮します。
また、画面や通知の多くが英語で表示されるため、英語の内容を正しく理解できる場合は、公式サポートや関連サービスを通じて復旧相談を進めることも可能です。
一方で、マルウェア感染時は、検出されたファイルを削除するだけでは再感染を防げない場合があります。サーバー内の別WordPress、バックアップフォルダ、残留ファイル、不正ユーザー、データベース改ざん、侵入経路の確認まで行う必要があります。
そのため、この種のセキュリティプラグインは「侵入を防ぐ」「改ざんを検知する」ための有効な手段ですが、感染後の完全復旧では、検出結果だけに頼らず、サーバー全体を含めた確認が重要です。
2. Sucuri Security(スキュリ)
サーバー側のファイル改変検知や整合性チェック、外部からの診断機能が充実しています。マルウェアスキャンよりも「監視」に特化した設計で、異常を可視化することに強みを持ちます。
ログ機能や通知機能も備えており、複数人で管理するような環境やサーバー管理権限を持つユーザーに向いています。インストールしただけでは、しっかりと機能しません。
3. iThemes Security(アイテーマズ)
細かいセキュリティ設定が豊富で、ログイン試行制限・XML-RPC無効化・2FA(二段階認証)など、多面的なセキュリティ対策が可能。インストールしただけでは、しっかりと機能しません。
スキャン能力は限定的ですが、WordPress本体の弱点を塞ぐ方向での強化が得意なプラグインです。
4. MalCare(マルケア)
クラウドベースのマルウェアスキャンが特徴で、サーバー負荷を抑えつつ感染ファイルの検出・削除が可能です。
ワンクリック除去機能があり、直感的な操作が可能なため、保守管理を一括で効率化したいユーザーにも人気があります。
5. All-In-One WP Security & Firewall
初心者向けのわかりやすいUIで、ファイアウォール・アクセス制御・ログイン試行制限などが手軽に設定できます。
セキュリティ強度を可視化する仕組みもあり、安心感を持って導入できる入門向け総合セキュリティプラグインです。
複数プラグインをインストールするのは非推奨
複数のセキュリティプラグインを同時にインストールすることは、基本的にはおすすめしません。
同じような機能が重複すると、スキャン処理やファイアウォール設定が干渉し、サイト表示の不具合や管理画面の動作不良につながる可能性があります。
弊社では複数のプラグインを使用する場合もありますが、それぞれの特性や使用目的を分け、設定を調整したうえで対応しています。
一般的には、目的に合ったプラグインを1つ選び、正しく設定・運用することが重要です。
❚ セキュリティプラグイン8選(比較一覧表)
| プラグイン名 | 特徴 | 得意分野 |
|---|---|---|
| Wordfence Security | リアルタイムスキャン・ファイアウォール・差分検出 | 改ざん検出、IPブロック、ログイン制御 |
| Sucuri Security | 外部診断・整合性検査・イベントログ | 改ざん監視、ログ可視化、外部からの分析 |
| iThemes Security | ログイン制限・2FA・XML-RPC無効化など | 管理画面の防御、WordPress初期設定の補強 |
| MalCare | クラウド型スキャン・自動駆除 | 直感的UI・複数サイト管理・即時駆除 |
| All-In-One WP Security | 総合セキュリティ・ファイアウォール設定 | 初心者向け設定、視覚的に強度確認可 |
| Shield Security | 通知を減らした静音設計・必要最小限に特化 | 低負荷保護、Bot対策、軽量セキュリティ |
| WP Cerber Security | REST API制限・スパム対策・ログ管理 | ログイン防御、API管理、柔軟な制御 |
| NinjaFirewall (WP Edition) | 不正アクセスや改ざんからサイトを守るための機能を提供 | 初心者向け設定、視覚的に強度確認可 |
❚ まとめ:セキュリティプラグインも頼りつつ、柔軟な対応を
- プラグインは予防・検知に有効だが、感染後の完全駆除には限界がある
- 投稿・DB・cron・メモリ型など、検出しにくい感染経路も存在する
- 「様子がおかしい」と感じたら、広い視点で点検と調査を行う
セキュリティプラグインを活用しながらも、状況に応じた柔軟な判断と対応が求められます。