Cloudflare 站点背后的 iptables 不阻止 HTTP 和 HTTPS 端口

Cloudflare 站点背后的 iptables 不阻止 HTTP 和 HTTPS 端口

当 Fail2ban 触发 IP 禁止操作时,我想阻止我的 Ubuntu Server 上的所有端口。现在,我使用banaction = iptables-allportsCSF。目前它只阻止了 SSH 端口,即使我iptables-allports在 fail2ban 中使用。

我在 Cloudflare 反向代理后面的站点遇到了这个问题。

这是一台 Ubuntu 18.04 Nginx 服务器。我可以在 nginx 日志文件中查看访问者的 IP 地址。因此我相信此 VPSX-Forwarded-For在 nginx 配置中可以按预期工作。

当我通过 SSH 手动将 IP 地址添加到 CSF 临时禁止列表时,它现在不再阻止 HTTP 和 HTTPS 端口。此服务器支持 IPv4 和 IPv6。

当我搜索被阻止的IP时,它显示以下结果。

root@server:~# csf -g 43.250.242.xxx

Table  Chain            num   pkts bytes target     prot opt in     out     source               destination

filter TOR              174     22  1320 REJECT     all  --  *      *       43.250.242.xxx       0.0.0.0/0            reject-with icmp-port-unreachable
filter TOR              2        0     0 REJECT     all  --  *      *       43.250.242.xxx       0.0.0.0/0            reject-with icmp-port-unreachable
filter TOR              6        0     0 REJECT     all  --  *      *       43.250.242.xxx       0.0.0.0/0            reject-with icmp-port-unreachable


IPSET: Set:cc_lk Match:43.250.242.xxx Setting:CC_ALLOW_PORTS Country:LK


ip6tables:

Table  Chain            num   pkts bytes target     prot opt in     out     source               destination
No matches found for 43.250.242.xxx in ip6tables

答案1

您无法在 iptables 中阻止这些连接,因为这些 IP 地址不连接到您的服务器。相反,它们连接到 CloudFlare,而 CloudFlare 连接到您的服务器。因此,iptables 只能看到 CloudFlare 的 IP 地址。

相反,您需要使用 Web 服务器软件或 CloudFlare 提供的 IP 地址控制。

相关内容