目次
こんにちは。LinkStoryの廣瀬です。
桜も散り始め、日々暖かくなっており、春を感じる日々ですね。
今回は、普段何気なく使っているWordPress(ワードプレス)の公開時のセキュリティ対策をまとめたいと思います。
もちろん、これをすれば絶対大丈夫ということはありませんが、やらないよりはやった方がいい!と僕は思ってます。
wp-config.phpへの対策
wp-config.php…、これはデータベースへのアクセスを司っているファイルです。もしこの情報が悪意のある人たちに知られてしまうと、自由にデータベースを書き換えられてしまいます。
そこで、やっておくべき対策は以下の通りです。
wp-config.phpへのアクセスを不可にする
外部からのwp-config.phpに対するアクセスを遮断します。
ルートディレクトリの「.htaccess」に以下を記述しましょう。
| 
					 1 2 3 4  | 
						<files wp-config.php>     order allow,deny     deny from all </files>  | 
					
また、パーミッション(アクセス権限)に関しても、「400」(管理者のみ読み取り可)に設定しておきましょう。
以下はSSHでの接続での変更例です。
| 
					 1  | 
						[xxxx@xxxxxxx]# chmod 400 wp-config.php  | 
					
また、別の方法として、以下もあります。
wp-config.php を1つ上の階層(非公開ディレクトリ)へ移動
これはルートディレクトリにWordPress(ワードプレス)をインストールした場合に使えます。
方法は簡単で、wp-config.php を公開ディレクトリから1つ上の階層の非公開ディレクトリへと移動させるだけです。
サーバーの「root」権限がある方は、さらにパーミッションの設定をしておけば完璧ですね。
※「ルートディレクトリ/wp」など、2階層以上ある場合はの方法もありますが、wp-load.phpの編集が必要となり、ワードプレスをバージョンアップした際に、wp-load.phpが回帰する場合もあるので、紹介しません。
wp-login.phpにアクセス制限をかける
もし固定IPアドレスがある企業様は、ログイン画面へのアクセス制限をかけておくといいと思います。
こちらも「.htaccess」に設定をしてください。
| 
					 1 2 3 4 5  | 
						<Files wp-login.php|wp-admin>     Require all denied     Require ip xxx.xxx.xx.xx     Require ip xx.xxx.xxx.xx </Files>  | 
					
また、固定IPアドレスがない場合は、ログインページに「Basic認証」をかけるというのも良いかと思います。
「.htaccess」に以下を記述してください。ちなみにパスワードファイルは「.htpasswd 作成」などで検索をかけると、ジェネレーターサイトがいくつかあります。
「.htpasswd」はルートディレクトリ外など、外部からアクセスできない場所に設置しましょう。
| 
					 1 2 3 4 5 6 7  | 
						<Files wp-login.php>     AuthUserFile /path/to/.htpasswd     AuthGroupFile /dev/null     AuthName "IDとパスワードを入力してください。"     AuthType Basic     require valid-user </Files>  | 
					
uploadsディレクトリで「.php」を実行させない
「/wp-content/uploads/」はWordPress(ワードプレス)にアップされたファイルなどが保存される場所です。ファイルが保存できるということは、書き込み権限が与えられています。このディレクトリでPHPコードが実行されないよう、「/wp-content/uploads/.htaccess」ファイルを作成し、以下の記述を追加しましょう。
| 
					 1 2 3  | 
						<Files *.php>     deny from all </Files>  | 
					
推測されやすいユーザー名・パスワードは使用しない
やはりこれも大切です!推測されやすいユーザー名やパスワードの使用はやめましょう。パスワードも意味のある文字はやめて乱数で決めるといいと思います。
簡単ではありますが、WordPress(ワードプレス)のセキュリティ対策について書かせていただきました。
その他、「wp-include」へのアクセスをブロックするやり方や、「/wp-admin/」にパスワードを追加するなど、様々な対策がありますので、一度調べてみると新しい発見があると思います。ワードプレスコーデックスにも書かれています。
僕自身も改めて大切さを理解できましたし、これだけネット社会になった現代では必要なことだと実感しました。

