📋 目次

🚨 感染を確認したらすぐに実施すること:①サイトをメンテナンスモードにして新たな被害を防ぐ、②バックアップを作成(感染状態でも証拠として保存)、③このページの手順に従って駆除を開始する。放置すると感染が拡大し、サーバー上の他サイトにも影響が及ぶ可能性があります。

⚠️ 1. マルウェア感染の主な症状・兆候

🔀 不審なリダイレクト

自分のサイトにアクセスすると、スパムサイト・フィッシングサイトなどに転送される。モバイルや特定のブラウザのみでリダイレクトが発生するケースもある。

🔴 Googleの警告表示

検索結果にサイト名の下に「このサイトはハッキングされた可能性があります」と表示される、またはブラウザで「危険なサイト」の警告画面が表示される。

📧 スパムメールの送信

自サーバーから大量のスパムメールが送信されているとホスティング会社から通知が届く。クリプトジャッキング(マイニング)の被害も増加している。

💻 見知らぬコードの挿入

ページのHTMLソースに見覚えのないJavaScriptやiframeタグが挿入されている。特にページの最初・最後・サイドバーを確認。

👤 不審な管理者アカウント

ユーザー管理画面に見覚えのない管理者アカウントが追加されている。これはバックドアの典型的な手口。

🔍 SEOスパムの挿入

サイト内ページに薬品・カジノ等のキーワードが大量に挿入される「キーワードハッキング」が発生している。検索結果の自サイトのスニペットで確認できる。

🔍 2. 感染確認:スキャンツールの使い方

ツール使い方何を検出するか費用
Sucuri SiteChecksitecheck.sucuri.netにURLを入力マルウェア・ブラックリスト登録・改ざんHTMLコンテンツ無料
Wordfenceスキャンプラグインインストール後、Wordfence→スキャン開始改ざんされたコアファイル・プラグイン・マルウェアコード無料(一部有料)
MalCare Scannerプラグインインストール後に自動スキャン高度なマルウェア・バックドア・難読化コードスキャン無料・駆除有料
Google Safe Browsingtransparencyreport.google.comにURLを入力Googleブラックリスト登録状況無料
💡 差別化情報:外部スキャンとサーバー内スキャンの使い分け
Sucuri SiteCheckは「ブラウザに表示されるHTMLコンテンツ」を分析するため、サーバーファイルに隠れたマルウェアは検出できません。Wordfenceはサーバー内のファイルを直接スキャンするため深い検出ができます。両方を組み合わせて使うことで検出精度が大幅に向上します。また、SEOスパムは外部スキャンでの発見が難しいため、サーチコンソールの「インデックスカバレッジ」で不審なURLが大量生成されていないか確認してください。

🛠️ 3. マルウェア駆除の手順

プラグインで駆除する(推奨・初心者向け)

1

バックアップを作成する

感染状態でもバックアップを作成します。駆除後に問題が発生した場合の証拠・参照資料になります。→ バックアップ完全ガイド

2

Wordfenceでスキャン→修復

Wordfence →「スキャン」→「新規スキャンを開始」→ 問題が検出されたら「Repair」ボタンでWordPressコアファイルを公式バージョンに自動修復します。

3

不審な管理者アカウントを削除

ユーザー管理で見覚えのないアカウントを削除。その後、全管理者のパスワードを変更します。

4

再スキャンで確認

駆除後に再度スキャンを実施して、問題がゼロになったことを確認します。

手動での駆除手順(上級者向け)

1

WordPressコアファイルを公式版で上書き

WordPress.orgから同じバージョンをダウンロードし、wp-admin/wp-includes/フォルダをFTPで上書きします(wp-content/wp-config.phpは上書きしない)。

2

全プラグイン・テーマを削除して再インストール

wp-content/plugins/wp-content/themes/を削除し、公式から再ダウンロード・再インストールします。カスタムテーマはバックドアがないか確認が必要です。

3

データベースのマルウェアコードを確認・除去

phpMyAdminでwp_optionssiteurlhomeを確認し、wp_postswp_usermetaに不審なJavaScriptが挿入されていないかSQLでチェックします。

-- データベース内のマルウェアコード検索例(phpMyAdminで実行)
SELECT ID, post_title FROM wp_posts 
WHERE post_content LIKE '%eval(%' AND post_content LIKE '%base64%'
LIMIT 50;

