自社サイトを開いたら、見知らぬ言語のページが表示された。検索結果に、身に覚えのない商品名が並んでいる。ブラウザが「危険なサイト」と警告を出す——WordPressの改ざんです。
この状況で最も多い失敗は、慌てて改ざんされたファイルを消してしまうことです。原因が特定できなくなり、復旧してもまた同じ手口でやられます。
この記事では、最初の30分に何をすべきか、優先順位をつけて解説します。
この記事で分かること
- 改ざんに気づくサインと、確認方法
- 最初の30分にやるべきこと(順番が重要)
- やってはいけない対応
- 復旧の流れと、再発を防ぐ設定
改ざんのサイン
| 症状 | 示唆されること |
|---|---|
| 身に覚えのないページが表示される | スパムページの大量生成 |
| 検索結果に無関係な語句が出る | SEOスパムの埋め込み |
| ブラウザが警告を出す | マルウェア配布と判定されている |
| 知らない管理者アカウントがある | 侵入者がアカウントを作成した |
| サイトが急に重い | 不正な処理が動いている |
| スマートフォンだけ別サイトに転送される | 条件付きリダイレクトの埋め込み |
| Search Consoleから警告メールが届いた | Googleが問題を検出した |
「スマートフォンだけ転送される」は特に厄介です。PCで確認している担当者は気づかず、数か月放置されることがあります。定期的にスマートフォンの実機でも確認してください。
最初の30分にやること
この順番で進めてください。
1|証拠を残す(消す前に記録する)
最優先です。削除や修正をする前に、現状を保全してください。
- 改ざんされた画面のスクリーンショット
- サーバー上のファイル一式を、丸ごとダウンロードして保存
- データベースのエクスポート
- アクセスログ・エラーログの取得(古いログから消えるため急ぐ)
- 異常に気づいた日時と、症状のメモ
これがないと、侵入経路が特定できず、復旧しても再発します。「汚染されたデータを残すのは怖い」と感じるかもしれませんが、公開サーバーから切り離して保管すれば問題ありません。
2|サイトを止めるか判断する
| 状況 | 判断 |
|---|---|
| マルウェア配布・フィッシングページがある | 即座に停止。訪問者に被害が及ぶ |
| 個人情報を扱うフォームがある | 即座に停止。情報流出の可能性 |
| スパムページの生成のみ | 停止が望ましいが、状況により判断 |
| ECサイトで決済を扱っている | 即座に停止し、決済代行会社にも連絡 |
停止方法は、サーバー管理画面で公開を止めるか、メンテナンス画面に差し替えます。訪問者に被害が及ぶ可能性がある場合、売上より停止を優先してください。
3|すべてのパスワードを変更する
侵入者が認証情報を持っている前提で動きます。
- WordPressの全ユーザー(不要なアカウントは削除)
- FTP・SFTPアカウント
- サーバー管理画面
- データベース
- ドメイン管理画面
あわせて、WordPressの管理画面で「ユーザー」一覧を確認し、見知らぬ管理者アカウントがないかを見てください。あれば削除します(削除前にスクリーンショットを)。
4|使えるバックアップを探す
復旧の可否は、ここで決まります。
- サーバー会社の自動バックアップ(保存世代数を確認)
- バックアッププラグインの保存先
- 制作会社が保管しているデータ
重要なのは「改ざん前の日付のもの」を選ぶことです。改ざんは、気づく数週間前から始まっていることがあります。直近のバックアップには、すでに不正なファイルが含まれている可能性があります。
やってはいけないこと
- 怪しいファイルをいきなり削除する:証拠が消え、侵入経路が分からなくなります
- WordPressを上書き再インストールして終わりにする:バックドアはテーマやプラグイン、データベースにも仕込まれます
- パスワードを変えずに復旧する:すぐに再侵入されます
- 原因不明のまま公開を再開する:数日で同じ状態に戻ります
- 放置する:検索エンジンから警告対象になり、回復に時間がかかります
2つ目が特に重要です。「WordPress本体を入れ直したから安心」は成立しません。侵入者は、再侵入用の仕掛けを複数箇所に残すのが通常です。
復旧の流れ
| STEP | 作業 |
|---|---|
| 1 | 証拠保全・停止・パスワード変更(前述) |
| 2 | クリーンな環境を用意する(可能なら新しいサーバー領域) |
| 3 | WordPress本体・テーマ・プラグインを公式配布元から新規に取得 |
| 4 | コンテンツ(記事・画像)だけを、確認しながら移す |
| 5 | データベースに不正なコードが混入していないか確認 |
| 6 | すべて最新版に更新し、不要なプラグインは削除 |
| 7 | 公開再開 |
| 8 | Search Consoleでセキュリティの問題を確認し、必要なら審査をリクエスト |
| 9 | 1〜2週間、ログと表示を監視 |
ポイントは3です。汚染された環境から持ってくるのはコンテンツだけで、プログラムはすべて公式配布元から取り直します。これが最も確実な方法です。
侵入経路として多いもの
| 経路 | 対策 |
|---|---|
| 古いプラグイン・テーマの脆弱性 | 更新を怠らない。使っていないものは削除する |
| WordPress本体が古い | 自動更新を有効にする |
| 推測されやすいパスワード | 長く複雑なものに。使い回さない |
| 管理者名が「admin」 | 別の名前に変更する |
| PHPのバージョンが古い | サポート中のバージョンに上げる |
| 共有サーバー上の別サイトから | 同一サーバー上の他サイトも点検する |
| 担当者PCのウイルス感染 | FTP情報が盗まれる。端末側の対策も必要 |
圧倒的に多いのは更新されていないプラグインです。特に「入れたまま使っていないプラグイン」は、存在自体がリスクになります。使わないものは無効化ではなく削除してください。
再発を防ぐ設定
- WordPress本体・テーマ・プラグインを常に最新に保つ(最重要)
- 使っていないプラグイン・テーマを削除する
- 管理画面への二段階認証を導入する
- ログイン試行回数を制限する
- 管理者権限のアカウントを最小限にする
- バックアップを自動取得し、サーバー外にも保存する
- PHPをサポート中のバージョンに保つ
- Search Consoleに登録し、警告を受け取れるようにする
バックアップの保存先に注意してください。同じサーバー上にだけ置いていると、サーバーごと侵害されたときに一緒に失われます。外部ストレージへの保存を必ず含めてください。
費用の目安
| 作業 | 費用の目安 |
|---|---|
| 調査・原因特定 | 5万〜20万円 |
| 復旧作業(小〜中規模サイト) | 15万〜50万円 |
| バックアップからの復元のみ | 3万〜15万円 |
| 再発防止の設定 | 5万〜20万円 |
この費用は、保守契約の範囲外になっていることが多い項目です。「改ざん時の復旧が保守に含まれるか」は、契約時に必ず確認してください。詳しくは契約・著作権・検収の実務もご覧ください。
よくある質問
Q. 小さな会社のサイトでも狙われますか?
狙われます。攻撃の大半は特定の企業を狙ったものではなく、脆弱性のあるサイトを機械的に探すタイプです。規模は関係ありません。むしろ管理が手薄なぶん、小規模サイトのほうが被害に遭いやすい面があります。
Q. セキュリティプラグインを入れれば大丈夫ですか?
有効ですが万能ではありません。本体とプラグインを最新に保つことのほうが、はるかに重要です。プラグインを入れて安心し、更新を怠るのが最悪のパターンです。
Q. 個人情報が漏れた可能性があります
速やかに専門家に相談してください。状況によっては、監督官庁への報告や本人への通知が必要になります。技術的な復旧と並行して、法務面の対応を進める必要があります。判断を先延ばしにしないでください。
Q. 検索結果に不正な内容が出続けています
復旧後、Search Consoleでセキュリティの問題を確認し、解決済みであれば審査をリクエストしてください。検索結果への反映には数日〜数週間かかります。焦らず、再発していないことを確認しながら待ってください。
まとめ
- 最優先は証拠の保全。消す前にファイル一式とログを保存する
- 訪問者に被害が及ぶ状態なら即座に停止する
- パスワードはすべて変更する。不明な管理者アカウントは削除
- 復旧はプログラムを公式配布元から取り直し、コンテンツだけ移す
- 侵入経路の大半は更新されていないプラグイン
- バックアップはサーバー外にも保存する
改ざんは、起きてからの対応に数十万円かかります。更新を怠らないこと、バックアップを外部に持つこと——この2つで、大半のリスクは下げられます。

