我已经xt_geoip
配置为阻止来自各个国家的连接,但看起来仍然允许来自这些国家的连接。
来自我的/etc/iptables/rules.v4
(减少了一点):
# Generated by iptables-save v1.6.0 on Wed Nov 2 13:24:59 2022
*mangle
:PREROUTING ACCEPT [369071910:1067035760562]
:INPUT ACCEPT [16801255:12655837207]
:FORWARD ACCEPT [352276285:1054380415082]
:OUTPUT ACCEPT [14886281:3407372471]
:POSTROUTING ACCEPT [367165573:1057787945042]
COMMIT
# Completed on Wed Nov 2 13:24:59 2022
# Generated by iptables-save v1.6.0 on Wed Nov 2 13:24:59 2022
*filter
:INPUT ACCEPT [1135:232353]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [1081:206118]
:DOCKER - [0:0]
:DOCKER-ISOLATION-STAGE-1 - [0:0]
:DOCKER-ISOLATION-STAGE-2 - [0:0]
:DOCKER-USER - [0:0]
:f2b-gitlab-ssh - [0:0]
:f2b-sshd - [0:0]
-N LOG_DROP
-A LOG_DROP -j LOG --log-prefix "INPUT:DROP: " --log-level 6
-A LOG_DROP -j DROP
-A INPUT -m geoip --source-country AS,AF,BR,CN,HK,IN,KP,KR,MX,PK,RU,SA,TW,VN -j LOG_DROP
-A INPUT -m geoip --destination-country AS,AF,BR,CN,HK,IN,KP,KR,MX,PK,RU,SA,TW,VN -j LOG_DROP
-A INPUT -p tcp -j f2b-gitlab-ssh
-A INPUT -p tcp -j f2b-sshd
-A FORWARD -m geoip --source-country AS,AF,BR,CN,HK,IN,KP,KR,MX,PK,RU,SA,TW,VN -j LOG_DROP
-A FORWARD -m geoip --destination-country AS,AF,BR,CN,HK,IN,KP,KR,MX,PK,RU,SA,TW,VN -j LOG_DROP
-A FORWARD -p tcp -j f2b-gitlab-ssh
-A FORWARD -p tcp -j f2b-sshd
-A OUTPUT -m geoip --source-country AS,AF,BR,CN,HK,IN,KP,KR,MX,PK,RU,SA,TW,VN -j LOG_DROP
-A OUTPUT -m geoip --destination-country AS,AF,BR,CN,HK,IN,KP,KR,MX,PK,RU,SA,TW,VN -j LOG_DROP
COMMIT
(我最近添加了OUTPUT
过滤器,认为还有其他事情发生,但它什么也没有改变。同样,我认为我不需要三个 iptables 链中的source-
每destination-country
一个,但是......当它没有按预期工作时,我寻找其他角度。)
在这个系统上,我有一个本地非docker ssh,docker托管了几个服务(包括gitlab及其自己的ssh)。我正在使用fail2ban来监控身份验证问题,在写这个问题的时候,我收到了一条被106.246.x.y
阻止的f2b消息(f2b-sshd
规则)。该IP显然来自韩国:
root@myhost:~# geoiplookup 106.246.x.y
GeoIP Country Edition: KR, Korea, Republic of
我用了https://think.unblog.ch/en/geoip-firewall-configuration-on-debian-and-ubuntu作为设置基于 geoip 的阻止的模板。我GeoLite2.zip
上个月下载了 MaxMind。我认为 iptablesxt_geoip
模块和命令行都geoiplookup
使用相同的数据库,所以我很困惑为什么它会被报告为来自我明确阻止的国家/地区。
动力:这个服务器每天大约有 0-3 次封禁……今天才过了几个小时,我的防火墙或主机最近没有变化,就已经达到 78 次了。看来,如果iptables
/geoip 配置错误,那么我之前很幸运,现在乐趣正在增加。
答案1
回答晚了。我认为每个规则最多只适用于 10 个国家。