服务器远程连接安全防护研究
2016-05-14丁梅
丁梅
摘要:远程管理是管理人员维护服务器的基本方式。以常用的远程连接软件为例,从远程连接原理出发,分析远程连接给服务器带来的安全问题,提出防护方法与建议,并介绍了更新与更安全的其它远程管理方式。
关键词关键词:远程连接;服务器安全;安全防护
DOIDOI:10.11907/rjdk.161424
中图分类号:TP309文献标识码:A文章编号文章编号:16727800(2016)007017803
为适应机房的统一化管理,服务器往往采取远程连接的方式进行管理和维护。服务器普遍开启远程管理功能。除操作系统自带的远程管理软件如Windows远程桌面、Linux的SSH可以实现远程管理外,第三方软件如XT800、TeamViewer也可实现相关功能。虽然远程软件可以帮助服务器管理员在远程(不在机房)的情况下操控服务器,但使用过程中存在不少安全问题。1.1操作系统自带的远程管理软件
服务器开启远程管理功能后,服务器管理人员无须安装任何软件,即可使用系统自带的远程桌面软件连接服务器。远程桌面采用“IP+端口号+用户名+密码”的方式定位要连接的服务器。根据服务器管理员所处位置不同,IP可以是内网或公网地址。大多数情况下,服务器管理员与被管理的服务器不在同一局域网中,如果使用远程桌面进行连接,则要求服务器具有公网IP。
同时,其它想获取服务器资源的非授权用户也想通过类似方式连接服务器。以Windows 2008 R2 企业版的一台服务器为例,它开启了远程桌面功能,所以经常接收到来自互联网的远程桌面连接请求。在这些连接请求中,来访者在尝试用户名和密码。此情况可以通过系统日志看到,如图1所示。
查看其中一条日志的详细信息可以看到,在很短的时间间隔内,来自互联网的IP地址使用Windows默认的管理员帐户administrator连接服务器的默认服务端口3389,登录失败的原因是“用户名或密码不正确”或“密码尝试次数超过允许的最大值”。以上报错经过一段时间的累积,或同时有很多个并发连接,将耗尽系统资源,导致服务器自动重启,影响服务器的服务能力。
1.2第三方远程管理软件
XT800和TeamViewer作为第三方软件,它们的工作方式类似,都可以使服务器在没有公网IP、未开启远程服务端口的情况下被连接,以下以XT800为例进行分析。
使用XT800软件的前提是服务器和想连接服务器的个人电脑(也可以是另一台服务器、移动设备等)上都已安装该软件。在IPv4地址紧缺的今天,XT800的优点是不需要服务器拥有公网IP,也不需要防火墙开放远程端口(如3389),只要服务器可以联网,服务器管理员即可从互联网登录到自己管辖的服务器。
XT800采用“识别码+密码”来定位服务器。识别码和初始密码均在安装XT800软件时自动生成。识别码是一串字符串,不会重复,它唯一地标识了一台安装了XT800软件的服务器。用户可以修改密码为更加复杂的字符串。而如果一个人的电脑上安装了XT800软件,则可以用穷举的方式去尝试连接其它装有XT800软件的服务器。如果遇到弱密码,进入一台服务器则非常容易。
2远程连接原理
如果想从互联网上连接某一台服务器,需要如下前置条件:①一种定位机制。在互联网里的众多设备中找到要连接的服务器,需要唯一标志,可以是“IP地址+端口号、识别码”等;②一种通信规则。服务器与要连接的电脑必须可以实现数据通信;③一种软件。服务器上至少装有提供被连接服务的程序,并一直在等待连接请求。而要连接服务器的电脑至少装有远程连接软件的客户端,可以发起连接请求。
OSI(Open System Interconnection,开放系统互联)模型将互联通信系统划分为7层,分别为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。以OSI模型为参照,自底向上分析各层在实现远程连接中的作用。
2.1IP协议
IP协议工作于OSI模型中的网络层。在这一层中,普遍使用IPv4完成对连接目标的定位。IPv4是4串数字,用3个小数点把它们隔开,每串数字取值范围为0~255,例如10.10.10.8或192.168.1.8。IP协议使远程连接得以定位连接的目标。2.2TCP协议
TCP协议工作于OSI模型中的传输层。传输层可以选择连接的差错控制方式,并区别出TCP、UDP等连接方式。由于远程连接需要稳定且可靠性高的连接,必须进行差错控制,所以采用TCP连接方式来传输。TCP协议中的“三次握手”同样适用于远程连接的建立过程,通过SYN与ACK报文的相互传递确认连接的建立。连接建立之后,开始传输应用层的数据——远程连接请求的相关连接数据,包括本端信息(如IP、端口号、进程ID等)、对端信息(如IP、端口号、服务程序、用户名、密码等)。TCP协议完成远程连接中的数据传输和通信。2.3远程连接软件
远程连接软件工作于OSI模型的会话层、表示层、应用层。服务器管理员选择不同的远程连接软件,即使用不同软件来监听、发送和接收远程连接数据,并提供尽量友好的用户界面和操作方式。
从以上分析可知,通信是公开、不可控的;服务器的唯一标识可以是保密、少数人知晓的;远程连接软件任何人都可以下载安装,因而不可控。因此,从远程连接原理出发,可以找到安全防护的方法。3防护方法实例
服务器只要向外提供服务,即可以被追溯,所以想隐藏服务器的公网IP是不容易的。根据远程连接原理,可以隐藏远程连接的端口、区别可接受的连接来源区域、设置特别用户及复杂密码来保障服务器在远程连接中的安全。3.1端口映射
通过端口映射隐藏远程服务的端口,避免来自互联网对默认端口的扫描,以及多用户名和密码的尝试。以系统自带的远程桌面为例,其默认服务端口3389经常受到扫描。一台服务器或IP可用的端口号为1-65536,除去系统占用的不可修改的端口外,其它应用端口大部分可以修改。远程桌面的端口可以从3389改为与其它应用或服务不冲突的任何一个端口。从非授权连接程序的扫描策略角度看,如果它扫描默认端口,一个IP只需扫描1次;如果服务器并没有使用默认端口,排除系统占用和其它应用常用的端口,需要扫描大约60 000个端口。工作量的数量级增加,而命中率大幅度下降,投入与回报不成正比。所以,不使用默认端口可以很大程度上减少被扫描的次数和强度。
端口映射是网络安全设备(如防火墙、负载均衡等)中的一条规则,功能是将连接请求中的目的端口号从一个数字改为另一个数字,传送给要连接的目的服务器。目的服务器只接受更改过的端口号,而不接受未更改的端口号。因此,利用网络安全设备阻隔不知道远程连接正确端口号的请求,以保障服务器安全。3.2访问控制列表
访问控制列表(Access Control Lists,ACL)语句可约束一条网络连接的源IP、源端口号、目的IP、目的端口号、处理方式。在远程连接请求语句中,目的IP与端口是明确的(即要连接服务器的IP地址和远程服务的端口号),而源IP和源端口号可以利用ACL规则筛选。
访问控制列表作用于网络安全设备(如防火墙、负载均衡等),网络安全设备在收到连接请求时,从上至下遍历访问控制列表中的每一条语句。如果遇到条件匹配的语句,则按照语句中的方式处理,遍历终止。
从正向看,服务器管理员可以向网络安全设备的访问控制列表中增加自己工作网络区域的IP段,使来源于此区域的连接通过网络安全设备,被传送给被管理的服务器;从反向看,凡是来自访问控制列表网络区域以外的连接都被网络安全设备抛弃。虽然此方法不适合工作环境不稳定(如使用链路负载均衡)或频繁变更(如出差)的服务器管理员,但即使只能隔绝一个运营商,也能极大地提高服务器安全性。
3.3用户名及密码控制
远程连接中需要使用的用户名、ID、识别码、密码等建议设置得较为复杂。有的服务器管理员为图方便使用默认设置,对安装了同一种远程连接软件的其他用户而言,也有了尝试连接某台服务器的通道。默认的用户名和密码等往往比较简单,以Teamviewer为例,默认连接密码为6位数字,在时间充足的情况下尝试100万次即可进入服务器。Teamviewer的连接密码可以被修改为字母、数字、符号构成的更长组合。定期修改用户名和密码也十分有效,因为该行为会迫使穷举尝试的结果集失效。4分析与展望
4.1防护效果分析
经过近2年的尝试,以服务器日志数据作为防护效果参考,以上防护方法能减少被攻击总数的百分比,如表1所示。由此可见,端口映射是最推荐采取的防护方式。
表1防护效果比较
防护方式端口映射访问控制用户名与密码控制减少率(%)5010104.2其它远程管理方式
使用远程连接管理服务器,虽然是最简单、普遍的方式,但它并不是服务器管理员的唯一选择。它产生的问题虽然本文中已分析到并提出解决方法,但没有一种方法可以百分之百地避免非授权连接请求。以下是笔者使用过的其它可以实现远程管理的软件或设备,某些方面比远程连接更有优势。4.2.1VPN
VPN(Virtual Private Network,虚拟专用网络)是一款有代理功能的软件或一台网络安全设备。以深信服VPN设备为例,它采取B/S架构工作于互联网,需以公网IP发布其登录页面。服务器管理员在VPN登录页面输入自己的用户名和密码,认证成功则可进入内网。服务器管理员所使用的VPN用户名与可访问的内网资源一一对应,当服务器管理员成功登录VPN后,其管辖的服务器即在资源列表中;反之,资源列表中没有的资源,此VPN用户不可访问。
如果采取VPN管理服务器,与远程连接相比,具有以下优点:①不再需要向互联网开放服务器的远程连接服务或安装第三方软件,从而百分之百避免了非授权的连接请求;②若有人想尝试连接服务器,首先需要尝试连接并通过VPN设备,扫描、攻击、压力则将由VPN设备承担,不会影响到服务器;③VPN设备作为一种网络安全设备,可以设置复杂的审计策略,例如限制来访者的网络区域、计算密码错误次数、记录用户进入内网后的每一个操作等。4.2.2虚拟桌面
虚拟桌面(Desktop Virtualization)是基于虚拟化的上层应用。本文中提到的服务器其实也可以是一台虚拟机,或一台虚拟化的物理服务器,都可以使用虚拟桌面对其进行管理。虚拟化技术使应用摆脱了物理局限,模糊了应用存在的物理位置。作为用户或服务器管理员,并不介意应用程序、存储资料的物理位置是否转移,只要满足逻辑期望即可,如:操作系统功能正常、应用程序运行正常、存储资料完整无缺等。
以VMware Horizon View为例,通过虚拟桌面可以获得在机房直接操作服务器的体验。其优势更多地来自于虚拟化技术,例如在不丢失数据的前提下扩展硬件(如CPU、内存、数据存储空间等)、更便捷的系统恢复功能等。VMware Horizon View使服务器管理员可以在任何设备上完成服务器或虚拟机的远程管理工作,例如手机、平板电脑、个人电脑等,从而突破了之前远程连接软件大部分仅支持个人电脑(尤其是Windows操作系统)的局限。5结语
远程桌面最方便使用,但安全风险也最高,采用VPN需要投入资金并培训用户,虚拟桌面仅适用于虚拟化服务器。以上方式各有优缺点,可根据机房状况选取合适的远程管理方式。引入满足需求的网络安全设备,进一步提高机房的虚拟化程度,都有利于远程管理水平的提高。但只要机房存在,就必须有人为的管理,再智能化的硬件或软件都不可能代替管理员操作。
参考文献:
任绍坤.被忽视的远程管理模块[J].网络运维与管理,2016(1):135137.
李太凤,朱艳.Radmin在服务器远程管理中的应用[J].西昌学院学报:自然科学版,2015,29(4):4145.
曹俊捷.成人高校远程实验平台的研究与实践[J].信息与电脑:理论版,2014(3):6465.
张陶.计算机防火墙技术研究[J].信息与电脑:理论版,2014(4):107108.
王禄华.基于4G网络的机房远程监控云平台[J].电信快报:网络与通信,2015(12):3942.