如何使用 Apache2 或 iptables 拒绝没有反向 DNS 的 IP?

Web*_*ide 0 website iptables deny apache-2.2

使用 Apache2 或 iptables,如果访问者的 IP 没有反向 DNS 或根本无法解析,是否有办法拒绝访问者?

我有一个针对具有有效反向 DNS 的特定人群的网站。一些没有反向 DNS 的垃圾邮件发送者和黑客来尝试向我的网站发送垃圾邮件/黑客。

他们被我的垃圾邮件拦截器拒绝/拒绝,但我仍然想阻止他们访问我的网站。

Jan*_*nen 5

由于 DNS 查询速度缓慢,我不会在 Apache 级别执行此操作。

相反,我会在幕后做这件事。例如,将一些自己编写的 shell/perl 脚本放在 Apache 访问日志的尾部,进行 dns 查询,如果它们失败,则只需将 ip 地址添加到(临时)禁止列表中。如果您不愿意为自己编写一些 Perl,您可能可以使用fail2ban来做到这一点。

总之,要小心!即使是一些合法的访问者也可能没有可解析的 dns 名称。