NOTES

WordPressがマルウェアに感染したときの復元方法と再発防止|All-In-One Securityでログイン制限・CAPTCHAを設定【2026年版】

WordPressがマルウェアに感染したときの復元手順(自動バックアップからの復元、ファイルの一新、パスワード変更)と、セキュリティプラグイン「All-In-One Security(AIOS)」を使った再発防止策を解説。ログイン制限とログインCAPTCHAでブルートフォース攻撃を防ぎ、XML-RPCのブロックやファイアウォールでDDoSにも備えます。

※2026年9月に内容を全面的に更新しました。

こんにちは。10年以上WordPressを使っているウェブエンジニアのアメンボです。10年も使っていると、何度かマルウェア感染を経験し、そのたびに自力で駆除してきました。

基本的にはファイルを入れ替えればマルウェアは駆除できますが、駆除するだけでは同じ入口からすぐに再感染します。この記事では、感染に気づいたときの復元手順と、再発を防ぐための最低限のセキュリティ設定を、セキュリティプラグイン「All-In-One Security(AIOS)」を使って紹介します。

結論:復元したら、ログイン制限とログインCAPTCHAを必ず設定する

  1. 感染に気づいたら、まずサーバーの自動バックアップで感染前の状態に戻す
  2. 戻せない場合は、WordPress本体・プラグイン・テーマを公式のファイルで入れ直す
  3. 管理画面・サーバー・データベースのパスワードをすべて変更する
  4. AIOSでログイン制限(ロックダウン)とログインCAPTCHAを有効にし、ブルートフォース攻撃を防ぐ
  5. あわせてXML-RPCのブロックやファイアウォールで、DDoSなどの大量アクセスへの備えもしておく

特に4は、設定するだけで安全性が大きく上がります。WordPressへの攻撃でいちばん多いのは、ログイン画面にIDとパスワードを大量に試す「ブルートフォース(総当たり)攻撃」だからです。

マルウェア感染のよくあるサイン

  • サイトを開くと、知らないサイトへ勝手に転送される
  • 検索結果に、身に覚えのない日本語・外国語のページが大量に出てくる
  • 管理画面に、作った覚えのない管理者ユーザーがいる
  • サーバー会社から「不正なファイルを検知した」「サーバーの負荷が高い」と連絡が来る
  • Google Search Consoleに「セキュリティの問題」が表示される

感染したときの復元手順

1. 状況を記録して、被害の拡大を止める

慌ててファイルを消す前に、どんな症状が出ているか、いつ気づいたかをメモしておきます。お問い合わせフォームや会員機能があるサイトは、必要に応じて一時的にメンテナンス表示にしましょう。

2. サーバーの自動バックアップで感染前に戻す

いちばん確実なのは、感染する前のバックアップに戻すことです。エックスサーバーやConoHa WINGは過去14日分のバックアップを自動で保存しているので、気づくのが早ければ、管理画面から感染前の状態に戻せます。

ただし、戻した日以降に追加した記事や画像は消えます。また、バックアップの時点ですでに感染していた可能性もあるので、「いつから症状が出ていたか」を確認して、余裕をもって古い日付を選ぶのがポイントです。

3. バックアップで戻せない場合は、ファイルを一新する

バックアップが残っていない場合は、ファイルを入れ替えて駆除します。

  • WordPress本体を、公式サイトからダウンロードしたファイルで上書きする(wp-contentフォルダとwp-config.phpは除く)
  • プラグインとテーマは削除し、公式ディレクトリや配布元から入れ直す(使っていないものはこの機会に削除)
  • 画像を置く「wp-content/uploads」の中に、PHPファイルなど画像以外のファイルが紛れていないか確認する
  • wp-config.phpや.htaccessに、見覚えのない記述が追加されていないか確認する

4. 不審なユーザーを削除し、パスワードをすべて変える

管理画面の「ユーザー」に知らない管理者がいれば削除します。そのうえで、WordPressの管理者、サーバーのコントロールパネル、FTP、データベースのパスワードをすべて変更してください。AIOSの「ユーザーセキュリティ」→「ソルト」で認証用のキーを更新すると、ログイン中の不正なセッションも無効にできます。

5. Google Search Consoleで確認する

検索結果に不審なページが出ていた場合は、Search Consoleで「セキュリティの問題」を確認し、駆除が終わったら再審査をリクエストします。

再発防止:All-In-One Security(AIOS)の最低限の設定

AIOSは無料で使えるセキュリティプラグインで、ログイン制限、CAPTCHA、ファイアウォールなどをまとめて設定できます。設定項目は多いですが、まずは次の順番で進めれば十分です。

※設定を変える前に、念のためバックアップを取っておきましょう。また、CAPTCHAやロックダウンの設定を誤ると自分もログインできなくなることがあるので、ログインしたままの画面とは別のブラウザ(シークレットウィンドウ)でログインを試して確認するのがおすすめです。

