WordPressサイトがハッキングされ、医薬品スパムが表示されていたり、訪問者が不快な場所へ転送されていたり、Googleに詐欺的だと警告されているなら、プラグインではなくここから始めてください。最初に思いつくのはセキュリティスキャナーを入れて駆除ボタンを押すことです。それは見えている症状を取り除きますが、侵入口はそのまま残ります。数日で再感染するサイトが後を絶たず、その所有者がWordPressはそもそも安全ではないと結論づけてしまうのは、そのためです。
そうではありません。ほとんどの侵害は更新されていないプラグインから入ってきており、ほとんどの駆除失敗は、誰かがマルウェアを取り除いた一方で、アクセスの経路を取り除かなかったために起きています。
最初の一時間: サイトを停止するか、メンテナンスモードに切り替えてください。ホスティング管理画面のパスワード、データベースのパスワード、すべての管理者パスワード、そしてFTPまたはSSHの認証情報を変更します。まだバックアップを復元しないでください。まだ何も削除しないでください。どうやって侵入されたのかを突き止めるには現在の状態が必要であり、復元はその証拠を壊したうえで、同じ脆弱性をほぼ確実に元へ戻してしまいます。
最初の一時間にすべきこと
ここでは順序が重要で、よくある失敗はどれも焦りから来ています。
まずサイトを止めてください。メンテナンスページ、あるいはホスティングやCDNの側での一時的な遮断は、訪問者を守り、作業のあいだサイトがマルウェアを配り続けることを止めます。悪意ある転送を配信しているなら、公開したままの一時間ごとに評判の毀損が積み上がっていきます。
次に、すべての認証情報を入れ替えてください。WordPressの管理者パスワードだけではありません。ホスティングの管理画面、データベースのユーザー、FTPとSSHの鍵、そしてサイトの設定ファイルに保存されているAPIキーも含みます。攻撃者は二つ目の管理者アカウントを作ったり、鍵をひとつ残していったりするのが日常なので、パスワードをひとつ変えるだけでは何も達成できません。
そして、何かを変える前に証拠を保全してください。ファイルとデータベースを現在の状態のまま完全に複製し、少なくとも直近三十日分のサーバーアクセスログを手元にダウンロードします。侵入口を見つける手がかりはそのログにあり、多くのホスティング事業者は数日で古いログを破棄してしまいます。
そのうえで、初めて何が起きたのかを突き止める作業に入ります。
WordPressサイトがハッキングされた経路を特定する
診断のない駆除こそが、再感染がこれほど多い理由です。次の四つの確認で、たいていの場合は原因が見つかります。
プラグインとテーマのバージョンを既知の脆弱性と照らし合わせます。 更新されていないプラグインが、群を抜いて多い原因です。すべてのプラグインとそのバージョン、そして適用していないセキュリティリリースがあるかどうかを記録してください。ライセンスが切れているものには特に注意が必要です。有料プラグインはライセンスが失効すると更新の配信が止まる一方で、インストール済みかつ有効なまま表示され続けるからです。
異変の最初の兆候の前後で、アクセスログを読みます。 探すのは、見慣れないパスへのPOSTリクエスト、存在しないはずのファイルへのリクエスト、そして改ざんの直前にひとつのアドレスから集中した通信です。たいていはここに答えがあります。
そこにあるはずのないファイルを探します。 アップロードディレクトリの中で最近更新されたPHPファイルは強い兆候です。そこでは本来なにも実行されないはずだからです。もっともらしく見えるように名付けられたファイルや、設定ファイルとサーバー制御ファイルへの変更も同じように疑ってください。
追加された管理者アカウントと、登録されたスケジュールタスクを確認します。 攻撃者は戻ってくるためのユーザーを作り、駆除したあとにペイロードを再設置するスケジュールタスクを登録するのが一般的です。一定の周期で再感染し続けるサイトには、ほぼ必ず誰も見ていないスケジュールタスクがあります。
バックアップを戻せばいいという助言が失敗する理由
これは誰もが最初に受け取る提案であり、三回に一回くらいは正しい助言でもあります。
復元がうまくいくのは、侵害された日付が分かっていて、それ以前のバックアップがあり、脆弱性を特定して修正してある場合です。この三つがそろっていなければ、失敗の仕方まで予測できます。先週のバックアップを戻したつもりが、実は二週間前にすでに侵害され、静かにしていただけのサイトを戻しているかもしれません。脆弱なプラグインに手を入れないまま復元すれば、締め出された当のドアを、そのまま作り直したことになります。
復元が何を犠牲にするかという問題もあります。ストアや会員制サイトでは、巻き戻しはバックアップ以降のすべての注文、登録、コメントを失うことを意味します。それは受け入れがたい場合が多く、結果として置き換えではなく本番サイトの駆除へと向かうことになります。
確実なのは、復元ではなく作り直しです。WordPress本体を新規に導入し、すべてのプラグインとテーマを、侵害されたサイトからではなく公式の配布元から取得した清潔な状態で入れ、持ち込むのはアップロードディレクトリとデータベースだけにします。どちらも先に点検します。こうすれば実行されるコードが清潔であることが保証されます。ファイルをひとつずつ掃除していく方法では、そこまでの確信は決して得られません。
データベースの掃除
不完全な駆除が取りこぼしを残すのはデータベースです。スキャナーがファイルに集中しているからです。
注入された内容は、たいてい投稿本文の隠しリンクや埋め込み枠、転送スクリプトが保存されるオプションのテーブル、そしてユーザーのメタデータに現れます。コンテンツとオプションのテーブルを対象に、スクリプトのタグ、符号化された塊、見覚えのないドメインを検索してください。
ユーザーのテーブルは手で確認します。管理者権限を持つすべてのアカウントを見て、ひとつずつ心当たりがあることを確かめ、登録日を自分の記録と突き合わせてください。
WordPressではオプションのテーブルに置かれる、スケジュールされたタスクも見てください。見覚えのない関数を指す項目こそが、ファイルを掃除したずっとあとになってもサイトが定期的に自分自身を再感染させる仕掛けです。
符号化されたものには特に慎重に当たってください。攻撃者は、分かりやすい文字列の検索に引っかからないよう意図してペイロードを難読化します。なにか賢いことをしている正規のプラグインだろうと決めつけず、疑わしいものは復号して中身を見てください。
警告の解除と検索順位の回復
サイトを掃除しただけでは終わりません。審査を依頼するまで、警告は残り続けるからです。
Googleに警告されている場合、Search Consoleのセキュリティの問題に関するレポートが、何を検出したのかを示し、修正後に審査を依頼できるようにしてくれます。審査を頼むのは、サイトが本当に清潔になってからにしてください。審査に落ちると手続きは長引きます。
ブラウザやメール事業者が使うブロックリストに、ドメインが載っていないかも確認してください。清潔であることだけでは足りません。それぞれが独自のリストと、独自の解除手順を持っています。
そのうえで被害を見積もります。警告が解かれれば検索での可視性はたいてい回復しますが、何週間もスパムのページを配信していたサイトでは、そのページが索引に入っている可能性があります。自分のものではないURLが索引されていないかを確認し、削除し、清潔な版がクロールされていることを確かめてください。ウェブサイトセキュリティ監査のガイド で、確認の手順をより詳しく扱っています。
専門家による復旧の費用
以下は英国の典型的な相場で、侵害がどれだけ長く見過ごされたかによって変わります。
原因が判明していて、早い段階で見つかった小規模サイトの素直な駆除は、おおむね400ポンドから1,200ポンドで、期間は一日か二日です。一週間以内に誰かが気づいた場合の典型がこれにあたります。
侵入口と時系列を確定するためのログ解析、清潔な作り直し、データベースの点検、認証情報の入れ替え、堅牢化、そしてブロックリストからの解除まで含む本格的なインシデント対応は、通常1,500ポンドから5,000ポンドです。ストアや顧客データを保持するサイトが見込むべきはこちらです。データが閲覧されたかどうかの判断まで必要になるからです。
何か月も侵害されたままだったサイトや、同じアカウントで複数のサイトを運用している場合は、さらに高くなります。共用ホスティングではサイト間の相互汚染がよくあり、ひとつずつ確認しなければならないからです。
個人データが閲覧された可能性があるなら、技術的な掃除の先に義務があります。英国のGDPRは、報告対象となる侵害を認識してから72時間以内に監督機関へ通知することを求めており、その時計は掃除の完了時ではなく、認識した時点から動き始めます。片づけ終えてからではなく、早い段階で助言を得てください。GDPRの技術的コンプライアンス の記事が、その工学的な側面を扱っています。
二度目を起こさないために
堅牢化を伴わない復旧は、時計を巻き戻すだけです。
更新の規律がすべてです。侵害の圧倒的多数は、すでに修正が公開されている脆弱性を突いています。ですから対策は、セキュリティリリースを速やかに適用する手順と、保守されていないものを外すという方針に尽きます。ライセンスの切れた有料プラグインは、更新するか置き換えるかであって、そのまま放置してよいものではありません。
実行できるものを減らします。アップロードディレクトリの中身がPHPとして実行されてはならず、管理画面からのファイル編集は無効化し、管理者アカウントは少数に絞って個人名にします。
すべての管理者アカウントに多要素認証を追加し、ログインの入口には回数の制限をかけます。認証情報を狙う攻撃のほとんどは自動化されており、第二の要素が存在した瞬間に成立しなくなります。
最後に、正しくバックアップを取り、それを実際に試してください。一度も復元したことのないバックアップは仮説にすぎません。世代を複数保ってください。最新のものには、すでに侵害が含まれているかもしれないからです。WordPressセキュリティ強化チェックリスト が設定の全体像を示し、WordPressパフォーマンス監査のガイド は、副次的に攻撃面を減らすプラグインの規律を扱っています。
きちんと駆除する
MecanikはWordPressセキュリティ監査 とインシデント復旧をお引き受けしています。どのように侵害が起きたのかを確定し、上から塗り重ねるのではなく清潔に作り直し、データベースを点検し、同じ経路が背後で閉じるようにサイトを堅牢化します。
私たちはスキャナーの出力ではなく、サーバーのログから作業します。スキャナーは自分の知っているものを教えてくれるだけですが、ログは実際に何が起きたのかを教えてくれるからです。顧客データを扱うサイトでは、通知義務のある侵害に当たると見られるかどうかもはっきりお伝えします。あとからご自身で気づいていただくようなことはしません。継続的な保守はWordPress開発サービス としてご用意しており、二度目のインシデントよりはたいてい安くつきます。
いまサイトが侵害されているなら、公開を止め、認証情報を入れ替え、ログを残したうえで、ご連絡ください。
関連記事: APIセキュリティ:公開APIを守る2026年の実践 、経営者のためのOWASP Top 10 やさしい解説 、サーバーセキュリティ監査チェックリスト:何を確認するか 、英国企業向けウェブサイトセキュリティ監査ガイド 2026年版 。
よくある質問
WordPressサイトがハッキングされたら最初に何をすべきですか? サイトを公開停止にし、ホスティング、データベース、FTP、すべての管理者アカウントを含むあらゆる認証情報を入れ替え、現在のファイル、データベース、サーバーログの複製を保全してください。バックアップの復元やファイルの削除はまだ行わないでください。侵入口を見つけるために必要な証拠が失われます。
WordPressサイトが再感染し続けるのはなぜですか? ほとんどの場合、駆除がマルウェアだけを取り除き、アクセスの経路を残したからです。心当たりのない管理者アカウント、アップロードディレクトリのバックドア、そしてペイロードを再設置するオプションテーブルのスケジュールタスクを探してください。一定の周期で再感染する場合は、たいていスケジュールタスクが原因です。
バックアップを復元するだけでハッキングされたサイトを直せますか? 侵害の時期が分かっていて、それ以前のバックアップがあり、根本の脆弱性を修正してある場合に限ります。三つがそろっていなければ、すでに侵害されたサイトを戻すか、同じ穴を開け直す危険があります。本体、プラグイン、テーマを新規に入れ直す清潔な作り直しのほうが確実です。
WordPressのマルウェア駆除にはいくらかかりますか? 早い段階で見つかった小規模サイトの素直な駆除は、通常400ポンドから1,200ポンドです。ログ解析、清潔な作り直し、データベースの点検、堅牢化まで含む本格的なインシデント対応は、おおむね1,500ポンドから5,000ポンドで、長期化した侵害や複数サイトの場合はさらに高くなります。
Googleの警告はどうすれば解除できますか? サイトを完全に掃除したうえで、Search Consoleのセキュリティの問題レポートから審査を依頼してください。審査は本当に清潔になってからにしてください。落ちると手続きが長引きます。ブラウザとメールのブロックリストは別に確認する必要があり、それぞれ独自の解除手順があります。
コメント