wp-config.phpとは

wp-config.phpとは、WordPressがデータベースに接続するための情報や、動作の基本設定を書いておく設定ファイルのことです。

WordPress・サーバー公開

読み
だぶりゅーぴーこんふぃぐぴーえいちぴー
鍵が差し込まれた、テンキー付きの小型金庫

wp-config.phpの仕組み

WordPressは、投稿や設定などのデータをデータベースに保存しています。wp-config.php は、そのデータベースに接続するための情報を書いておくファイルで、通常はWordPressをインストールしたフォルダの一番上の階層に置かれています。

主に次のような内容が書かれています。

  • データベースの接続情報:データベース名、ユーザー名、パスワード、接続先(DB_NAME、DB_USER、DB_PASSWORD、DB_HOST)
  • 認証用キーとソルト:ログイン状態を安全に保つための、ランダムな文字列
  • テーブル接頭辞:データベースの表の名前の先頭に付ける文字列($table_prefix)
  • 動作の設定:デバッグ表示の有無(WP_DEBUG)など

たとえるなら、サイトの「金庫の暗証番号」が書かれたメモです。このメモを見られると、データベースの中身を読まれたり、書き換えられたりするおそれがあります。

WordPressサイトでの例

wp-config.php は重要な情報が集まっているため、攻撃者に狙われやすいファイルです。

  • 中身を読み取られる:プラグインの脆弱性を突かれてファイルの中身を読まれ、データベースのパスワードが漏れる
  • 控えのファイルから漏れる:編集時に作った wp-config.php.bak などの控えが残っていると、PHPとして実行されず、中身がそのまま表示されてしまうことがある
  • 不正なコードを書き加えられる:ファイルの先頭や末尾に、別の不正なファイルを読み込む1行が追加され、マルウェアが毎回動くようにされる

wp-config.php はWordPressの表示のたびに読み込まれるため、ここに仕込まれたコードは、サイト全体に影響します。

確認方法

  • 更新日時が、自分で編集した覚えのない日時になっていないか確認する
  • 中身に、見覚えのない include や require、意味の読み取れない長い文字列がないか確認する
  • 同じフォルダに wp-config.php.bak、wp-config.old のような控えのファイルが残っていないか確認する

確認するときは、ファイルを編集する前に必ずバックアップを取ってください。1文字の誤りでもサイトが表示されなくなることがあります。

対策

  • パーミッションを、ほかの利用者が読めない設定にする(WordPressの公式資料では 440 または 400 が目安とされています。サーバーによって推奨値が異なるため、契約先の案内も確認してください)
  • 不要な控えのファイルは削除する
  • 侵入を受けたら、データベースのパスワードを変更し、認証用キーとソルトを新しいものに入れ替える(入れ替えると、ログイン中の全員がログアウトされます)
  • 管理画面からテーマ・プラグインのファイルを編集できないよう、define( 'DISALLOW_FILE_EDIT', true ); を追加する

ファイルの中身に不審な点を見つけたものの判断がつかない場合は、専門業者に相談してください。

無料相談サイトの異変に気づいたら
お気軽にご相談ください

ご相談・お見積りは無料です。

保守・再発防止のご相談はこちら