端口使用iptables敲门

时间:2013-03-16 15:24:25

标签: iptables

我正在使用以下iptables规则进行端口敲门。一切运作良好,但我想通过能够从HOST_1敲门从而打开HOST_2的SSH端口来改进它。有人可以建议是否/如何做到这一点?一种可能性是在端口敲击时伪造源IP(hping3 -p 100 -a $ HOST_2 11.22.33.44)。这有效,但我更愿意使用iptables实现这一点。

-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -s 127.0.0.0/8 -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

-A INPUT -m recent --rcheck --seconds 5 --name KNOCK3 --rsource -j STATE3
-A INPUT -m recent --rcheck --seconds 5 --name KNOCK2 --rsource -j STATE2
-A INPUT -m recent --rcheck --seconds 5 --name KNOCK1 --rsource -j STATE1

-A INPUT -j STATE0

-A STATE0 -m recent --remove --name KNOCK1,KNOCK2,KNOCK3 --rsource
-A STATE0 -p tcp -m tcp --dport 100 -m recent --set --name KNOCK1 --rsource -j DROP
-A STATE0 -j DROP

-A STATE1 -m recent --remove --name KNOCK1,KNOCK2,KNOCK3 --rsource
-A STATE1 -p tcp -m tcp --dport 200 -m recent --set --name KNOCK2 --rsource -j DROP
-A STATE1 -j DROP

-A STATE2 -m recent --remove --name KNOCK1,KNOCK2,KNOCK3 --rsource
-A STATE2 -p tcp -m tcp --dport 300 -m recent --set --name KNOCK3 --rsource -j DROP
-A STATE2 -j DROP

-A STATE3 -m recent --remove --name KNOCK1,KNOCK2,KNOCK3 --rsource
-A STATE3 -p tcp -m tcp --dport 22 -j ACCEPT
-A STATE3 -j DROP

1 个答案:

答案 0 :(得分:0)

如果您的两个主机是固定IP地址,您只需要为上面设置了爆震名称的相应规则添加源IP选项(-s)。例如。用有效的IP替换下面的HOST_1和HOST_2值:

-A STATE0 -s HOST_1 -p tcp -m tcp --dport 100 -m recent --set --name KNOCK1 --rsource -j DROP

-A STATE1 -s HOST_1 -p tcp -m tcp --dport 200 -m recent --set --name KNOCK2 --rsource -j DROP

-A STATE2 -s HOST_1 -p tcp -m tcp --dport 300 -m recent --set --name KNOCK3 --rsource -j DROP

-A STATE3 -s HOST_2 -p tcp -m tcp --dport 22 -j ACCEPT

如果您的IP是动态的(例如,敲响任何给定的IP会打开访问下一个更高的IP),我不知道只使用iptables的方法。

相关问题