Kalsarikannint

お問い合わせ

サイト内検索

【実録】WordPressサイトが不正アクセスで403エラーに。エックスサーバーで自力で復旧した手順まとめ

こんにちは、29歳のITエンジニアです。Kalsarikännit (自宅でパンツ一丁で酔っ払う)してますか?
WordPressの403エラーに遭遇すると、「403 Forbidden」と表示されて、まるでサイトが「お前はここに来るな!」と拒絶しているように感じますよね。​
でもご安心を。この記事では、その「ツンデレ」なエラーを攻略する方法をお伝えします。

WordPressサイトで403 Forbiddenエラーが発生し、困っている方へ向けて、実際に私が対応した復旧の記録をまとめました。

突然サイトにアクセスできなくなったり、エックスサーバーから「不正アクセスがありました」という通知を受け取った方の参考になれば幸いです。

前提条件(作業を始める前に)

  • 操作にはphpMyAdminを使用します(phpMyAdminの操作方法)。
  • WordPressのコアファイルとデータベースのバックアップを必ず取得してください。

状況:WordPressサイトが403エラーに

知人から「WordPressサイトにアクセスできない!」と連絡があり、サイトを確認したところ、403 Forbiddenエラーが表示されていました。

さらに詳しく調べると、エックスサーバーからも「不正アクセスを検知した」と通知がありました。

調査結果:原因は不正アクセスによる改ざん

サーバーを調査したところ、以下のような不正ファイルが存在していました。

  • wp-confiq.php(本来はwp-config.phpが正しい名称のため、不正ファイルの疑い)
  • wp-includes/nkrfct.php という不審なPHPプロセスが動作
  • .htaccessのパーミッションが「444」になり、不正なリダイレクト設定がされていた

エックスサーバー側で一時的にパーミッションが「000」に変更されていましたが、自動復旧機能だけでは再発を防げませんでした。

行った対応:サイト復旧の具体的な手順

1. バックアップを取得

まずはWordPressのコアファイルとデータベースをバックアップします。これは必ず行ってください。

2. WordPressをサブディレクトリに再インストール

セキュリティ向上のため、WordPressのコアファイルをルートディレクトリ(/)ではなく、サブディレクトリに設置します。

例えば「/subfolder」に設置した場合、ルートのindex.phpは以下のように記述します。

<?php
define('WP_USE_THEMES', true);
require( dirname(__FILE__) . '/subfolder/wp-blog-header.php' );

3. コメント機能をすべて無効化

新規投稿はダッシュボードの設定でコメントを無効にします。既存の記事はphpMyAdminでSQLを使って一括変更しました。

UPDATE wp_posts
SET comment_status = 'closed', ping_status = 'closed'
WHERE comment_status != 'closed' OR ping_status != 'closed';

4. データベース内の不要データを削除

サイトのパフォーマンス改善とセキュリティ対策のため、次のSQLを実行して不要データを削除します。

30日以上前のリビジョンを削除

DELETE FROM wp_posts
WHERE post_type = 'revision'
  AND post_date < DATE_SUB(NOW(), INTERVAL 30 DAY);

ゴミ箱(Trash)内の投稿やページを削除

DELETE FROM wp_posts
WHERE post_status = 'trash';

不要なコメント(スパム、ゴミ箱)を削除

DELETE FROM wp_comments
WHERE comment_approved IN ('spam', 'trash');

孤立したメタデータを削除

DELETE pm
FROM wp_postmeta pm
LEFT JOIN wp_posts p ON p.ID = pm.post_id
WHERE p.ID IS NULL;

使用していないプラグインの残骸を削除

過去に使用していた「All in One SEO」やフォームの名残を削除します。

DELETE FROM wp_postmeta
WHERE meta_key LIKE '\\_aio%' ESCAPE '\\';

DELETE FROM wp_postmeta
WHERE meta_key LIKE '%メールアドレス%'
   OR meta_key LIKE '%お名前%';

4. セキュリティ対策を強化する

再発を防ぐため、次の設定をおすすめします。

  • セキュリティプラグインの導入(SiteGuardなど)
  • WordPress本体とプラグインを最新に保つ
  • WAF(ウェブアプリケーションファイアウォール)の有効化
  • 管理者アカウントの強化(二段階認証など)

