我有一个个人博客,每天只有少数合法点击量。它使用我的母语(非英语),所以我对来自国外的流量不感兴趣。我不卖任何东西。我没有广告。没有货币化。阻止此类流量不会给我带来任何损失。
然而,该网站的流量来自世界各地。所有尝试都是为了寻找漏洞。我安装了 fail2ban,它可以阻止来自单个 IP 地址的尝试,但为时已晚。我只是想阻止来自国外的所有流量。
是的,我知道我的国家也存在攻击者,但没关系。这不是关于阻止所有恶意流量的问题。而是关于阻止外国流量的问题。目前,对于每一个合法的攻击,都有大约一千个非法(外国)攻击。
现在我知道有很多基于地理位置的 IP 列表。但我真的不想使用庞大的列表。我为我的国家/地区生成了一个 IP 范围列表(以允许访问),该列表长度接近 150,000 行。
理想情况下,我希望有一个 Apache 模块可以对传入的 IP 地址进行反向查找,以找出请求来自哪个国家。如果请求来自我的国家/地区之外,则该请求将被阻止。
我搜索了互联网,但没能找到类似的东西。这样的事真的存在吗?或者还有其他方法可以做到这一点?
如果做不到,我可能会通过 Perl 脚本路由所有日志,过滤掉所有非本地流量。这至少能给我干净的日志文件……