wp-config.php とは? なぜセキュリティ対策が重要なのか
wp-config.php ファイルは、WordPress サイトにとって重要な情報が含まれているファイルです。
ここには、データベース情報やセキュリティに関わる秘密鍵が記載されており、悪意のある第三者にアクセスされると、サイトの乗っ取りや情報流出のリスクが高まります。
初心者の方でもできるセキュリティ対策として、以下の3つの方法を使い、 wp-config.php ファイルを保護することが推奨されます。
事前準備!対策を始める前に必ず行うバックアップ手順と注意点
対策を実施する前に、サイト全体のバックアップを取得しておくことが重要です。
特に初心者の場合、誤って設定を変えてサイトが動作しなくなる可能性もあるため、バックアップは必須です。
バックアップ方法
・FTPを使って手動でバックアップ
サーバーから全てのファイルをローカルにダウンロードします。(例:FaileZillaなど)

・バックアッププラグインの活用
WordPressプラグインで簡単にバックアップできます(例:UpdraftPlusなど)

バックアップを取得後、すぐに復元できるかも確認しておくと安心です。
なぜバックアップが必要なのか?
誤ってファイルが破損したり、手違いで機能に問題が発生した場合に備えるためです。
wp-config.php を守る「3つの対策方法」
方法1: wp-config.phpを1階層上に移動する
wp-config.php ファイルを、現在の場所から1階層上に移動することで、外部からアクセスされるリスクを低減できます。
wp-config.php が通常配置される public_html フォルダの外に移動することを指します。
例えば、public_html の上の階層に配置することで、直接アクセスを避けられるようになります。
これは最も推奨される方法ですが、サブドメインが複数ある場合など、実施が難しいケースもあります。
可能な場合は最優先で行うと良いでしょう。
手順:
FTPソフトを使ってファイルを1階層上にドラッグ&ドロップして移動します。
移動後、サイトが正常に動作するか確認してください。

注意:複数のサブドメインを使っている場合、1階層上に移動すると他のサブドメインとの干渉が発生するため、この方法は避けた方がよい場合もあります。
方法2:.htaccessによるアクセス制限
.htaccess ファイルを使って、wp-config.php へのアクセスを制限する方法です。
この方法は比較的簡単で、サーバーの設定を変更せずに対策を施せるため、多くの WordPress サイトで利用されています。
ファイルの直接アクセスを防ぐ簡単な方法であり、他の対策と併用しても問題ありません。
wp-config.php の移動が難しい場合にはこの対策が効果的です。
実施手順(サーバー:XServer)
各サブドメインのフォルダ内に .htaccess ファイルを作成(または既存のファイルを編集)します。
注意点:.htaccess ファイルを編集する際は、必ずバックアップを取ってから作業することをおすすめします。

以下のコードをファイルに.htaccess ファイルの先頭部分追加します。
# wp-config.php へのアクセス制限
<Files wp-config.php>
order allow,deny
deny from all
</Files>
ブラウザでの確認: ブラウザのアドレスバーに https://ドメイン/wp-config.php を入力して、404エラーや「403 Forbidden」などのエラーページが表示されることを確認します。

.htaccess ファイルの編集後は、サーバーのキャッシュをクリアしたり、ブラウザのキャッシュをクリアしてから確認すると、正しく反映されることがあります。
方法3:WAF(ウェブアプリケーションファイアウォール)の設定
WAF(ウェブアプリケーションファイアウォール)は、外部からの攻撃や不正アクセスを防ぐサーバー機能です。WordPress 専用の設定ではありませんが、wp-config.php への不正アクセスを防ぐのにも役立ちます。
これはサーバー全体のセキュリティを強化するもので、wp-config.php 以外にも有効です。
サーバーにWAF機能があれば、他の対策と合わせて設定するとより安心です。
WAF項目の説明と推奨設定(XServer)
サーバーの管理画面にアクセスし、アカウント情報を使ってログインします。
サーバーパネル > セキュリティ > 「WAF設定」のメニューをクリックします。

初期の状態ではOFFになっています

必要に応じて、各項目を「状態ON」に変更することで、WAFを有効化することができます。
XSS対策 | 説明: クロスサイトスクリプティング(XSS)攻撃からサイトを保護します。 推奨設定: ONにすることを強く推奨します。 |
SQL対策 | 説明: SQLインジェクション攻撃からデータベースを保護します。 推奨設定: ONにすることを強く推奨します。 |
ファイル対策 | 説明: 不正なファイルアップロードやファイル実行を防ぎます。 推奨設定: ONにすることを強く推奨します。 |
メール対策 | 説明: 不正なメール送信を防止します。 推奨設定: サイトにメール機能がない場合はOFFにできますが、通常はONを推奨します。 |
コマンド対策 | 説明: シェルコマンドの実行を防ぎます。 推奨設定: ONにすることを強く推奨します。 |
PHP対策: | 説明: PHPに関する脆弱性を防ぎます。 推奨設定: ONにすることを強く推奨します。 |
設定をOFF→ONに変更

変更後、反映されるまでには一定時間かかります。

全体的に、XSS、SQL、ファイル、コマンド、PHP対策はONにすることが推奨されます。
メール対策は必要に応じて設定してください。サイトの安全性を高めるためにも、基本的にはこれらの対策を有効にしておくことが重要です。
もし設定後に何か問題が発生した場合は、すぐに設定を見直すことができます。
必要に応じて、特定の項目を一時的にOFFにして動作確認を行ってください。
3つの対策をすべて行う必要があるのか?
基本的には、3つの対策すべてを行うことが推奨されますが、最低でもいずれか1つを設定すれば、基本的な保護が得られます。
以下に、それぞれの対策の組み合わせやおすすめポイントを示します。
- wp-config.phpを1階層上に移動する方法:できる場合は最も効果的。
- .htaccessのアクセス制限:移動が難しい場合に簡単に設定できる方法として有効。
- WAFの設定:.htaccess と併用してサーバー全体のセキュリティを強化したい場合におすすめ。
「すべてを設定すればより安全」であるものの、どれか一つを実施するだけでも十分に対策できます。
状況に応じて選択しやすいものから設定するようにし、「wp-config.php の1階層上への移動が難しい場合は .htaccess や WAF を活用する」というように、柔軟に対応するとよいでしょう。
まとめ
wp-config.php のセキュリティ対策は、サイトの安全性を高めるために重要です。
特に、サーバーへの攻撃や不正アクセスを防ぐためには、いずれかの方法を必ず設定しておくことが推奨されます。
最低限どれか1つの方法を設定
3つすべてを実施するとさらに効果的ですが、少なくとも1つを設定するだけでも基本的な保護になります。
定期的なバックアップ
セキュリティ対策を行った後も、サイトのバックアップを定期的に取得しておきましょう。