端口敲门服务

概念

端口敲门(Port knocking)技术,可以理解为密码或者暗号服务,简单来说,就是访问“预先设定好的顺序端口”(),服务器收到某客户端的端口尝试序列后,动态修改防火墙规则,打开某特定端口(),这时候,这个端口就可以被某IP进行访问了。访问顺序端口跟敲门一样,也类似于密码或者暗号。

技术实现

本次实验采用的服务器是centos6.9,通过敲门实现22端口的开启和关闭,通过客户机kali远程来验证。

安装配置

安装需要的lib库

yum -y install libcap*

下载knockd的RPM包

wget -c http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

安装knockd

rpm -Uvh nux-dextop-release*rpm

yum -y install knock-server

修改配置文件,配置敲门服务

[options]

UseSyslog

Interface = eth1

[openSSH]

sequence = 2222,3333,4444

seq_timeout = 30

tcpflags = syn

command = /sbin/iptables -I INPUT -s 192.168.43.217 -p tcp --dport 22 -j ACCEPT

[closeSSH]

sequence = 4444,3333,2222

seq_timeout = 30

tcpflags = syn

command = /sbin/iptables -D INPUT -s 192.168.43.217 -p tcp --dport 22 -j ACCEPT

启动knockd

service knockd start

配置所有端口无法访问

iptables -A INPUT -j DROP

可查看防火墙规则,只有这一条规则

此时kali无法远程访问centos

开门

在客户机kali上依次访问2222,3333,4444端口

可在服务器centos上发现新增的防火墙规则

客户机kali可远程访问服务器centos

关门

在客户机kali上依次访问4444,3333,2222端口

22端口被关闭(开门产生的防火墙规则被删除)

客户机kali无法远程访问服务器centos

优缺点

优点

有效的对端口进行了隐藏,不知道端口访问顺序的人很难去访问隐藏的端口。

降低了敏感端口直接暴露在外的风险。

缺点

对网络延迟及发包次序要求比较高,在高延迟的情况或一次发多个相同的包情况下,容易导致服务器端收不到正确的端口访问次序,无法打开其隐藏的端口。

端口敲门服务是一个程序提供的,如果该程序无法正常运行(如崩溃等),变无法使用敲门服务打开隐藏的端口。特别是远程访问端口(),很有可能需要去机房才能解决问题,虚拟云主机更麻烦。这时候需要一个非常给力的守护进程,在端口敲门服务出问题的时候

总结

是否可用作windows?

可使用,一样的原理。但是具体没实现过。

在遇到其它恶意扫描端口的时候,对敲门/关门服务有影响吗?

没有影响,识别不同IP,可正常使用端口敲门服务(可正常访问22端口)。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191118A0IAGV00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券