我正在尝试在服务器上设置端口敲击以增强安全性。我已将防火墙规则配置为使用端口敲击,其中我必须按特定顺序连接到特定端口,然后才允许连接到 SSH。
以下是我的防火墙规则的相关部分:
Chain INPUT (policy DROP)
target prot opt source destination
DROP tcp -- anywhere anywhere tcp dpt:1001 recent: SET name: RECENT side: source mask: 255.255.255.255
DROP tcp -- anywhere anywhere tcp dpt:2002 recent: CHECK seconds: 60 name: RECENT side: source mask: 255.255.255.255
SSH tcp -- anywhere anywhere tcp dpt:ssh recent: CHECK seconds: 60 name: RECENT side: source mask: 255.255.255.255
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
Chain SSH (1 references)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
但是,即使成功执行端口敲击序列后,我仍然无法连接到我的服务器。
我尝试了以下步骤:
- 将 TCP 数据包发送到端口 1001,然后发送到端口 2002。
- 等了一会儿。
- 尝试连接到 SSH 端口(通常为 22)。
# Port Knocking
nc -zv server_ip 1001
# Wait a few seconds
nc -zv server_ip 2002
# SSH Connection
ssh user@server_ip
尽管采取了这些步骤,我仍然无法建立 SSH 连接。
什么原因可能导致此问题?我是否应该考虑其他配置或故障排除步骤?
谢谢您的帮助!