よくわからないけど設定した方がいいの?
誰か必要性について教えて!
パーミッションとは何か【セキュリティ対策に必須】
まずは「パーミッション」について説明をしますね。
パーミッション設定とは、サーバー上のファイルやディレクトリの書き込みを行う時の “権限” を設定することです。例えばWordPressのファイルに「wp-config.php」があるのですが、このファイルを悪意のあるユーザーが勝手に編集したらめちゃくちゃ困ります。
適切にパーミッション設定を行うことで、このようなトラブルを防ぐことができます。
パーミッションは3桁の数字で表されていまして、下図のイメージのようにユーザーごとの権限が決められています。
左から、「ユーザー(所有者)の権限」「グループの権限」「その他ユーザーの権限」ですね。
この数字にも意味があって、下の表に当てはまる数字に変換してそれぞれを足すことで、どのような権限が設定されているかを調べることができます。
権限の内容 | 数字 | 説明 |
読み取り | 4 | 内容を読み取り表示することが可能 |
書き込み | 2 | 編集、上書きコピーなどの書き込みが可能 |
実行 | 1 | プログラムの実行が可能 |
また、パーミッションは上記の数字ではなく、「英字」で表すことも可能です。
権限の内容 | 数字 | 説明 |
読み取り | r | 内容を読み取り表示することが可能 |
書き込み | w | 編集、上書きコピーなどの書き込みが可能 |
実行 | x | プログラムの実行が可能 |
では先程のパーミッション例である「764」について、上にある表を元に、各ユーザーがどのような権限を持っているか考えてみましょう!
ちなみに、英字では「764」と同じ権限を「rwx rw- r-」と記述します。
このパーミッション設定では、下記の通りの権限となっています。
- ユーザー(所有者):「読み取り」「書き込み」「実行」が可能
- グループ:「読み取り」「書き込み」が可能
- その他ユーザー:「読み取り」のみ可能
適切なパーミッション設定について解説!
WordPressのファイルに「wp-config.php」がある、と述べましたが、まだWordPressには、重要なファイルやディレクトリが存在します。
それぞれ適切なパーミッション設定がありますので、この機会に覚えておきましょう。
ファイル/ディレクトリ | 推奨パーミッション |
wp-config.php | 600または400 |
.htaccess | 606または604 |
その他のディレクトリ | 705 |
その他ファイル | 604 |
パーミッション設定をするべき理由
ここまでの内容で、パーミッションについての理解はある程度吸収できたかと思いますが、実際にパーミッション設定をする理由について詳しく解説していこうと思います。
設定するメリットなどが明確になっていないと、行動する気になれないですからね…。
パーミッション設定をするべき理由としては、以下の2つです。
- サイトセキュリティの向上
- 動作不良の防止
サイトセキュリティの向上
適切にパーミッション設定を行うことで、サイトのセキュリティを向上させることができます。
パーミッション設定がされていないサイトというのは、会社で言えば社長が複数人いる状態と同じです。
例えがわかりづらいかもしれないですが、そんな感じ。
つまり、全体の管理者が複数人いることで、管理者が誰でも会社(サイト)の変更や情報の閲覧をすることができるようになるため、成り立たなくなってしまいます。
このような事態を防ぐためにも、適切なパーミッション設定をすることで、サイトセキュリティを向上させる狙いがあります。あなたのサイトを守るためにも、パーミッション設定はきちんと行いましょう!
動作不良の防止
サイトのセキュリティを考え、“ユーザー全体で書き込みをできないようにすればいい”、と考えるかもしれないですが、これにも問題があります。
どのような問題が起きてしまうかというと、WordPressの動作不良に繋がります。
WordPress自体がセキュリティ向上のため、バグなどの対処でマイナーアップデートを繰り返し、自動更新するようになっています。
この際にサイトの「書き込み権限」がないと、途中で止まってしまうという不具合が起きます。WordPressの運営自体にも影響があるため、書き込み権限は、しっかりと管理者に与えて運営をしていきましょう。
パーミッション設定を行う方法
パーミッション設定を行う方法について、詳しく解説していきます。
設定は自分に合った方法でしていきましょう。補足ですが、サーバーなどの知識にあまり詳しくない方は「FTPソフト」で設定していくことをおすすめします。
- FTPソフトで設定する方法
- コマンドで設定する方法
この2通りとなります。
FTPソフトで設定する方法
- FFFTP
- WinSCP
- FileZilla
- CrossFTP
- Cyberduck
FTPソフトもいくつか種類がありますが、「Windows」と「Mac」で使用できるのもが分かれています。また、各FTPソフトによって設定の仕方が違うため、ご自身が使用するもののマニュアルなどで確認をしてみましょう。
コマンドで設定する方法
次にコマンドを使ってパーミッション設定を行う方法についてです。
Linuxに「chmod」コマンドがあり、ファイルのパーミッションを設定するときに使用するコマンドのことです。このコマンドを使って設定をしていきましょう。
これは、少し長くなるため別記事にて解説をしようと思います。
セキュリティ対策にはパーミッション設定が必須
「パーミッション設定」については理解できましたか?
あなたのサイトを守っていくためにも、適切にパーミッション設定を行う必要がります。
とはいえ普段WordPressでサイト運営をしていて、気にしたこともないのではないでしょうか。
確かに普通にブログなど書く際には、特に意識する必要はありません。
「パーミッション設定」というものがあるんだな、くらいの感覚で、理解しておいていただけたら嬉しいです。しかし、適切に設定しないとセキュリティ面で問題がある、ということは覚えておいてくださいね!