Apache 日志中的错误消息‘尝试提供目录’是什么意思?

Apache 日志中的错误消息‘尝试提供目录’是什么意思?

我经常在服务器的 Apache 日志中看到这种情况(来自不同的 IP 并指向不同的路径)。我想知道这是否可能是一次攻击尝试,无论如何,如何处理它?

答案1

“尝试提供目录”消息表示 Apache 收到了为目录提供服务的请求(例如,“http://www.yoursite.com/mydir”),该目录是一个目录。通常,Apache 会查找索引文件(如 DirectoryIndex 指令、每个服务器、虚拟主机或目录所定义)或尝试使用目录内容构建目录列表。

因此,该消息可能意味着尝试访问您网站的一部分,而没有 DirectoryIndex(对于使用 PHP 的服务器,通常是 index.html 或 index.php)或没有加载 mod_dir 模块,并且 mod_autodindex 模块被禁用。

如果您有大量没有索引文件的目录,并且您不想启用目录浏览(自动索引),那么您将收到大量此类消息。即使您设置了 DirectoryIndex 指令,如果定义的索引文件不存在,Apache 也会再次尝试目录名称并导致该日志消息。

我能想到的真正摆脱这些消息的唯一方法是启用自动索引,然后添加 IndexIgnore 指令以忽略所有文件,然后呈现空目录列表:

IndexIgnore *

但是,如果您出于安全考虑而禁用了 Apache 中的目录浏览功能,请注意 mod_autoindex 中未来的任何漏洞可能允许攻击者访问目录列表(我并不认为这是一个漏洞,但只有你可以决定)。

如果通过这种方式访问​​的目录数量很少,那么消除该消息的一种方法是在每个目录中添加一个虚拟索引文件(例如,一个空的 index.html 文件)(并将 DirectoryIndex 设置为 index.html)。

答案2

仅供参考 - 我刚刚收到这个错误,它与未启用有关dir_module,因此它没有接收我的DirectoryIndex指令。

HTH,克里斯

相关内容