Linux Wordpress セキュリティ

wp-config.phpはドキュメントルートの外に配置しよう。wp-configの場所とパーミッションを見直してWordPressのセキュリティの強化をした話。

コトの発端

WordPressをインストールしたデフォルトの状態だと、各種パスワードが記載されたwp-config.phpが公開ディレクトリにあって危ないよね。

調べたところ、WordPressの仕様的に一つ上の階層にwp-config.phpは移動可能だそう。

ただし、WordPressがドキュメントルートの直下にない場合は一つ上のディレクトリに移動したところで公開ディレクトリになって意味ないことになる点については要注意。

wp-config.phpの移動

wp-config.phpファイルの移動についてはワイの場合は下記のコマンドで実施することになった。

mv /var/www/wordpress/wp-config.php /var/www

ワイの場合はwww/wordpress/をドキュメントルートにしてるからwwwは公開ディレクトリではない。このあたりは設定次第で変わるので要確認やね。

そして移動後も記事の操作ができることを確認した。

wp-config.phpファイルのアクセス権限を変更(パーミッションの設定)

移動だけだと心許ないので、wp-config.phpファイルが予期せぬユーザ等により参照や変更されることを防ぐため、ファイルのパーミッションを確認する。

wp-config.phpのあるディレクトリで下記のコマンドを実行

cd /var/www
ls -l

wp-config.phpのファイルパーミッションは下記の通り設定されていた。

-rw-rw-rw- 1 www-data www-data 3299 Sep 24 16:04 wp-config.php

この場合、その他のユーザにアクセス権があり、さらに不必要な書き換え権限が付与されている。下記コマンドを実行。

chmod 440 wp-config.php

アクセス権が適正なものに変更された。

ls -l
-r--r----- 1 www-data www-data 3299 Sep 24 16:04 wp-config.php

まとめ

ドキュメントルートの外に配置したことで外部から任意のタイミングでWEBサーバ経由でwp-config.phpにアクセスされることがなくなった。

また、アクセス権限を適切なものに設定した。

参考

wp-config.php の置き場所

http://memories.zal.jp/WP/wordpress/archives/164

いつもの

記事の正確性については無保証です。

  • この記事を書いた人
あっきー

あっきー

とある企業の研究者。研究分野以外に手を出しすぎて毎日が慌ただしい。 研究者の肩書きが正しいかどうかは万年の謎。 得意ジャンルはデータベースとセキュリティーですが、AIやIoT、アプリ開発など、手広く活動しています。

-Linux, Wordpress, セキュリティ

Translate »