-- wp_optionsの不審なエントリを確認
SELECT option_name, option_value FROM wp_options 
WHERE option_value LIKE '%eval(%'
   OR option_value LIKE '%base64_decode%'
   OR option_value LIKE '%gzinflate%';

🚪 4. バックドアの検出と除去

バックドアはマルウェア駆除後も攻撃者がサーバーに侵入し続けるために仕掛けるコードです。バックドアを除去しないと、駆除しても再感染します。

# バックドアを探すLinuxコマンド(SSH使用)
grep -r "eval(base64" /path/to/wordpress --include="*.php" -l
grep -r "system(\$_" /path/to/wordpress --include="*.php" -l
grep -r "exec(\$_" /path/to/wordpress --include="*.php" -l

# 最近変更されたファイルを確認(過去7日間)
find /path/to/wordpress -name "*.php" -mtime -7 -type f

# wp-content/uploadsにPHPファイルがないか確認(通常は存在しない)
find /path/to/wordpress/wp-content/uploads -name "*.php"
💡 差別化情報:バックドアが隠れやすい場所TOP5
wp-content/uploads/内(画像フォルダにPHPファイルを隠す)、②廃止されたプラグインやテーマの残骸ファイル、③.htaccess(悪意のあるRewriteルール)、④wp-config.phpの末尾、⑤データベースのwp_optionsテーブル(シリアライズされたコードとして保存)。これらを重点的にチェックしてください。

🔴 5. Googleの警告・ブラックリスト対応

1

Googleサーチコンソールでセキュリティ問題を確認

サーチコンソール→「セキュリティの問題」を開く。どのような問題が検出されているか詳細を把握します。

2

マルウェアを完全に駆除する

このページの手順に従ってマルウェアを完全除去します。審査申請前に必ず完全駆除を確認してください。不完全な状態で申請を繰り返すと審査が拒否されやすくなります。

3

「審査をリクエスト」から再審査申請

サーチコンソール→「セキュリティの問題」→「審査をリクエスト」→ 実施した対策を詳細に記入して申請。審査完了まで通常数日〜2週間かかります。

⚠️ 主要なブラックリストへの申請も忘れずに:GoogleのほかにもMcAfee SiteAdvisor・Norton Safe Webなどのブラックリストサービスが存在します。Sucuri SiteCheckで複数のブラックリストの登録状況を一括確認できます。

🔑 6. 感染後の必須作業:全パスワード変更

💡 秘密鍵の再生成:https://api.wordpress.org/secret-key/1.1/salt/ にアクセスすると新しい秘密鍵が生成されます。wp-config.phpの対応する行を置き換えてください。秘密鍵を変更すると全ユーザーが自動的にログアウトされます。

🛡️ 7. 再発防止策の徹底

感染の原因を特定・解消しない限り再感染します。以下を必ず実施してください。

# wp-content/uploads内でのPHP実行をブロック(uploadsフォルダの.htaccessに追加)
<Files *.php>
deny from all
</Files>
✅ 60項目の完全なセキュリティチェックリスト:再感染防止のための全対策はセキュリティチェックリスト60項目でまとめています。定期的に実施することを推奨します。

❓ よくある質問(FAQ)

WordPressがマルウェアに感染しているか確認する方法は?
Wordfenceプラグインのスキャン機能、またはSucuri SiteCheck(sitecheck.sucuri.net)で無料確認できます。Googleサーチコンソールのセキュリティアラートも確認してください。
マルウェアを自分で駆除できますか?
軽度の感染であれば可能です。Wordfenceの「Repair」機能でWordPressコアファイルの改ざんを修復できます。ただしバックドアが残っていると再感染するため、完全スキャン・パスワード全変更が必須です。深刻な感染はSucuri・MalCareなどの専門サービスの利用を推奨します。
マルウェア感染でGoogleに警告が出た場合の対処方法は?
①マルウェアを完全に駆除する、②Googleサーチコンソールの「セキュリティの問題」で詳細確認、③「審査をリクエスト」から再審査申請。審査には通常数日〜2週間かかります。申請前に必ず完全駆除を確認してください。
マルウェア感染後にパスワードはすべて変更すべきですか?
はい、必ず全て変更してください。WordPress全ユーザー・FTP・データベース・サーバーコントロールパネル・メールアカウントのパスワードを変更してください。
バックアップから復元すれば感染は解決しますか?
感染前のバックアップから復元すれば確実に駆除できますが、感染の原因を解決しない限り再感染します。バックアップ復元後は原因を特定・修正してから公開してください。