WordPressの403エラーはマルウェア感染が原因?確認方法・復旧手順・自己対応の注意点
WordPressの403エラーは、WAFやアクセス権限の設定だけでなく、マルウェアによる.htaccessやファイルの改ざんが原因で発生することがあります。特に、突然wp-adminやwp-login.phpへアクセスできなくなった場合は、設定を変更する前にマルウェア感染の有無を確認する必要があります。
1. WordPressのwp-adminの403エラーとは?
WordPressの「403 Forbidden」エラーは、サイトへのアクセス権が拒否された際に発生します。このエラーは、サーバーの設定ミスやプラグインの問題でも発生しますが、突然wp-adminへアクセスできなくなった場合は、マルウェアによる乗っ取りやファイル改ざんも確認する必要があります。
もし突然403エラーが発生し、サイト管理画面(wp-admin)にログインできない、または特定のページが表示されなくなった場合、マルウェア感染を疑う必要があります。

wp-adminやwp-login.phpが403エラーのとき
弊社の復旧経験では、wp-adminやwp-login.phpだけが突然403エラーになる場合、.htaccessの改ざんや不正なアクセス制限の追加によって、管理画面やログインページへのアクセスが遮断されているケースが多く見られます。これらの改ざんは、マルウェア感染によって行われていることがあります。
すべてのページで403エラーが出ている
マルウェアの可能性もありますが、原因が広がります。
- すべてのページで403エラーが表示される場合は、次の原因が考えられます。
- 料金未払いなどにより、サーバーアカウントが停止されている
- サーバー会社がマルウェアを検知し、アクセスを制限している
index.phpがマルウェアによって改ざんされているindex.phpが削除されている- ファイルやディレクトリのアクセス権限が誤っている
- WAFやセキュリティー設定によってアクセスが拒否されている
2. マルウェア感染による403エラーの兆候
403エラーがマルウェアによって引き起こされている場合、以下の兆候が見られることが多いです。
- 突然のアクセス制限: 管理者であるにもかかわらず、403エラーでサイトにログインできない。
- 不審なファイルの増加: 知らないPHPファイルやスクリプトがサーバーに追加されている。
- .htaccessの改ざん: .htaccessファイルが書き換えられ、正規のユーザーがブロックされている。
- サイトのリダイレクト: 記事を開くと、不審な外部サイトへ飛ばされる
- Googleからの警告: 「このサイトは安全ではありません」と表示される。
- Microsoft Bingからの警告:「このサイトは安全ではありません」と表示される。
これらの症状が複数確認できる場合は、マルウェア感染の可能性があります。特にGoogleやMicrosoftから警告が表示されている場合は、第三者から危険なサイトと判定されているため、早急な調査と対応が必要です。
3. マルウェアによる403エラーの主な原因
実際にWordPressにマルウェアが入っているということなので、徹底的な駆除と対策が必要となります。マルウェアかどうか判断がつかずとも、明らかにおかしなファイルの存在を確認できたら、正常化への対応が必要です。
.htaccessファイルの改ざん
.htaccessファイルは、サイトのアクセス制御を行う重要なファイルです。これがマルウェアによって書き換えられると、管理者や訪問者がサイトにアクセスできなくなることがあります。原因は次の脆弱性のあるプラグインに続きます。
脆弱性のあるプラグインや開発が止まったプラグインが原因の可能性
403エラーの原因として、脆弱性が見つかっているプラグインや、長期間更新されていないプラグインからマルウェアが侵入した可能性があります。弊社の復旧経験では、脆弱性のあるプラグインを侵入経路とするマルウェア感染は、比較的多く確認されています。
脆弱性が修正されていないプラグインを使用していると、不正なファイルの設置、管理者権限の奪取、.htaccessの改ざんなどが行われ、結果としてサイト全体や管理画面に403エラーが発生することがあります。
特に、開発が終了しているプラグインや最終更新日が古いプラグインは、WordPress本体やPHPの更新に対応しておらず、既知の脆弱性が放置されている場合があります。プラグインを停止するだけでは、不正ファイルや改ざんされた設定が残ることもあるため、感染経路の調査とサイト全体の確認が必要です。
配布元や保守体制が不明な無料プラグインには注意が必要
個人サイトやSNS、ファイル共有サービスなどで無料配布されているWordPressプラグインは、配布元や保守体制を十分に確認する必要があります。
WordPress公式ディレクトリ外で配布されているプラグインは、脆弱性が発見されても、脆弱性データベースに登録されない場合があります。その結果、利用者が問題を把握できず、修正版の提供や対応が遅れる可能性があります。
また、公開時点からセキュリティ上の問題を含んでいたり、悪意のあるコードや不審な外部通信が組み込まれていたりする可能性も否定できません。
近年は生成AIを利用することで、WordPressプラグインを比較的容易に開発できるようになりました。しかし、開発後にコードレビュー、脆弱性診断、権限管理、入力値の検証、マルウェア検査などが、どの程度実施されているかは配布元によって異なります。
特に無料配布の場合、公開後の継続的な保守やサポートが保証されているとは限りません。WordPress本体やPHPの更新に対応せず、既知の脆弱性が修正されないまま放置されることもあります。
ただし、無料プラグインがすべて危険というわけではありません。WordPress公式ディレクトリで公開され、継続的に更新されているものや、信頼できる企業・開発者が提供しているものもあります。また、有料プラグインであっても、安全性が保証されるわけではありません。
無料配布されているプラグインを導入する際は、配布元、開発者情報、更新履歴、利用者数、サポート体制、脆弱性への対応実績などを確認し、配布元が不明なものは本番環境へ安易に導入しないことが重要です。
4. 403エラーを解決する方法(マルウェア駆除)
弊社の代表が執筆した、詳細記事があるのでご参照ください。
WordPressマルウェアの対応、乗っ取り復旧方法と手順の完全ガイド|プロが教える
マルウェアによる403エラーの復旧手順(簡易版)
詳しくは、詳細記事をご覧ください。具体的に復旧方法をいれております。
- サーバー・FTP・WordPressのパスワードを変更する
- サイトへのアクセスを一時的に遮断する
- バックアップからデータを復元する
- マルウェアの感染状況を確認する
- WordPressのコアファイルを入れ替える
- プラグインやテーマなどのwp-content内を復旧する
- データベースとuploadsフォルダを確認する
- セキュリティープラグインで最終スキャンを行う
マルウェアの自己対応と専門業者への依頼の違い
自己対応は、見つけた不審ファイルの削除やバックアップの復元が中心になりやすい一方、専門業者はサーバー全体を調査し、感染原因の特定、マルウェアの除去、脆弱性への対応、再発防止まで行います。
なぜ、自己対応後にマルウェアが再発するのか
弊社の経験では、自己対応や簡易的な駆除を行った後、2~3か月でマルウェアが再発し、以前より感染が拡大した状態でご依頼いただくケースがあります。
サーバー内部を調査すると、マルウェアや不正コードが完全に除去されておらず、残された不正ファイルや脆弱性を起点として、別のマルウェアが侵入していることもあります。
サイトの表示が正常に戻っても、感染原因や残存ファイルが解消されていなければ、復旧が完了したとは判断できません。
自己対応ではセキュリティープラグインの設定や警告を見落とすことが少なくありません
セキュリティープラグインを導入していても、初期設定のまま使用している、重要な監視機能が無効になっている、スキャン対象から一部のフォルダが除外されているなど、設定が不十分なケースがあります。
弊社の経験では、通知先のメールアドレスが誤っている、アラートが大量に届くため確認されていない、警告が出ていても対応されていないといった状態も見られます。
セキュリティープラグインは、導入するだけで感染を防げるものではありません。サイト構成に合わせた設定、定期的なスキャン、アラートの確認と適切な対応まで行う必要があります。
次のような場合は、自己対応を続ける前にご相談ください。
- wp-adminやwp-login.phpへアクセスできない
- サーバー会社からマルウェア検知や利用制限の通知が届いた
- 不審なファイルを削除しても再び作成される
- バックアップを復元しても403エラーが再発する
- セキュリティープラグインの警告内容を判断できない
- 同じサーバー内に複数のWordPressサイトがある