WordPress の乗っ取り・改ざん・セキュリティ確認
改ざんの多くは wp-content とデータベースに残ります。本体のファイル検査だけでは見つかりません。
見えている症状から選ぶ
| 見えているもの | まず疑う |
|---|---|
| 知らない管理者がいる / スパムリンクが埋まっている | データベース側の痕跡 |
| 改ざんを検査したい | verify-checksums は wp-content を見ていない |
| 不審なログイン試行が大量に来る | ユーザー名の漏洩・試行制限なし |
| 設定ファイルが漏れていないか心配 | 本体ではなくバックアップファイル |
| 移行に使ったバックアップが残っていないか心配 | .wpress が未ログインで取得できる。自動では消えない |
| プラグイン開発で権限チェックが不安 | permission_callback・is_admin() |
| 自動更新にしているのに更新されていない | プラグインは 1 つずつ有効にしないと対象にならない |
| 誰にどの権限を割り当てるか決めたい | 管理者だけが持つ権限は 27 個 |
| バックアップが本当に戻せるか不安 | 標準のエクスポートには設定もプラグインも含まれない |
| git で管理していると自動更新が動かない | バージョン管理下と判定されている |
直前にやった操作から探す場合は 直前にやったことから引く へ。
このテーマの記事
- WordPressが乗っ取られた・改ざんされた時の確認と対処法知らない管理者がいる・スパムリンクが埋め込まれた等、乗っ取り・改ざんの確認と対処法。ファイル検査では見つからないDB側の痕跡(管理者追加・本文注入)の探し方と、認証キー再生成を含む初動を実測。
- WordPressの改ざんチェックの落とし穴 — verify-checksumsだけでは足りないwp core verify-checksumsがSuccessでも改ざんは見つからないことを実測。コアしか見ずwp-contentは素通り、テーマ用コマンドは存在しない等3つの穴。git diffが唯一の全カバー経路。
- WordPressのセキュリティ確認 — 攻撃者から何が見えているか実測既定のWordPressが攻撃者に何を見せているかを実測。ユーザー名が4経路(REST/?author/ログインエラー/XML-RPC)から漏れる。効かない対策(is_adminやxmlrpc_enabled)も実測で特定。
- wp-config.phpは漏れる?情報漏洩の確認と対策wp-config.phpのパスワードが漏れるか実測。PHP停止でも本体は漏れないが、.bakや~などのバックアップファイルは全文露出することを確認。自分のサイトで確認する方法と対策を解説。
- All-in-One WP Migration の書き出したバックアップは外から取れる — 実測と対策All-in-One WP Migration で書き出した .wpress が未ログインのまま取得できるかを実測。中身にはデータベースがそのまま入っている。置き場所の保護、自動削除の有無、「インポートできない」上限エラーの直し方まで。
- WordPressプラグインの権限チェック不備 — 脆弱性の実測と対策2026年に最多のプラグイン脆弱性・権限チェックの不備を脆弱コードと修正版で実測。permission_callback=__return_trueは未ログインで書き込める、is_adminは購読者でもtrueなど。開発者向けの原則も。
- WordPressの自動更新は既定でほとんど動かない — 何が自動で何が手動か自動更新に任せているつもりでも、既定で自動になるのは本体のマイナー更新だけです。プラグインとテーマは1つずつ有効にしないと更新されません。既定値と、設定が止められている場合の見分け方を実測しました。
- WordPressのユーザー権限をどう割り当てるか — ロール別の実測管理者・編集者・投稿者・寄稿者で何ができるかを実測。管理者だけが持つ権限は27個あり、編集者はプラグインもテーマも設定も触れません。全員を管理者にしないための判断材料をまとめます。
- WordPressのバックアップは何を取れば戻せるのか — 実測標準のエクスポートで書き出せるのは投稿とユーザーだけで、プラグインも設定も含まれません。データベースだけ戻したときに何が消えるかを実測し、戻せるバックアップの最低条件をまとめます。
- git 管理だと WordPress の自動更新が止まるgit でデプロイしているサイトでは、WordPress が「バージョン管理下」と判断して自動更新を止めます。本体もプラグインも更新されなくなるのに、管理画面の「自動更新」の列は残ったままでした。実測した結果をまとめます。
- バックアップが動かない原因と確認方法バックアッププラグインを入れたのに実行されていない原因を実測。入れただけでは予約されず、WP-Cron が動かない環境では予定時刻を過ぎても走りません。取れたファイルの公開範囲も測りました。