如何在 Apache 2 中禁用反向 DNS?

如何在 Apache 2 中禁用反向 DNS?

我想在 Apache 2 中禁用反向 DNS。我已完成以下步骤:

apache2/apache2.conf文件中HostnameLookups设置为OFF

Tcpdump 会话确认,尽管 HostnameLookups 指令已明确关闭,Apache 仍在进行双重反向查找。

站点内无可用主机名。问题仍然存在。

UPD:Apache 版本是

dpkg -l | grep apache2

ii apache2-mpm-prefork 2.2.16-6+squeeze4 Apache HTTP Server - traditional non-threaded model

ii apache2-utils 2.2.16-6+squeeze4 utility programs for webservers

ii apache2.2-bin 2.2.16-6+squeeze4 Apache HTTP Server common binary files

ii apache2.2-common 2.2.16-6+squeeze4 Apache HTTP Server common files

apache2 -l

Compiled in modules:

core.c

mod_log_config.c

mod_logio.c

prefork.c

http_core.c

mod_so.c

我认为 mod_security 不存在。

答案1

Apache 不执行双倍的名称服务器查找(即客户端 IP -> PTR -> A 记录必须与客户端 IP 匹配)。此类功能仅供邮件服务器使用。

无论如何,如果HostNameLookupsOff,并且在任何 vhost 定义或访问规则中没有使用主机名,则某些第三方模块正在执行此操作。

mod_security正如马丁之前所说,是一个可能的候选人。

答案2

我在这里没有足够的声誉来发表评论(这不是一个完整的答案),但是适配器的直觉是正确的。有可能然而,根据文档,罪魁祸首是mod_accessmod_authz_host,无论设置如何,其中一个或两个都会出于安全考虑进行双重查找HostnameLookups

2.0 文档说mod_access,而 2.2 文档说mod_authz_host,我不太清楚两者的区别。在主 Apache 配置的模块部分中选择性地禁用其中一个、另一个或两者,然后查看会得到什么结果。

来自核心文档

无论设置如何,当 mod_authz_hostmod_access如果你正在阅读 2.0 文档,请点击此处) 用于通过主机名控制访问,将执行双重反向查找。这对于安全性来说是必要的。

是的,我知道这是一个两年半前提出的问题,而且不是一个好问题。但我通过网络搜索找到了它,所以它仍然有谷歌汁。

相关内容