Apacheでディレクトリへのアクセスを制限する設定方法

Directroyディレクティブで各ディレクトリに対するアクセスを制限するようにします。

下記資料を参考にしました。
NSA(National Security Agency)の『Guide to the Secure Configuration of Red Hat Enterprise Linux 5』
 

1)ルートディレクトリに対するアクセスを制限


 
ルートディレクトリは、最も制限して設定すべきディレクトリです。
設定例を示します。

<Directory / >
  Options None
  AllowOverride None
  Order allow,deny
</Directory>

 

2)Webディレクトリ((/var/www/html)に対するアクセスを制限


 
デフォルトは下記のようになっています。

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

  
・Optionsディレクティブで”Indexes”と”FollowSymLinks”が設定されていますが、どちらも推奨できません。
 
“Indexes”
特にインデックスファイルを明示して指定していなくても自動でディレクトリ内の一覧を返してしまいます。
 
“FollowSymLinks”
Webサーバがこのディレクトリ内でシンボリックリンクをたどれるようにします。
 
・Webディレクトリ((/var/www/html)階層は、Webを介して閲覧されないようにすべきです。
 
シンボリックリンクは、”SymLinksIfOwnerMatch”を指定して、シンボリック先のファイルまたはディレクトリが、 シンボリックリンクの所有ユーザIDと同じ場合にのみシンボリックリンクをたどれるようにします。
 

<Directory "/var/www/html">
# ...
  Options SymLinksIfOwnerMatch
# ...
</Directory>

3)その他のクリティカルなディレクトリの設定


 
・上記と同様にディレクトリに対するアクセスを出来るだけ制限して設定します。
 
・Optionsディレクティブは必要な項目のみ指定し、AllowOverrideは本当に必要なときのみ設定します。

関連記事の目次

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です