重要なファイルが不正アクセスされたら嫌だな。
なんか簡単にできるセキュリティ対策ってないかな?
今回はファイルパーミッションについて解説したいと思います。「パーミッションの変更ってどうやすの?」「ファイルへのアクセスを制限したい」という悩みにお答えします。
- 簡単にできるセキュリティ対策が知りたい
- レンタルサーバーにアクセスされたらどうしよう
- ホームページが改ざんされないようにしたい
- パーミッションって何?どうやって設定するの?
ホームページやWordPressの大切なファイルは許可された人しかアクセスできないようしたい場合、パーミッショの変更をします。このパーミッションは一度設定したらOKなので簡単にできるセキュリティ対策だと思ってます。
パーミッションとはファイルにアクセスできる権利
パーミッションはファイルやディレクトリへのアクセス権利(許可)で、「見る」「書く」「実行」の3種類あります。
ファイルを「見る」くらいいいじゃないの?と思うかもしれません。IDやパスワードが書かれたファイルもあるため、正しく設定しないと簡単に不正アクセスを許すこととなりとても危険です。
重要なファイルは必ずパーミッションの設定をしよう
「見る」「書く」「実行」のどれをされても困るファイルやフォルダにはパーミッションの設定が必要になります。
例えば、「wp-config.php」ファイルにはWordPressのダッシュボードにログインするユーザー名とパスワードまたWordPressのデータベースphpMyAdminにログインするIDとパスワードが掲載されています。
下記のようなファイルはパーミッションの変更をしましょう。
- CGI
- .htaccess
- wp-config.php
- 他人に見られては困るファイル
推奨パーミッションは各レンタルサーバーで確認しよう
推奨パーミッションはレンタルサーバーによって若干違います。ご契約のレンタルサーバーのマニュアルでご確認ください。
ロリポップ!のパーミッション(https://lolipop.jp/manual/hp/permission/)は
エックスサーバーのパーミッション(https://www.xserver.ne.jp/manual/man_server_permission.php)は、
さくらインターネットのCGIについてのパーミッション(https://help.sakura.ad.jp/206206041/)は「755」か「705」です。
まとめると大体こんなパーミッションになります。設定の参考にしてください。
.htaccess | 「604」「644」 |
wp-config.php | 「400」「404」「600」 |
.htmlや画像ファイル | 「604」「644」 |
ディレクトリ(フォルダ) | 「705」「755」 |
設定に悩むファイル | 「604」「644」 |
パーミッションの変更はFTPソフトで設定する
パーミッションの設定は各種レンタルサーバが提供するFTPソフトで行います。
例えばバリュードメイン系のサーバーの場合はnet2ftpファイルマネージャー、さくらインターネットのレンタルサーバーはファイルマネージャーになります。
パーミッションの対象者と権利
上の画像はバリュードメイン系のサーバーのファイルサーバの画面です。この画像の属性がパーミッションになります。ここを見ると、rwx-の4つの文字が見えます。
属性はディレクトリ(ファイル)の3種類の対象者に「rwx-」を使って3種類の権利を表しています
対象者は・・・
Owner | 所有者 | ファイルやディレクトリの所有者、HPの管理者、本人 |
Group | グループ | ファイルやディレクトリが入っているサーバの人、共有サーバ全体、 |
Other | その他の人 | まったくの他人 |
注意があります!Groupは同じサーバを使っている人になりますので、ハッキリ言って他人です。Owner以外他人になりますので注意くださいね。
権利は文字や数字で表されます。
見る(読み取り) | read | r | 4 |
書く | write | w | 2 |
実行 | execute | x | 1 |
権利なし | ー | – | 0 |
ファイルとディレクトリの権限の違い
「見る」「書く」「実行」だけだと、わかったような分からないような感じですよね。その違いをまとめます。
ファイル | ディレクトリ | |
見る | ファイルの内容を読み取る、表示する | ディレクトリの中のファイルリストを表示する |
書く | ファイルの書き込み、上書き、削除 | ディレクトリ内に新規ファイルが作成できる |
実行 | プログラムの実行 | カレントディレクトリにできる |
「カレントディレクトリにできる」とは絶対パス、相対パスを変えられます。URLを書き換えられるっていうイメージです。
たとえば、ディレクトリで「書く」「実行」が出来る場合は、インデックスファイルを作って、それをホームページのトップ画面にすることができます。そうすると、同じURLなのになぜか違うところに飛ばされるって恐いことが起こります。(そんな感じです、違ってたらごめんなさい。)
詳しくは外部リンクになりますが、「Wordpressセキュリティ対策 パーミッションを変更する」(http://wordpress-custom.jp/security/security-permission-2.html)を読むと理解が深まると思いますよ。
パーミッションの表記の仕方
文字の場合は並べて書き、数字の場合は数字の合計で表します。
文字の場合
上の画像のMaildirディレクトリ(フォルダ)の属性は「rwxrwx—」です。また、_db_dumpディレクトリの属性はrwxr-xr-x」、logディレクトリは「rwx—r-x」です。
見方は、
- アクセス権は、対象者と権利の組み合わせで表します。
- 文字3つごとが対象者の権利を表します
- 対象者は「所有者」「グループ」「他人」を表します
Maildirディレクトリは「rwxrwx—」なので、所有者とグループは「見る」「書く」「実行」ができるけど、他人は何も出来ない。
_db_dumpディレクトリは「rwxr-xr-x」なので、所有者は「見る」「書く」「実行」が出来るけが、グループと他人は「見る」「実行」はできる。
logディレクトリは「rwx—r-x」なので、所有者は「見る」「書く」「実行」が出来るけど、グループは何も出来ないが、他人は「見る」「実行」が出来る。
数字の場合
数字は3つの文字の合計を並べて3桁の数で表します。
- 「r」は「4」、「w」は「2」、「x」は「1」、「-」は「0」
- 「rwx」だったら「4+2+1」と合計して「7」になる
- 所有者、グループ、他人の数字を3つ並べる
- 「rwxrwx—」だったら「770」になる
「777」は誰でも「見る・書く・実行」が出来るので設定しないようにしましょうね
ほぼ自分でファイルの属性を決めなくても、大丈夫ですよ。いじった場合はファイルが開けない、実行できない場合があるので、どこかに変更したメモを残しておくといいですよ。
よくあるパーミッションの設定
さて復習です。
よく設定されるパーミッションは「604」「644」「755」があります。どんな意味でしょうか?
604 | rw—-r– | 自分はファイルの表示ができて加筆修正ができる。サーバーが同じ人は何もできないが、ブログやHPのユーザーはファイルを読むことができる |
644 | rw-r–r– | 自分はファイルの表示と加筆修正ができるが、他の人はファイルを読むことしかできない |
755 | rwxr-xr-x | 自分はファイルを自由に扱うことができるが、他の人はファイルを読み込みプログラムが実行できる |
さくらインターネットの場合の設定手順
コントロールパネルのファイルマネージャーから開きます。
さくらインターネットのファイルマネージャーの画面です。
- ディレクトリまたはファイルを選びます
- 左上の指マークの「操作」を選びます
- 「操作」のメニューの中から「プロパティ」を選びます
最後に
チェックをつけるか、数字で指定します。「全ユーザ」は私でいう「他人」です。
楽に出来ますが、うっかり変更を間違うとファイルが実行できない開けないことがありますので、よく確認して変更しましょう。間違えた場合は、パーミッションの設定変更を元に戻せば大丈夫です。でも、作業はメモをしながら進めると「なにやったっけ?」とならなくて、復旧が楽になります。
パーミッションの設定なら、簡単だし、セキュリティ対策になるね!