我最近在一个新的 debian 服务器上实现了fail2ban,这自动给我留下了一些默认的 iptables 配置,
root@plutarchy:/etc/apache2# iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-N fail2ban-ssh
-A INPUT -p tcp -m multiport --dports 2222 -j fail2ban-ssh
-A fail2ban-ssh -j RETURN
现在,当我添加一些我不想通过fail2ban运行的旧 iptables 规则时,我最终得到以下结果:
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-N fail2ban-ssh
-A INPUT -p tcp -m multiport --dports 2222 -j fail2ban-ssh
-A INPUT -s 127.0.0.1/32 -i lo -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 2222 -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -j DROP
-A fail2ban-ssh -j RETURN
请注意,我需要添加以下行-A 输入 -p tcp --dport 2222 -j 接受或者我无法 ssh 进入盒子。
当我插入此行时,fail2ban 是否仍会保护 ssh(端口 2222)?如果没有,当我打开端口 80 进行正常操作时,如何确保 ssh 仍然通过fail2ban?
答案1
我认为最好的方法是修改fail2ban配置,以便过滤端口2222而不是22。