まとめ:同様の被害を防ぐために

今回の事例では、単にエラーを解決するだけでなく、不正アクセスの原因をきちんと特定し、根本的にサイトを再構築することが必要でした。

「403エラー」や「不正アクセスの通知」があったときは、慌てずバックアップを取得した上でサーバー内を確認し、不正なファイルや設定がないか点検しましょう。

同じ状況でお困りの方の参考になれば嬉しいです。それではまた!

Author Afu

CG屋の社内SE+Web屋+IT御用聞き。沖縄⇔東京のデュアルライフ模索中。

ObsidianとAIエージェントで「メモが腐らない仕組み」を作った

こんばんは、Afuです。Kalsarikännit(自宅でパンツ一丁で酔っ払う)してますか?このブログは、Webエンジニア兼社内SEの Afu と dai の2人が、PCやガジェット周りをゆるく書いていく(意気込でいる)サイトです。 ObsidianとAIエージェント(Antigravity)を組み合わせて、日々のメモ書きを自動で「やることリスト」「欲しいものリスト」「note記事」に変換する仕組みを作りました。 メモって、書いたら書きっぱなしになりがちじゃないですか。 「あれ欲しいな」「あの人に連絡しなきゃ」みたいなことを走り書きしても、翌日には忘れてる。よくある。 この仕組みを入れてからは、"書くだけ"で勝手に整理されるようになったので、そのやり方を紹介します。 使っているツール Obsidian:ローカルで動くMarkdownエディタ。デイリーノート機能があって、日記やメモを日付ごとに記録できます。自分はVaultフォルダ(Obsidianのデータ保存先)をiCloudに置いているので、iPhoneからでも同期してメモが書けるのがかなりでかい。電
AI

iPad mini (A17 Pro) + Tailscale でどこでもWindowsが使える環境をつくってみた

こんばんは、Afuです。Kalsarikännit(自宅でパンツ一丁で酔っ払う)してますか?このブログは、Webエンジニア兼社内SEの Afu と dai の2人が、PCやガジェット周りをゆるく書いていく(意気込でいる)サイトです。 さて表題の件です。iPad mini (A17 Pro)を買いました。 128GB、セルラーモデル。イオシスの通販サイトにて中古で約85,000円。セルラーモデルは新品だと10万近くするので、今回は中古で。イオシスは状態のランク表記がわかりやすいので、iPad系を中古で買うときはだいたいここを覗いています。 数えてみたら、これで7枚目のiPadになります。 iPad 2 iPad mini 初代 iPad 無印(世代忘れた) iPad mini 3 iPad Pro(現在も所有) iPad mini 6 iPadmini (A17 Pro) ← New 自分iPad mini 6で書いていて引きますが結構買ってますね。 mini 6を手放してから約3年、また買ってしまいました。 なんで
review

【逸般の誤家庭入門】RTX830を買って初歩的な設定で丸一日溶かした話

明けてしまいましたがおめでとうございます。Afuです。Kalsarikännit(自宅でパンツ一丁で酔っ払う)してますか?このブログは、Webエンジニア兼社内SEの Afu と dai の2人が、PCやガジェット周りをゆるく書いていくやつです。 言い出しっぺは私なんですが、最近あまり顔を出してませんでした。今年は書きます(書く気はある)。 さて本題。少し前に、ヤマハ製ネットワークルーター 「RTX830」 を我が家に導入しました。で、インターネットが繋がるまでに丸一日かかったので、つまずきポイントをメモしておきます。同じ沼に落ちる人が減りますように。そもそも一般的な家庭でこんな機器導入しないと思うんですけど。 なんで買ったのか? きっかけは、会社でネットワークトラブルに遭遇して「自宅でも気軽に触って遊びながら覚えたいな」と思ったこと。 ルーター設定なんてやったことないし、最近おもしろいこともないし。深夜2時に酒を飲みながらメルカリを眺めてたら、気付いたらポチってました。中古で 25,000円 くらい。 速度に強い不満があった
未分類