用端口碰撞技术实现服务器远程管理

2009-05-12 17:21:06来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

核心提示:端口碰撞技术是一种允许服务设备在用户按照约定的序列碰撞后,打开一个约定的服务端口提供服务的技术。所谓碰撞是由一个尝试访问系统中关闭端口的序列组成,也就是特定端口的连接请求。

端口碰撞技术(Port knocking)

从安全管理的角度来说,开启的服务端口越多,就越不安全,有道是“明枪易躲,暗箭难防”,因此“系统安全加固服务”中,最常用的方式,就是先关闭无用端口,再对提供服务的端口做访问控制。

而作为远程管理与维护的人员通常需要开启一些服务端口,如FTP和SSH,这些服务使用大家熟悉的一些端口,长时间开启这些端口,往往是“严重”的安全隐患。所以能在“需要”的时候才开启服务,并只对特定的人提供服务,服务完毕端口有恢复关闭状态,攻击者就难以利用这个“安全隐患”了,端口碰撞技术提供了比较理想的解决方案。

端口碰撞技术是一种允许服务设备在用户按照约定的序列碰撞后,打开一个约定的服务端口提供服务的技术。所谓碰撞是由一个尝试访问系统中关闭端口的序列组成,也就是特定端口的连接请求。

说起来,端口碰撞技术的实现很简单:

1、 开启固定的端口服务

如在服务器上设置为:服务器接收到同一个用户的对端口2048、2049、2055、2058连接序列尝试后,则服务器打开TCP服务端口号28,该用户可以通过该端口进行远程工作,连接结束后自动关闭该服务端口。若是防火墙等网关类设备,则在截获该序列的尝试后,在访问列表中增加一条规则来放行该用户的TCP28数据包,使该连接可以通过防火墙。收到连接关闭命令后,再删除该规则,恢复对该端口的拒绝服务。

2、 动态开启端口服务

若需要使用端口碰撞技术打开的服务端口有多个,或者动态变化服务的端口,在设计服务器上的碰撞序列时,可以采用在序列中“指定”端口,在序列某个位置上“告之”希望打开的服务端口。如设定规则为,最后的一个端口减2000为服务端口好,则碰撞序列为2048、2049、2055、2058、2443时,就是希望开启443端口的服务。

端口碰撞技术看起来不复杂,对于使用者了说,在正常的连接建立前,又增加了一层“密码”验证,可以做个小工具软件来自动化你每次的碰撞过程,把碰撞序列作为密码一样顺序发出,就可以直接工作了。并且不仅在防火墙上可以实现(此时服务器上可以默认打开该服务端口),而且在服务器上也可以直接实现。在实现的设备上增加了一个匹配的缓冲池,以状态机的方式跟踪进入匹配的用户(源IP),从匹配第一个端口包,开始启动状态机,该用户后来的包逐个匹配序列,完成一个进入下一个状态,直到整个序列匹配,若有一个包不匹配,则回到初试状态。

端口碰撞技术的安全性

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:CentOS5环境下安装PureFTPd

下一篇:教你用SRP服务构建Linux下FTP服务器