fail2ban 使 nc 失败

fail2ban 使 nc 失败

我这里有个问题fail2ban。(配置见下文)

在我拥有它之前我曾经

nc -4 -d -n -z -w 1 <SERVER IP> 22

从我的电脑中使用脚本检查服务器是否可以通过 SSH 访问(应该返回1)。

激活 fail2ban 后,它会返回,0尽管我可以按ssh <USER>@<SERVER IP>预期进行连接 - 我使用密钥对进行身份验证。

我有一个基于本教程看起来像这样:

-P INPUT DROP
-P FORWARD DROP
-P OUTPUT ACCEPT
-N ICMP
-N TCP
-N UDP
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP
-A INPUT -p icmp -m conntrack --ctstate NEW -j ICMP
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -j REJECT --reject-with icmp-proto-unreachable
-A ICMP -p icmp -j ACCEPT
-A TCP -p tcp -m tcp --dport 22 -j ACCEPT
-A TCP -p tcp -m tcp --dport 80 -j ACCEPT
-A TCP -p tcp -m tcp --dport 433 -j ACCEPT
-A TCP -p tcp -m tcp --dport 10000 -j ACCEPT

安装fail2ban并激活以下配置后,我的 iptables 如下所示

-P INPUT DROP
-P FORWARD DROP
-P OUTPUT ACCEPT
-N ICMP
-N TCP
-N UDP
-N f2b-recidive
-N f2b-sshd
-N f2b-sshd-ddos
-N f2b-webmin-auth
-A INPUT -p tcp -j f2b-recidive
-A INPUT -p tcp -m multiport --dports 10000 -j f2b-webmin-auth
-A INPUT -p tcp -m multiport --dports 22 -j f2b-sshd-ddos
-A INPUT -p tcp -m multiport --dports 22 -j f2b-sshd
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP
-A INPUT -p icmp -m conntrack --ctstate NEW -j ICMP
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -j REJECT --reject-with icmp-proto-unreachable
-A ICMP -p icmp -j ACCEPT
-A TCP -p tcp -m tcp --dport 22 -j ACCEPT
-A TCP -p tcp -m tcp --dport 80 -j ACCEPT
-A TCP -p tcp -m tcp --dport 433 -j ACCEPT
-A TCP -p tcp -m tcp --dport 10000 -j ACCEPT
-A f2b-recidive -j RETURN
-A f2b-sshd -j RETURN
-A f2b-sshd-ddos -j RETURN
-A f2b-webmin-auth -j RETURN

这里有什么问题?

我的第一个猜测是 iptables 中的一些错误链链接,但由于我可以正常连接,所以我在这里很无助。


我安装fail2ban

sudo apt install fail2ban

并且基本上是默认设置。仅添加了这两个文件:
/etc/fail2ban/jail.d/defaults.local

[DEFAULT]

ignoreip = 127.0.0.1/8 <MY PC'S IP>/32
bantime  = 3600
findtime  = 600
maxretry = 3

#
# ACTIONS
#

destemail = <MY MAIL ADDRESS>
sender = <SENDER ADDRESS>
mta = sendmail
action = %(action_mwl)s

我已经MY PC'S IP在这里添加了,因为它nc第一次使用该命令就被阻止了。

/etc/fail2ban/jail.d/jail.local

[sshd]
enabled = true

[sshd-ddos]
enabled = true

[webmin-auth]
enabled = true

[recidive]
enabled = true
logpath  = /var/log/fail2ban.log
banaction = iptables-allports
bantime  = 604800  ; 1 week
findtime = 86400   ; 1 day
maxretry = 5

答案1

我刚刚解决了我的问题:我想错了/只是感到困惑。

nc成功时返回0,失败时不返回!我的脚本现在运行正常,我找到了线索这里=> 在 bash 中0表示真,1表示假。

相关内容