2014年06月28日(Sat)
wp-config.phpのセキュリティ対策
wp-config.phpは、WordPressの環境設定を行なう重要なファイルなので、何らかのセキュリティ対策を環境に合わせて行った方が良さそうです。 色々調べたのですが、「wp-config.php」のセキュリティ対策には大きく分けて以下の2通りありました。
- 「wp-config.php」を1つ上の階層の非公開ディレクトリへ移動させる方法
- 「wp-config.php」をパーミッションや「.htaccess」で保護する方法
「wp-config.php」を1つ上の階層の非公開ディレクトリへ移動させる方法
この方法は、1つ上の階層が非公開ディレクトリの場合に「wp-config.php」ファイルを1つ上の階層に移動させるだけといった簡単な方法です。 しかし、以下の様な幾つかの状況下では、この対策が出来ない場合もあり、一部のプラグインでは動作しない場合もあるようなので注意が必要との事です。
- WordPressのバージョンが「2.6」より古い場合
上の階層に「wp-config.php」を移動できるのは「WordPress 2.6」以降からだそうです。
速やかにバージョンアップを行いましょう。 - ドキュメントルートにWordPressをインストールされていない場合
基本的(WordPress 2.6以降)に1つ上の階層にしか対応していないようなので、WordPressをサブディレクトリなどにインストールして使っている場合などは、1つ上に移動させたとしても非公開ディレクトリでなければそれほど効果は見込めないような気がします。 - 同一サーバーで複数のサイトをWordPressで管理していてる場合
ドキュメントルートの1つ上の階層が非公開ディレクトリであっても、複数管理している場合は「wp-config.php」が被ってしまうので無理のようです。 しかし、基本的にはWordPressをインストールしたディレクトリ内の「wp-config.php」を探し、無ければ上の1つ上の階層をチェックする仕様のようなので1サイトのみなら大丈夫なのかもしれません。(未検証)
2と3に関しては、各ファイルを色々書き変えれば出来るようですがお勧め出来ませんとの事でした。
「wp-config.php」をパーミッションや「.htaccess」で保護する方法
パーミッションの設定による保護
「wp-config.php」ファイルのパーミッションに設定する権限は、色々な意見があり知識もないので悩みました…
一番良いのは、不具合など何もなければ「400」らしいですが、基本的には「404」の方が問題が少ないようです。
色々参照した結果、「400 > 404 > 444」といった感じでしょうか…
サーバーの環境やプラグインなどの影響を考えて設定するとの事ですが、初心者の自分には難しいです…
ちなみに、「.htaccess」のパーミッションは、「604」が良いらしいので確認して見て下さい。
「.htaccess」の設定による保護
「.htaccess」に以下を記述する事により「wp-config.php」への全てのアクセスを拒否できます。
.htaccess
<files wp-config.php> order allow,deny deny from all </files>
ついでに、ディレクトリ参照を防止するコードも上記と併せて付け加えといた方が良さそうです。
.htaccess
Options -Indexes
【参考Webサイト】
- WordPress の wp-config.php をドキュメントルートから退避
- 安全性の高いパーミッションにする
- wp-config.phpのパーミッションを変更。
- wp-config.php の置き場所
- WordPressのwp-config.phpを1つ上階層の非公開ディレクトリへ退避+現実的なセキュリティ対策
- WordPressのセキュリティを徹底強化
- .htaccessをWordPressで徹底活用
- WordPressをセキュアに保つための10の方法
コメント(0件)
wp-config.phpのセキュリティ対策に対するご意見、ご感想、情報提供など皆様からのコメントをお待ちしております。 お気軽にコメントしてください。
コメントフォーム