WordPressのwp-config.phpが改ざんされた時の確認点|認証キーとDB情報を守る復旧手順

改ざんされたwp-config.phpとデータベース情報を調査するWordPressセキュリティのイメージ

「wp-config.phpに見覚えのないコードがある」「更新日時が勝手に変わっている」と、
WordPressの改ざんを疑って困っていませんか?

wp-config.phpにはデータベースへ接続する情報や、ログインCookieの認証に使うキーが入っています。
そのため、不審な部分だけを急いで消したり、ファイルを画面共有したりすると、証拠や秘密情報を失うおそれがあります。

ただし、更新日時や見慣れない設定があるだけで、直ちにマルウェアと断定するのも危険です。
サーバー会社、移転ツール、保守担当者が正規の変更を加えている場合もあるため、信頼できる基準との差分で判断します。

よこやま良平

WordPressの復旧を多数手がけてきたよこやま良平です。わたしの現場経験をもとに、wp-config.phpの証拠保全から認証情報の交換、再発防止まで安全な順番で解説します。

この記事でわかること
  • wp-config.phpを上書きする前に残す証拠
  • 正規設定と改ざんの疑いを切り分ける見方
  • 認証キーとDB情報を交換する安全な順番
  • 設定ファイル以外へ調査範囲を広げる基準
  • 復旧後の再改ざんを防ぐ確認項目

結論から言うと、wp-config.phpの改ざんが疑われる時は、現在のファイルを証拠として保全し、
不審な変更を確認してから、DB資格情報・認証キー・WordPress全体を一つの事故として復旧するのが安全です。

「ファイルを直して表示が戻った」で終わらせず、漏れた可能性がある情報を失効させ、
書き換えた入口まで閉じるための手順を順番に見ていきましょう。

目次

【無料プレゼント】
WordPress緊急チェック50

「自分のサイトは今、安全なのか?」
自信を持って答えられますか?

WordPress緊急チェック50

こんなお悩みはありませんか?

  • ある朝、サイトを開いたら真っ白画面になっていた
  • 管理画面にログインできなくなって手が止まった
  • 身に覚えのない記事やページが勝手に増えていた
  • プラグインを更新したらサイト全体が崩れてしまった
  • 以前バックアップを取ったか自分でも覚えていない

累計1,000件以上のWordPressトラブル対応の経験から、「壊れる前に備える」ためのチェックリストを1冊にまとめました。
ログイン・本体・バックアップ・サーバー・運用の5分野を、50項目で「危険度・確認方法・対処法」まで解説しています。

セキュリティプラグイン・WordPressの教科書も含めた3大特典を、
今なら無料で受け取れます。

今すぐ無料ダウンロードする →

※登録後すぐにメールで特典をお届けします

WordPressのwp-config.phpが改ざんされた時は上書き前に保全する

WordPressのwp-config.phpが改ざんされた疑いがある時は、修正より先に現在の状態を保全してください。

理由は、不審コード、更新時刻、所有者、権限、ファイルサイズが、侵入方法や再発元を調べる手掛かりになるからです。
上書きや再インストールを先に行うと、表示は戻っても原因を追えなくなることがあります。

現在のファイルと周辺情報を変更せずに残す

まず、wp-config.phpを公開領域から実行されない安全な場所へコピーし、取得日時を記録します。
同時に、ファイルの更新日時、サイズ、所有者、権限、ハッシュ値も記録してください。

比較用には、改ざん前と確認できるバックアップ、保守担当者が保存した正規版、サーバー移転時の控えを使います。
「古いから正しい」とは限らないため、そのバックアップを取得した時点で既に侵害されていなかったかも確認が必要です。

公開影響を止めても証拠は消さない

不正リダイレクト、迷惑メール送信、管理画面の乗っ取りなどが続いているなら、
アクセス制限や保守画面で被害拡大を止める判断が必要です。

ただし、感染が疑われるWordPress上のプラグインだけで保守モードにすると、攻撃者に解除される可能性があります。
可能ならサーバーパネル、WAF、IP制限など、侵害されたWordPressとは別の管理面から制限してください。

ファイルを消す代わりに、調査用コピーと作業用コピーを分けます。
原本相当の証拠は読み取り専用で残し、復旧作業は別のクリーンなコピーに対して行うと混乱を減らせます。

