![iptables 应该阻止 ssh,但端口仍然开放](https://linux22.com/image/1492404/iptables%20%E5%BA%94%E8%AF%A5%E9%98%BB%E6%AD%A2%20ssh%EF%BC%8C%E4%BD%86%E7%AB%AF%E5%8F%A3%E4%BB%8D%E7%84%B6%E5%BC%80%E6%94%BE.png)
我正在尝试让端口敲击服务在我的 Raspberry Pi 上运行。我已编辑了 iptables 规则以阻止传入流量,但我仍然可以通过 MacBook 通过 ssh 进入 Raspberry Pi。如果我正确理解了 iptables 规则,我应该无法做到这一点。
当我测试 iptables 配置时,我的 pi 确实暂时阻止了 ssh。但在我安装了 knockd 并启动服务后,我可以再次顺利进行 ssh……尽管这与应该发生的情况相反。
来自我的 pi:
sudo iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:http
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
nano /etc/iptables/rules.v4
# Generated by iptables-save v1.4.21 on Wed May 4 23:53:23 2016
*filter
:INPUT DROP [469:58510]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1788:276430]
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
COMMIT
# Completed on Wed May 4 23:53:23 2016
从我的 macbook 开始,在我关闭会话后,这样就不会违反ESTABLISHED
规则
ssh [email protected]
[email protected]'s password:
# enter password and it logs me in
编辑
实际上,我的 iptables 规则都没有被遵守。我几乎屏蔽了所有内容,但仍然会收到登录 ssh 的提示;当我在浏览器中访问该 IP 时,我甚至会从服务器获取废话般的 apache 索引页。
sudo iptables -F
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT DROP
sudo iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
target prot opt source destination
就要踢一个婴儿了……