有没有什么办法可以通过国家代码(例如 RU 和 CN)阻止整个国家?
目前,我针对每个试图进行可疑操作(在 SSH 上登录、在我的 nginx 上搜索 .php 脚本)的 IP 启用了 UFW 防火墙规则。
有没有什么办法可以阻止整个国家访问我的 SSH / Nginx?
这是我的 nginx access.log(在/var/log/nginx/access.log
)
我正在尝试寻找一个根据国家代码而不是 IP 进行阻止的解决方案。
答案1
如果您已经安装,则可以执行此操作modsecurity-crs
。
总体而言,您可以通过激活“阻止国家/地区”功能在 modsecurity 中设置国家/地区阻止。您将需要 GeoIP 数据库。
一旦该功能正常运行,您还可以通过添加 modsecurity 规则来禁止来自这些国家的 IP 地址fail2ban
(如果您已安装)。
如果觉得这种方法对您有用,请在评论中告诉我,我可以详细说明。
答案2
您可以使用 iptables 按 IP 地址阻止访问者。
对于特定国家/地区的 IP 地址列表,您可以从以下位置免费下载https://www.ip2location.com/free/visitor-blocker