認証情報が写る共有物を作らない

wp-config.phpの全文をスクリーンショット、メール、チャット、チケットへ貼り付けないでください。
DBパスワードや認証キーが写れば、相談のための共有そのものが新たな漏えい経路になります。

相談時は、秘密の値を黒塗りにし、定数名、不審コードの位置、更新日時、症状だけを伝えます。
実ファイルを渡す必要がある場合は、相手と送信方法を確認し、一般のメッセージ添付を避けてください。

上書き前に残す情報
  • 現在のwp-config.phpと取得日時
  • 更新日時、サイズ、所有者、権限、ハッシュ値
  • エラー画面や不正転送などの症状と発生時刻
  • 直前の更新、移転、保守作業の履歴
  • 秘密の値を隠した差分メモ

本番ファイルの編集前に、原本相当のコピーと作業記録を残してください。

WordPressのwp-config.php改ざんを内容と差分から確認する

WordPressのwp-config.php改ざんは、更新日時だけでなく、信頼できる基準との内容差分から確認します。

wp-config.phpの不審な変更を信頼できる設定ファイルと比較するイメージ

wp-config.phpはサイトごとの設定ファイルなので、WordPress本体のように公式配布物と完全一致するものではありません。
正常なサイトでもDB情報、認証キー、テーブル接頭辞、デバッグ、キャッシュ関連の定数が環境ごとに異なります。

信頼できる基準と更新時刻・ハッシュを比較する

最も確実なのは、正常だった時点のファイルと現在ファイルを安全な端末で比較することです。
比較画面には秘密の値が出るため、画面収録や自動同期、共同編集の対象にしないでください。

更新時刻が症状発生の直前なら重要な手掛かりですが、バックアップ復元やサーバー移転でも変わります。
反対に、攻撃者が時刻を偽装することもあるため、時刻だけで安全・危険を決めることはできません。

SSHやローカルの調査環境を使える場合は、内容を実行せず、まず属性とハッシュを採取します。
出力値そのものは証拠記録へ保存し、公開の相談文には貼らないでください。

stat wp-config.php
shasum -a 256 wp-config.php
php -l wp-config.php

php -lは構文エラーを確認するための例で、感染の有無を判定するコマンドではありません。
本番で直接試さず、権限を限定した隔離コピーで、サーバー管理者の手順に従って実行してください。

ファイル先頭・末尾と外部読み込みを調べる

不審な変更は、ファイル先頭、末尾、ABSPATHを定義する行の前後に紛れ込むことがあります。
極端に長い一行、意味のない文字列、難読化、見覚えのない外部ファイル読み込みがあれば、由来を確認してください。

DB_NAME、DB_USER、DB_PASSWORD、DB_HOSTの値が変わっていれば、データベース接続エラーや別DBへの接続につながります。
WP_HOME、WP_SITEURL、COOKIE_DOMAIN、テーブル接頭辞などの変更も、転送やログイン異常の原因になり得ます。

一方、キャッシュプラグインやサーバー会社が追加した定数、移転時の一時URL設定は正規の場合があります。
名前が知らないという理由だけで消さず、プラグイン公式資料、サーバー仕様、作業履歴と照合しましょう。

正規のカスタマイズと不正コードを切り分ける

説明できないコードが見つかっても、単独で削除して終えないでください。
同じ時刻帯に変更されたPHP、.htaccess、mu-plugins、uploads、Cron、管理者ユーザー、データベースも確認します。

感染ファイル候補を広く探す方法は別記事で整理しています。
wp-config.phpだけが目立っていても、書き換え元が別ファイルに残っていれば再改ざんされます。

改ざんの疑いを強める組み合わせ
  • 由来不明のコードと症状発生時刻が近い
  • 同時期に不審な管理者やPHPファイルが増えた
  • 外部ドメインや隠しファイルを読み込んでいる
  • 削除しても同じ変更が自動的に戻る
  • 保守担当者・サーバー会社・導入機能の記録にない

WordPressのwp-config.phpから認証キーとDB情報が漏れた範囲を切り分ける

WordPressのwp-config.php改ざんが確認できたら、DB情報・認証キー・追加設定を別々の秘密情報として棚卸しします。

