サーバーに置いていあるWordPressのプログラムが書いてあるファイルですが、WordPressが正しく動いていたとしても、ファイルを設置したときの設定が正しくないとセキュリティ的に危ない場合があるというのをご存知ですか?
ファイルパーミッションってなに?
その設定とは、ファイルのパーミッション(許可)です。ファイルパーミッションは、このファイルに対してだれがどんなことをできるかを設定したものになります。
WinSCPやFileZilaなどのFTPソフトで確認、変更をすることができます。契約しているレンタルサーバーによっては、ファイルマネージャーなどの機能から変更することもできます。
WinSCPでファイルを表示したときの画像です。左側にパーミッションと書いてあって、それぞれ9文字で表示してあるのが現在設定されているパーミッションです。左から3文字ずつユーザー・グループ・その他のユーザーのアクセス権を表示しています。
・r(4)-読み取り
・w(2)-書き込み
・x(1)-実行
文字の横にかっこで書いたのが、パーミッションを数字で表した場合に使われる数字です。
画像はWinSCPでファイルのプロパティを開いた画面です。
8進数のところに「0604」とあります。
これは、このファイルへの操作として以下の操作が許可されているという意味です。
ユーザー : 6 = 4+2 = 読み取り+ 書き込み
グループ : 0 = 権限無し
その他のユーザー : 4 = 読み取り
WordPressの正しいパーミッションは?
それぞれのファイルの正しいパーミッションはそれぞれ以下のようになります。
WordPressを運用しているサーバーの環境などによって設定できない場合もあるので、その場合は元のパーミッションに戻せばいだ丈夫です。
.htaccess
「604」か「606」
.htaccessはサーバーの基本的な動作を設定できるファイルです。書き換えられて他のサイトへリダイレクトされるようになってしまったということも考えられます。パーマリンクの設定をできるようにしたいなら「606」、そうじゃないなら「604」に設定しておきましょう。
wp-config.php
「400」か「600」
データベースの接続情報など、サイトの重要な情報も書いてあるファイルなのできつめの権限設定にしておきましょう。おすすめはファイルのオーナーのみが読み込める「400」です。ただ、使っているサーバーによっては「400」が使えない場合もありますので、その場合は「600」がおすすめです。
WordPressのインストール方法によっては、ファイルの所有者が「Apache」とサーバーになっていて、ユーザーがパーミッションの設定を行えない場合もあります。その時は、一度FTPソフトを使ってファイルをダウンロードして、サーバー上のファイルを削除した後、再度アップロードしなおすとパーミッションの設定ができるようになります。
その他のディレクトリ
「705」
ただし、テーマやプラグイン、画像のアップロードができない場合は「707」に変更してください。
その他のファイル
「604」
WordPressの公式でもファイルパーミッションについての説明ページ「ファイルパーミッションの変更」がありますので、さらに詳しく知りたいという方はこちらも読んでみてください。
また、パーミッションの設定を行った後は、管理画面へのログイン、記事の投稿や画像のアップロードなどの動作が正常かどうか確認をしっかりするようにしましょう。
Webブラウザだけでも十分にサイトの運用ができてしまうため、サーバー上のファイルのことをあまり気にする機会はありません。しかし、パーミッションの設定がおかしいと、セキュリティ的に致命傷になってしまうこともあります。この機会にしっかり設定がされているか確認してみてはいかがでしょうか。