我很好奇为什么Options Includes Indexes
在 Apache 配置中通常默认启用它。
有人知道为什么会这样吗,因为出于安全原因,这通常不被接受?
答案1
传统?
因为一直都是这样?
因为 Apache 项目不想破坏现有网站?
因为在启动服务器之前你确实应该检查一下配置?
上述所有的。
有关该指令的一些说明
服务器端包含 (Includes
)通常不受欢迎,尤其是现在有更好的方法来生成动态内容。如果你的服务器上没有任何内容使用它们,那么你就不会面临真正的安全风险。最佳做法是关闭它们以防有人设法破坏你的机器并上传一个页面,利用它们来做一些恶意的事情。
Includes
Apache 附带的bare指令在这方面尤其糟糕,因为它允许您(以 Apache 用户身份)作为 SSI 指令的一部分执行程序。如果您必须启用服务器端包含,则应评估是否需要运行程序的能力,如果不需要,则应使用IncludesNOEXEC
它来代替 bareIncludes
指令。
自动索引生成( Indexes
) 存在信息泄露漏洞:如果没有索引文件,服务器会很乐意列出目录中的所有内容(包括..
允许您浏览树的链接)。
由于目录浏览链接的存在,还存在配置不当的服务器让用户浏览出 Web 根目录并阅读敏感内容(例如 )的风险/etc/passwd
。
Indexes
如果你的服务器配置正确(没有敏感信息挂在网络根目录中,无法浏览你的方式),启用它实际上并不会带来太大的安全风险出去这对于文件服务器来说可能是一件好事(您不必手动维护索引),但如果您不需要生成自动索引,那么关闭它可能是一个好主意。
但是,如果您的 Web 服务器配置不当,请不要依赖“通过隐蔽性实现安全”来保护您:某些人仍然可以http://example.com/../../../../../../../../etc/passwd
在配置不当的系统上自行完成操作。