wp-config.phpのデータベース資格情報と認証キーを交換するイメージ

同じファイルに書かれていても、それぞれの役割と失効方法は異なります。
認証キーだけを交換してもDBパスワードは変わらず、DBパスワードだけを変えても既存のログインCookieは残ります。

DB接続情報は到達条件と権限を含めて扱う

DB名、DBユーザー、DBパスワード、DBホストが読まれた可能性があるなら、DB資格情報は漏えいした前提で交換します。
ただし、情報を知っただけで外部から直ちに接続できるとは限りません。

データベースがlocalhost限定なのか、外部接続を許可しているのか、DBユーザーがどのデータベースへ何の権限を持つのかで危険度は変わります。
サーバー内のマルウェアならlocalhostへ到達できるため、外部接続禁止だけで安心はできません。

交換時は、WordPress専用のDBユーザーを用意し、必要なDB以外へ権限を広げないことが基本です。
新しい値はサーバーパネルの保護された入力経路で扱い、コマンド履歴や作業ログへ残さないでください。

認証キーとソルトを交換してCookieを無効化する

AUTH_KEYなどの認証用ユニークキーとソルトを新しい値へ交換すると、既存のログインCookieを無効化できます。
交換後は正規の利用者もログアウトするため、管理者へ作業時刻を知らせてから進めます。

新しい値はWordPress.orgの公式生成サービスを使い、古い値を一部だけ残さず、対象の組をまとめて交換します。
生成結果は記事、チャット、スクリーンショット、共有メモへ貼らず、そのまま安全な編集経路で反映してください。

認証キーの交換で無効になるのは主にCookie認証です。
WordPressのパスワード、Application Passwords、DB資格情報、サーバーパネルやSFTPのログイン情報は別に確認・失効させる必要があります。

同居する追加シークレットと上位アカウントを棚卸しする

サイトによっては、wp-config.phpにSMTP、外部API、決済、ライセンス、ストレージなどの追加定数を保存しています。
標準のWordPress設定だけを交換すると、これらが漏れたまま残る可能性があります。

ファイル内の値を公開せず、どのサービスの秘密情報があるかだけを一覧化し、提供元ごとに再発行・失効を進めます。
同じパスワードをメール、サーバーパネル、SFTPで使い回していた場合は、上位アカウントも調査対象です。

メールやSMTPへの影響は、WordPress感染だけで断定できません。
保存済み認証情報、転送設定、送信履歴、不審ログインを分けて確認すると、必要な交換範囲を判断しやすくなります。

情報ごとに異なる失効方法
  • DB資格情報: DBユーザーのパスワード・権限を変更する
  • 認証キーとソルト: 新しい組へ交換してCookieを無効化する
  • WordPressパスワード: 各ユーザーの認証情報を変更する
  • Application Passwords: 一覧を確認して不要分を失効する
  • 外部API・SMTP等: 各提供元でキーを再発行する

WordPressのwp-config.php改ざんを安全に復旧する手順

WordPressのwp-config.php改ざんは、クリーンな再構成、秘密情報の交換、サイト全体の調査という順番で復旧します。

wp-config.phpを安全に再構成してサーバー全体を保護するイメージ

本番ファイルへ不審部分だけを継ぎ足し修正すると、見落としや構文エラーが残りやすくなります。
原本を証拠保全したうえで、正規設定だけを使った新しい作業用ファイルを組み立てる方が安全です。

クリーンな作業場所で設定ファイルを再構成する

まず、信頼できるバックアップとWordPress公式の設定項目を参照し、必要な定数を一覧化します。
キャッシュ、CDN、マルチサイト、独自環境変数などがある場合は、運用担当者と必要性を確認してください。

設定値を新しいファイルへ移す時は、旧ファイルの全文をコピーして不審部分だけを削る方法を避けます。
何を残したか説明できるよう、項目ごとに正規の由来を確認して再構成します。

反映前には構文、改行、引用符、ファイル末尾、文字コードを確認します。
DB情報を交換する場合は、DB側とwp-config.php側の切り替え時刻を合わせ、長時間の接続エラーを避ける計画も必要です。

感染時点が不明なバックアップをそのまま戻す危険は、別記事でも詳しく解説しています。
バックアップは復元材料と調査証拠を分け、正常性を確認してから利用してください。

