【问题标题】:Is it safe to set AllowOverride all on /var/www/ directory in production?在生产中在 /var/www/ 目录上设置 AllowOverride all 是否安全?
【发布时间】:2021-04-04 05:19:56
【问题描述】:
默认Apache配置文件(/etc/apache2/apache2.conf)如下:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
我们可以将AllowOverride 设置为All,以允许覆盖每个目录的Apache 配置。我想知道这是否会导致安全问题。
【问题讨论】:
标签:
linux
apache
webserver
【解决方案1】:
除了允许在公共文档根目录中修改配置这一明显的安全问题外,还会对性能产生影响。 AllowOverride 发生的情况是 Apache 将从请求的文件开始对每个父目录执行 open() 调用。
安全问题?好吧,如果黑客掌握了 DOC ROOT,那你就完蛋了。
但是 AllowOverride 被关闭的请求的执行时间是 AllowOverride 被打开的请求的 60%。相反,最好将这些更改放在 .htaccess 中并将它们放在您的 httpd 配置文件中。
然而,.htaccess 为您提供了最大的灵活性,让您可以控制您的网站行为、身份验证需求,而无需在 Apache 配置中进行这些更改并每次都重新启动它。尤其是在共享托管环境中,网站所有者甚至无法访问 Apache 配置。