設定1:ログイン制限(ログインロックダウン)

ログインに一定回数失敗したIPアドレスを、しばらくロックする機能です。ブルートフォース攻撃は何千回もパスワードを試してくるので、数回でロックされるだけで攻撃が成立しなくなります。

  1. 「AIOS」→「ユーザーセキュリティ」→「ログイン ロックアウト」タブを開く
  2. 「ログインロックダウン機能を有効化」にチェック
  3. 「最大ログイン試行回数」を3〜5回程度に設定
  4. 「ログイン再試行時間(分)」は5分程度、ロックアウト時間は長めに設定
  5. 「ただちにロックアウトする無効なユーザー名」にチェックし、「admin」など存在しないユーザー名でのログインを即ロックする

設定2:ログインCAPTCHA

ログイン画面に「人間かどうか」の確認を追加します。機械的に大量のログインを試す攻撃は、これだけでほとんど止まります。

  1. 「AIOS」→「総当たり攻撃防止」→「CAPTCHA 設定」タブを開く
  2. 「デフォルト CAPTCHA」で種類を選ぶ(Cloudflare Turnstile、Google reCAPTCHA V2、Simple math CAPTCHA)
  3. TurnstileやreCAPTCHAを選んだ場合は、それぞれの管理画面で取得した「サイトキー」と「シークレットキー」を入力する
  4. 「ログインページで CAPTCHA を有効化」と「パスワード紛失ページで CAPTCHA を有効化」にチェック
  5. お問い合わせフォームにContact Form 7を使っている場合は、「Contact Form 7 で CAPTCHA を有効化」もあわせて設定するとスパム対策になる

キーの取得が面倒な場合は、Simple math CAPTCHA(簡単な計算問題)でも効果があります。利用者の手間が少ないのはCloudflare Turnstileです。

設定3:DDoS・大量アクセスへの備え

DDoS攻撃は、大量のアクセスでサーバーを過負荷にする攻撃です。WordPressでは、ログイン画面や「XML-RPC」という古い仕組みが狙われやすいので、次の設定をしておきましょう。

  • XML-RPCのブロック:「ファイアウォール」→「PHP ルール」で「XML-RPC へのアクセスを完全にブロック」を有効にする(Jetpackやスマホアプリから投稿している場合は、ピンバックの無効化だけにとどめる)
  • 6Gファイアウォール:同じ画面の「6G ファイアウォール保護を有効化」で、よくある攻撃パターンのアクセスを遮断する
  • 404検出:「総当たり攻撃防止」→「404 検出」で、存在しないページを大量に探し回るアクセスを記録・ブロックする
  • ログインページの名称変更:「総当たり攻撃防止」→「ログインページの名称を変更」で、wp-login.phpへの機械的なアクセスそのものを減らす(新しいURLは必ず控えておく)

ただし、本格的な大規模DDoSはサーバーに届く前に止める必要があり、プラグインだけでは防ぎきれません。サーバー会社のWAF(Webアプリケーションファイアウォール)や海外からのアクセス制限を有効にし、必要に応じてCloudflareなどのCDNを使うと安心です。

あわせてやっておきたい設定

  • 「ユーザーセキュリティ」の「ユーザー列挙を無効化」:ユーザー名を外部から調べられにくくする
  • 「強力なパスワードを強制」:弱いパスワードを使えないようにする
  • 「2要素認証」:パスワードが漏れても、スマホの認証コードがなければログインできないようにする

注意:セキュリティプラグインは1つで十分

対策を強化するつもりで、セキュリティプラグインを複数入れているサイトを見かけますが、機能が重なって競合し、サイトが表示されなくなることがあります。AIOSを使うなら、ほかのセキュリティプラグインは停止しましょう(セキュリティ対策の考え方はこちらの記事でも紹介しています)。また、AIOS自体も含めて、プラグインは常に最新版に更新してください。

まとめ

マルウェアに感染したら、まずは感染前のバックアップに戻し、戻せなければファイルを一新して、パスワードをすべて変えます。そのうえで、AIOSのログイン制限とログインCAPTCHAを有効にするだけでも、ブルートフォース攻撃による再感染のリスクは大きく下げられます。XML-RPCのブロックやファイアウォールで、DDoSなどの大量アクセスにも備えておきましょう。

日頃のバックアップについてはバックアッププラグインのメンテナンスの記事、設定変更を試す環境についてはテスト環境の作り方の記事もあわせてご覧ください。

「マルウェアに感染したかもしれない」「自分で駆除するのが不安」という場合は、お問い合わせからお気軽にご相談ください。

COMMENTS

コメント

まだコメントはありません。記事の感想やご質問をお気軽にどうぞ。

コメントを書く

メールアドレスが公開されることはありません。 名前とメールアドレスは必須です。コメントは確認後に表示されます。

CONTACT

Talk about
your idea.

要件が固まっていない段階でも構いません。Web、AI、Moodle、WordPress、インフラの相談を、課題整理から。