DB資格情報と認証キーを安全な順番で交換する

秘密情報の交換は、攻撃者の接続経路を止めたあと、安全な端末と管理面から行います。
感染したPCや不審なブラウザー拡張を使い続けると、新しい情報も再び盗まれる可能性があります。

先に正規管理者の連絡手段とサーバー管理権限を確保し、DBユーザーの新しい資格情報を発行します。
次に再構成したwp-config.phpへ反映し、接続を確認したら古い資格情報を失効させます。

続いて認証キーとソルトをまとめて交換し、全利用者をログアウトさせます。
不審なWordPressユーザー、Application Passwords、回復用メール、サーバーパネル、SFTPも個別に確認してください。

安全な復旧順序
  1. 被害拡大を止め、現在ファイルとログを保全する
  2. 安全な端末と正規の上位管理権限を確保する
  3. 信頼できる項目だけでwp-config.phpを再構成する
  4. DB資格情報を交換し、新設定で接続を確認する
  5. 認証キー・ソルトと各種アカウントを失効する
  6. 周辺侵害を除去し、機能確認と監視を行う

WordPress全体と同一サーバー内を調べる

wp-config.phpを書き換えられた事実は、設定ファイル以外にも変更できる権限を奪われた可能性を示します。
WordPress本体、テーマ、プラグイン、mu-plugins、uploads、.htaccess、Cron、管理者ユーザーを確認してください。

データベースでは、usersとusermetaだけでなく、options、投稿、ウィジェット、リダイレクト、埋め込みコードも調べます。
DB資格情報が漏れていれば、ファイルを直してもDB内の不正設定が残ることがあります。

同じホスティング契約に別のWordPressや古いCMSがある場合は、そこから再び書き換えられる可能性があります。
一つのサイトだけを復旧せず、同じ所有者で書き込み可能な範囲、サーバー側Cron、SFTPアカウントも確認しましょう。

わたしの実務では、設定ファイルの修正より、誰が再び書ける状態なのかを突き止めることが再発防止の中心です。

WordPressのwp-config.php復旧後に再改ざんを防ぐ

WordPressのwp-config.php復旧後は、侵入口、書き込み権限、変更監視、主要機能をまとめて見直します。

表示が正常でも、脆弱なプラグイン、盗まれたSFTP、別サイトのバックドア、サーバー側Cronが残れば再改ざんされます。
復旧の完了条件は「表示できること」ではなく、「再び書き換える経路を説明して閉じたこと」です。

侵入口を閉じて所有者・権限を見直す

WordPress本体、テーマ、プラグインを安全な版へ更新し、不要なものと放置した旧サイトを整理します。
管理者、サーバーパネル、SFTP、SSHの不審なアカウントやセッションも失効してください。

wp-config.phpは、WordPressとWebサーバーが必要な範囲だけ読める所有者・権限にします。
適切な数値はサーバー構成で異なるため、他サイトの例をそのまま使わず、ホスティング会社の推奨を確認しましょう。

環境によってはwp-config.phpを公開ディレクトリの一つ上へ置ける場合がありますが、構成確認なしの移動はサイト停止を招きます。
配置変更だけに頼らず、所有者、権限、Webからの露出、バックアップ保存先を合わせて見直してください。

ファイル変更と不審なログインを監視する

復旧後は、wp-config.phpのハッシュと更新時刻を基準として保存し、意図しない変更を検知できるようにします。
監視通知が出たら、通知を消す前に変更者、時刻、差分、同時刻のアクセスログを確認してください。

マルウェアの有無を調べる時は、Wordfenceなどのスキャン機能と、サーバー側のファイル・ログ調査を組み合わせます。
スキャンで検出されないことは、改ざんが存在しない証明にはなりません。

クイックレスキュー365は、不正ログインブロック、ログインURL変更、XMLRPC遮断など、復旧後の防御設定に利用できます。
マルウェアのスキャン機能はないため、検出と予防の役割を分けて使ってください。

正常表示以外の機能も確認する

復旧確認では、トップページだけでなく、管理画面、投稿保存、画像アップロード、フォーム送信、予約処理を試します。
DB資格情報や認証キーを交換した直後は、接続エラーと全利用者のログアウトが想定どおりかも確認します。

