发布时间:2025-11-05 09:19:49 来源:云智核 作者:系统运维
在网络安全领域,别让SSH(Secure Shell)是黑客一种常用的加密协议,用于在不安全的轻易敲门网络上进行安全的远程登录和其他安全网络服务。然而,入侵让的若金SSH服务默认监听的端口22端口常常成为攻击者的目标,他们会使用各种方法尝试破解SSH密码,别让从而获得系统的黑客控制权。为了保护SSH服务,轻易敲门除了基本的入侵让的若金强密码和双因素认证外,还有一种名为“端口敲门”的端口技术可以显著提高SSH的安全性。

端口敲门(Port Knocking)是一种安全措施,它通过在防火墙上动态打开端口来允许合法用户访问受保护的黑客服务。具体来说,轻易敲门端口敲门技术要求用户在尝试连接到SSH服务之前,入侵让的若金按照预定义的端口顺序访问一系列隐藏端口。这种技术通过在网络层添加额外的验证步骤,云服务器提供商有效地隐藏了实际的服务端口,并减少了被暴力破解的风险。

实现端口敲门的方法有很多种,下面介绍使用 knockd 工具实现端口敲门的基本步骤:
1.安装 knockd在大多数Linux发行版上,你可以通过包管理器安装 knockd:
复制sudo apt-get install knockd1. 2.配置 knockd安装完成后,编辑 knockd 的配置文件,通常位于/etc/knockd.conf,添加你的敲门序列和相应的动作,例如:
复制[options] logfile = /var/log/knockd.log [openSSH] sequence = 1234,5678,9012 seq_timeout = 15 command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn [closeSSH] sequence = 9012,5678,1234 seq_timeout = 15 command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn1.2.3.4.5.6.7.8.9.10.11.12.13.我们需要修改的另一个配置是 /etc/default/knockd,例如:
复制# control if we start knockd at init or not # 1 = start # anything else = dont start # PLEASE EDIT /etc/knockd.conf BEFORE ENABLING START_KNOCKD=1 # command line options KNOCKD_OPTS="-i eth0"1.2.3.4.5.6.7.8.找到行START_KNOCKD=0 。取消注释,并将值设置为 1。接下来,转到取消KNOCKD_OPTS="-i eth1"注释行,并将默认值替换为系统的活动网络接口,要检查您的网络接口,只需运行 ip addr或 ifconfig命令。企商汇
3.启动 knockd配置完成后,启动 knockd 服务,并设置开机启动。
复制sudo systemctl start knockd sudo systemctl enable knockd1.2.启动成功如下图:

要使用端口敲门,可以使用 knock 命令行工具或其他类似工具:
复制knock your.server.com 1234 5678 90121.完成敲门后,你的IP地址将被允许访问SSH服务。
现在通过关闭端口进行测试,先通过192.168.31.103 9999 8888 7777关闭SSH端口。如下图所示:

现在要登录已经被完美阻击了,如下图:

要想登录就要先敲门,输入正确的敲门端口序列,如下:
复制knock 192.168.31.103 7777 8888 99991.成功敲门后,SSH端口就处于开放中,这时,我们就可以通过SSH登录到服务器,如下图所示:

其他服务器服务器想登录该服务器,要先进行敲门才能正常访问SSH端口。当客户端正确敲门后,服务端会再防火墙插入一条策略。如下图:

端口敲门技术通过增加一个额外的验证步骤,有效地提高了SSH服务的安全性。它不仅隐藏了实际的服务端口,还减少了被暴力攻击的风险。虽然端口敲门并不能替代强密码和双因素认证等其他安全措施,但它作为一种额外的保护层,可以显著增强系统的安全性。通过合理配置和使用端口敲门,你可以大大降低SSH服务被攻击的概率,从而保护你的网络资源和数据安全。