Ubuntu 18.04 阻止国家访问我的服务器(ssh 和 nginx)

Ubuntu 18.04 阻止国家访问我的服务器(ssh 和 nginx)

有没有什么办法可以通过国家代码(例如 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

相关内容