数日から数週間は、ファイル変更、不審ログイン、DBエラー、メール送信、検索結果を継続監視します。
復旧後の認証情報と運用の見直しは、関連記事のチェック項目も活用してください。

復旧完了を判断する項目
  • 不審コードと周辺侵害を除去した
  • DB資格情報・認証キー・関連アカウントを失効した
  • 侵入口と再書き込み元を確認して閉じた
  • 公開・管理・フォーム・定期処理・外部連携を確認した
  • 基準ハッシュと監視・バックアップ運用を整えた

WordPressのwp-config.php改ざんに関するよくある質問

WordPressのwp-config.php改ざんで迷いやすい点を、復旧前に短く整理します。

wp-config.phpの更新日時が新しければ改ざんですか?

更新日時だけでは断定できません。サーバー移転、保守、キャッシュ設定でも変わるため、作業履歴、内容差分、所有者、同時刻のログや周辺ファイルを合わせて確認してください。

認証キーとソルトを交換するとパスワードも変わりますか?

WordPressユーザーのパスワード自体は変わりません。主に既存のログインCookieが無効化されます。DB資格情報、Application Passwords、サーバーやSFTPの認証情報は別に交換・失効が必要です。

DBパスワードを変えたらすぐ復旧できますか?

DB側とwp-config.php側の値が一致しなければ接続エラーになります。安全な端末と正規管理面を確保し、新旧の切り替え順、権限、接続確認、旧資格情報の失効まで計画して進めてください。

wp-config.phpを直せばマルウェア駆除は完了ですか?

完了ではありません。別のPHP、プラグイン、mu-plugins、uploads、Cron、データベース、不審ユーザー、同一サーバー内の別サイトに再書き込み元が残る可能性があります。

WordPressのwp-config.php改ざんは情報交換と全体調査まで行う

WordPressのwp-config.phpが改ざんされた時は、現在ファイルを保全し、信頼できる基準との差分を確認することが出発点です。
更新日時や見慣れない一行だけで断定せず、由来、周辺変更、ログ、症状を合わせて判断してください。

改ざんが確認できたら、DB資格情報、認証キーとソルト、WordPressユーザー、Application Passwords、追加APIキーを分けて失効します。
秘密の値を画面共有やログへ残さず、安全な端末と正規の上位管理面から交換することが重要です。

最後に、wp-config.phpだけでなく、ファイル、データベース、Cron、管理者、同一サーバー内の別サイトまで調査し、
再び書き換える入口を閉じてから、主要機能と監視を確認しましょう。

「表示が戻った」ではなく、「漏れた情報を失効し、再書き込み元を閉じた」を完了基準にしてください。

WordPressのwp-config.php改ざんを自分で復旧できない時は

WordPress修復マルウェア駆除トラブル専門「クイックレスキュー」

wp-config.phpの不審コード、DB情報や認証キーの漏えい、繰り返す改ざんでお困りなら、
クイックレスキューが証拠保全、感染調査、復旧、認証情報の見直し、再発防止まで対応します。

こんなお悩みはありませんか?
  • wp-config.phpに見覚えのないコードがある
  • 認証キーやDB情報が漏れた範囲を判断できない
  • ファイルを直しても改ざんが繰り返される
  • 同じサーバー内の別サイトも調べてほしい
  • 証拠を残したまま安全に復旧したい

秘密情報を一般のチャットへ貼らず、現在の状態を変えすぎる前にご相談ください。

3つの安心保証
  • 万一復旧できない場合やマルウェア駆除できない場合は全額返金保証で安心
  • 90日間再感染保証・動作保証で安心
  • 初期費用・調査費用0円で安心

この記事を書いた専門家

こんにちは!20年以上ITエンジニアとして活動してきた
よこやま良平です。

Wordpress復旧やサイト修復、オンライン講座では
776件以上のレビューを頂いており

「すぐに復旧してくれる!」
「当日行ってくれて助かった!」など

評価は4.9/5.0と非常に高く好評です。

またWordPress、SEO、Officeなど30冊以上の書籍を出版しており、
売上ランキング1位を連続で獲得致しました。

その他これまでに3000以上のサービス・システム・サイトを作成。

多くの方の「できない」や「悩み」を解決してきました。
その観点からわかりやすく解説しています。

目次