Apache vHost - 优化且安全

Apache vHost - 优化且安全

我看了看典型主题ServerFault 已经存在,遗憾的是,我所寻找的“Apache vHost”在未解答问题列表中。我发现这有点令人惊讶,因为有很多人问这个问题。

无论如何,我的问题不是“如何”,而是在虚拟主机配置文件中使用“最佳实践”是什么?我有以下虚拟主机:

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /home/webmaster/examplesite.com/htdocs
    ErrorLog /home/webmaster/examplesite.com/logfiles/error.log
    CustomLog /home/webmaster/examplesite.com/logfiles/access.log combined
</VirtualHost>

它确实能完成工作,并让一切正常运转,但我想知道是否可以改进它。特别是,我想确保解决以下问题:

  • 我的网站有多安全?
  • 我想要一个“上传”文件夹,用户可以在其中发布图片。我需要在 vHost 文件中添加一些内容吗?
  • 上述设置是否优化了我的网站,或者我是否可以进一步优化它?
  • 我可能还遗漏了什么吗?

答案1

我的网站有多安全?

将日志文件存储在可能被公开访问的地方不是一个好主意。在生产环境中,错误消息打印应该关闭,这样攻击者就看不见了(他们无法利用错误消息对付你[1])。通过访问错误日志,他们有更大的机会进行反复试验。

我想要一个“上传”文件夹,用户可以在其中发布图片。我需要在 vHost 文件中添加一些内容吗?

您想要上传外部文档根目录,以减少用户上传脚本(例如 PHP)然后浏览并运行它的机会。当然,这不是您应该拥有的唯一保护措施,但它肯定是组件之一。

上述设置是否优化了我的网站,或者我是否可以进一步优化它?

您实际上无法使用 vhost 对您的网站进行如此多的优化 - 这是 Apache 级别的配置(超出了本问题的范围)。

我可能还遗漏了什么吗?

说实话,很难说。每个人的要求都不一样。例如,如果您的网站是example.com- 您是否希望www.example.com它也能正常工作?如果是这样,那么您就缺少了ServerAlias

[1] 想象一下,他们可以生成“无效 SQL”错误。他们知道他们发现了一个未清理的输入,并很快找到了侵入您网站的方法。最糟糕的是:这些类型的攻击可以自动化。

相关内容