WordPressで推奨されるパーミッション設定について

2017/08/22 技術系 投稿者:

以前、WordPressをインストールしたらまず行うセキュリティ対策 という記事を書きました。
今回は、WordPressを構成するファイル及びディレクトリの推奨するパーミッション設定について解説したいと思います。

パーミッション(アクセス権)とは

まず初めにパーミッションについて簡単に説明します。
パーミッションとはファイルやディレクトリを開いたり編集したりするときの権限設定のことです。
Linuxで作成されるファイルやディレクトリにはパーミッションが設定されます。これでユーザごとにファイルへのアクセスの許可または禁止を設定できます。
アクセス権には、以下の3種類があります。

【 ファイルへのアクセス権限 】

アクセス権 英字 数字 説明
読み取り r 4  read ファイルの読み取りが可能 ( 内容表示など )
書き込み w 2  write ファイルへの書き込みが可能 ( 編集や上書きコピーなど )
実行 x 1  execute ファイルの実行が可能 ( プログラムやシェルスクリプトの実行 )

【 ディレクトリへのアクセス権限 】

アクセス権 英字 数字 説明
読み取り r 4  read ディレクトリの読み取りが可能 (ディレクトリに登録されているファイル名の表示)
書き込み w 2  write ディレクトリの書き込みが可能 ( 新規ファイル作成、削除、名前変更など)
実行 x 1  execute ディレクトリに登録されいているファイルへのアクセスが可能

アクセス権は左から3文字ずつ、

    • ユーザー(所有者)のアクセス権
    • グループのアクセス権
    • その他ユーザーのアクセス権

を表しており、「rwx rw- r–」の場合、

  • ユーザー(所有者)に対しては、読み取り可能、書き込み可能、実行可能
  • グループに対しては、読み取り可能、書き込み可能
  • その他ユーザーに対しては、読み取り可能

という意味になります。

最後に数値で表す場合には、「読み取り=4」、「書き込み=2」、「実行=1」として所有者、グループ、その他ユーザーごとに足した数値で表します。
下記の場合、「764」というのがアクセス権を数値で表したものとなります。
———————————–
所有者 グループ その他ユーザー
———————————–
rwx rw- r–
421 42 4
↓ ↓ ↓
7 6 4
———————————–

例えば、一般ユーザはシステムに関するファイルへの書き込みは出来ないようになっており、誤って上書きやファイルを消してしまったりすることが出来ないようにしています。
このようにパーミッションはセキュリティのために存在していると言っても過言でありません。そして、パーミッション設定は余分な書き込みや実行許可を与えないようにしておくことが基本となります。

WordPressは常に狙われている!

前回の記事でも記載しておりますが、
WordPressはオープンソースであるため、無料で使用でき、プラグインも豊富なので、世界中で最も利用されているCMSの1つです。
ただその反面、オープンソースであるゆえに、脆弱性が発見されやすくハッカーの標的になりやすい、といった特徴もあります。

WordPressで理想的なパーミッションの設定

パーミッション設定がセキュリティに大きな効果があることは前述しましたが、当然WordPress利用時でもそれは同じです。
環境や運用面などで適切な設定は変わってきますが、一般的に推奨されているパーミッションを紹介します。

.htaccess

「604」か「606」

「.htaccess」ファイルが書き換えられてしまう事例が多発していますので、パーミッション設定は必須です。パーマリンクの設定が出来るようにするには「606」にします。

wp-config.php

「400」か「600」

ファイルのオーナーのみが読み込むことが出来る「400」が最も安全な設定になります。
インストーラ(レンタルサーバーなどで用意されているWordPressの自動インストールなど)でwp-config.phpを作成した場合、パーミッションは「646」か「666」になっています。この場合、オーナーは「Apache」になってしまいますので、自分自身では変更できません。
そのため、FTPソフトなどでwp-config.phpをダウンロードして、サーバー上のwp-config.phpを削除して、再アップロードします。これでオーナーが自分になり、パーミッションの設定ができるようになります。

ただし、共有サーバーの場合「400」で設定できないケースも多いようですので、WordPress.org では「600」を推奨しています。

その他のファイル・ディレクトリ

一般的には

その他のディレクトリは「705」
その他のファイルは「604」

とするのが良いようです。ただし、WordPressの管理画面でテーマの編集やファイルのアップロードができない場合は、「themes」や「uploads」を「707」などに変更する必要があります。これはサーバーの仕様によって異なります。
画像がアップロードできないからといってパーミッションを「777」「666」などに設定した場合、「誰でも書き込める」状態になってしまいます。くれぐれもそのよう設定だけはしないよう注意してください。

なお、ファイル、ディレクトリ共にパーミッションの真ん中の設定「グループ」を0としているのは、共用サーバの場合、他人と同じグループに設定されている可能性があるためです。

パーミッション変更後に行うテストについて

サーバーの環境によりパーミッション変更後に不具合が出る可能性がありますので、変更後は最低限下記の動作確認をしておくと安心です。

  • WordPress管理画面へのログイン
  • 記事の投稿及び画像のアップロード
  • プラグインの追加と削除
  • テーマの変更

コマンドでパーミッションを一括変更する方法

サーバーにsshでシェルアクセスができる場合、次のコマンドで指定したパス以下を再帰的にパーミッション変更できます。
※設定変更により、環境によっては不具合が発生する可能性もありますので自己責任でお願いいたします。

ディレクトリ一括変更

ファイル一括変更

いかがでしたでしょうか?
繰り返しになりますが、WordPressはその性質上攻撃の対象をなりやすいということを理解して、セキュリティ対策をしっかりしていただければと思います。

カレンダー

    123
45678910
11121314151617
18192021222324
25262728293031
       
   1234
567891011
12131415161718
19202122232425
26272829   
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
  12345
6789101112
13141516171819
20212223242526
2728     
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
1234567
891011121314
15161718192021
22232425262728
       
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
     12
3456789
10111213141516
17181920212223
24252627282930
31      
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
     12
3456789
10111213141516
17181920212223
242526272829 
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
    123
45678910
11121314151617
18192021222324
25262728   
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
   1234
567891011
12131415161718
19202122232425
262728    
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728     
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
1234567
891011121314
15161718192021
22232425262728
29      
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
      1
2345678
9101112131415
16171819202122
232425262728 
       
   1234
567891011
12131415161718
19202122232425
262728293031 
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
     12
3456789
10111213141516
17181920212223
2425262728  
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
U・Iターン転職しませんか?
群馬データセンター
群馬の法人ITサポートサービス Wide Net[ワイドネット]
Wide Netのクラウドバックアップ
クラウド型ファイル共有サービスRushDrive
ワイドオフィス