在生产中的 /var/www/ 目录中全部设置 AllowOverride 是否安全?
Is it safe to set AllowOverride all on /var/www/ directory in production?
默认Apache配置文件(/etc/apache2/apache2.conf
)如下:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
我们可以将 AllowOverride
设置为 All
,以允许覆盖每个目录的 Apache 配置。我想知道这是否会导致安全问题。
除了允许在 public 文档根目录中修改配置会带来明显的安全问题外,还会对性能产生影响。 AllowOverride 发生的事情是 Apache 将从请求的文件开始对每个父目录执行 open() 调用。
安全问题?好吧,如果黑客获得了 DOC ROOT,那你就完蛋了。
但是关闭 AllowOverride 的请求的执行时间是打开 AllowOverride 的请求的 60%。相反,在 .htaccess 中进行这些更改并将它们放入您的 httpd 配置文件中通常会更好。
然而,.htaccess 为您提供了最大的灵活性,让您可以控制您的网站行为,身份验证需要无需在 Apache 配置中进行这些更改并每次重新启动它。特别是在共享主机环境中,网站所有者甚至无法访问 Apache 配置。
默认Apache配置文件(/etc/apache2/apache2.conf
)如下:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
我们可以将 AllowOverride
设置为 All
,以允许覆盖每个目录的 Apache 配置。我想知道这是否会导致安全问题。
除了允许在 public 文档根目录中修改配置会带来明显的安全问题外,还会对性能产生影响。 AllowOverride 发生的事情是 Apache 将从请求的文件开始对每个父目录执行 open() 调用。
安全问题?好吧,如果黑客获得了 DOC ROOT,那你就完蛋了。
但是关闭 AllowOverride 的请求的执行时间是打开 AllowOverride 的请求的 60%。相反,在 .htaccess 中进行这些更改并将它们放入您的 httpd 配置文件中通常会更好。
然而,.htaccess 为您提供了最大的灵活性,让您可以控制您的网站行为,身份验证需要无需在 Apache 配置中进行这些更改并每次重新启动它。特别是在共享主机环境中,网站所有者甚至无法访问 Apache 配置。