良いセキュリティ方法は、仮想ホストのすべてを何も許可しないようにリセットし、次のように別のディレクティブを使用して特定のアクセスを許可することです。
<VirtualHost *:80>
DocumentRoot /home/example/public_html
<Directory />
AllowOverride None
Order Deny,Allow
Deny from all
</Directory>
<Directory /home/example/public_html >
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>
</VirtualHost>
これはある程度意味がありますが、わからないので、これを設定する最良の方法についてのコメントを聞きたいです。
答え1
ここに書かれている指示を使用すると、<Directory />
その仮想ホストを変更せずに、そのディレクトリに対して同じオーバーライドを繰り返し宣言します/
。
したがって、これらのオプションは何もしない場合、または最良の場合は<Directory />
最後の部分のみを適用します。
https://httpd.apache.org/docs/current/sections.html#merging
この部分が仮想ホストごとに同じように見えると問題にはなりませんが、一部の仮想ホストが異なり、時間が経つにつれて仮想ホストの数が変わる場合には、どのディレクティブが適用されたかを判断するのが<Directory />
難しい場合があります。
すべての仮想ホストからそのセクションを削除し、<Directory />
グローバル構成で一度宣言します。