SSH端口敲门技术是一种网络安全措施,用于防止未经授权的访问。通过端口敲门,可以动态地在防火墙上打开指定端口(如SSH端口),仅允许符合特定敲门序列的用户访问。此技术通常用于隐藏重要服务(例如SSH),以防止暴力破解或其他未经授权的攻击
工作原理
端口敲门的工作原理基于以下步骤:
闭合端口:默认情况下,所有重要端口(如22端口)在防火墙上都是关闭的。
发送敲门序列:用户在尝试连接之前,首先需要向一组预定义的端口发送一系列TCP/UDP包。这些端口可能是随机选择的,例如1234、5678和9101。
验证序列:防火墙监视传入流量,检测这些特定的端口敲门序列。
打开端口:如果敲门序列正确,防火墙会暂时打开SSH端口,让用户能够连接到服务器。
超时或关闭端口:一段时间后,如果没有进一步的连接,端口会自动关闭。
安装:
sudo apt-get install knockd
编辑/etc/knockd.conf
,添加以下内容:
[options] logfile = /var/log/knockd.log [openSSH] sequence = 7000,8000,9000 seq_timeout = 5 command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn [closeSSH] sequence = 9000,8000,7000 seq_timeout = 5 command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn
启动knock
sudo systemctl start knockd
在此配置中,当用户按顺序敲击7000、8000、9000端口时,防火墙会打开22端口(SSH端口);反向敲击(9000、8000、7000)则会关闭该端口。
标签:knock,22,端口,防火墙,knockd,ssh,解析,敲门,SSH From: https://www.cnblogs.com/jjjyyylll/p/18409821