随着信息化办公的普及,远程访问的需求也水涨船高。越来越多的企业,已经不再只满足于信息化系统只能够在企业内部使用。由于员工出差、客户要求访问等原因,近几年远程访问的热度不断升高。一些远程访问工具,也纷纷面世。如电子邮件、FTP、远程桌面等工具为流离在外的企业员工,提供了访问企业内部网络资源的渠道。
但是,毋庸置疑的,对企业内部网络资源的远程访问增加了企业网络的脆弱性,产生了许多安全隐患。因为大多数提供远程访问的应用程序本身并不具备内在的安全策略,也没有提供独立的安全鉴别机制。或者说,需要依靠其他的安全策略,如IPSec技术或者访问控制列表来保障其安全性。所以,远程访问增加了企业内部网络被攻击的风险。笔者在这里试图对常见的远程入侵方式进行分析总结,跟大家一起来提高远程访问的安全性。
一、针对特定服务的攻击
企业往往会在内部网络中部署一些HTTP、FTP服务器。同时,通过一定的技术,让员工也可以从外部访问这些服务器。而很多远程访问攻击,就是针对这些服务所展开的。诸如这些支持SMTP、POP等服务的应用程序,都有其内在的安全隐患。给入侵者开了一道后门。
如WEB服务器是企业常用的服务。可惜的是,WEB服务器所采用的HTTP服务其安全性并不高。现在通过攻击WEB服务器而进行远程访问入侵的案例多如牛毛。入侵者通过利用WEB服务器和操作系统存在的缺陷和安全漏洞,可以轻易的控制WEB服务器并得到WEB内容的访问权限。如此,入侵者得手之后,就可以任意操作数据了。即可以在用户不知情的情况下秘密窃取数据,也可以对数据进行恶意更改。
针对这些特定服务的攻击,比较难于防范。但是,并不是一点对策都没有。采取一些有效的防治措施,仍然可以在很大程度上避免远程访问的入侵。如采取如下措施,可以起到一些不错的效果。
1、是采用一些更加安全的服务。就拿WEB服务器来说吧。现在支持WEB服务器的协议主要有两种,分别为HTTP与HTTPS。其中HTTP协议的漏洞很多,很容易被入侵者利用,成为远程入侵企业内部网络的跳板。而HTTPS则相对来说安全的多。因为在这个协议中,加入了一些安全措施,如数据加密技术等等。在一定程度上可以提高WEB服务器的安全性。所以,网络安全人员在必要的时候,可以采用一些比较安全的协议。当然,天下没有免费的午餐。服务器要为此付出比较多的系统资源开销。
2、是对应用服务器进行升级。其实,很多远程服务攻击,往往都是因为应用服务器的漏洞所造成的。如常见的WEB服务攻击,就是HTTP协议与操作系统漏洞一起所产生的后果。如果能够及时对应用服务器操作系统进行升级,把操作系统的漏洞及时补上去,那么就可以提高这些服务的安全性,防治他们被不法之人所入侵。
3、是可以选择一些有身份鉴别功能的服务。如TFTP、FTP都是用来进行文件传输的协议。可以让企业内部用户与外部访问者之间建立一个文件共享的桥梁。可是这两个服务虽然功能类似,但是安全性上却差很远。TFTP是一个不安全的协议,他不提供身份鉴别贡呢功能。也就是说,任何人只要能够连接到TFTP服务器上,就可以进行访问。而FTP则提供了一定的身份验证功能。虽然其也允许用户匿名访问,但是只要网络安全人员限制用户匿名访问,那么就可以提高文件共享的安全性。
二、针对远程节点的攻击
远程节点的访问模式是指一台远程计算机连接到一个远程访问服务器上,并访问其上面的应用程序。如我们可以通过Telent或者SSH技术远程登陆到路由器中,并执行相关的维护命令,还可以远程启动某些程序。在远程节点的访问模式下,远程服务器可以为远程用户提供应用软件和本地存储空间。现在远程节点访问余越来越流行。不过,其安全隐患也不小。
一是增强了网络设备等管理风险。因为路由器、邮箱服务器等等都允许远程管理。若这些网络设备的密码泄露,则即使在千里之外的入侵者,仍然可以通过远程节点访问这些设备。更可怕的是,可以对这些设备进行远程维护。如入侵者可以登陆到路由器等关键网络设备,并让路由器上的安全策略失效。如此的话,就可以为他们进一步攻击企业内部网络扫清道路。而有一些人即使不攻击企业网络,也会搞一些恶作剧。如笔者以前就遇到过,有人入侵路由器后,"燕过留声,人过留名"。入侵者竟然把路由器的管理员密码更改了。这让我郁闷了好久。所以如果网络安全管理人员允许管理员进行远程节点访问,那么就要特别注意密码的安全性。要为此设立比较复杂的密码,并经常更换。
二是采取一些比较安全的远程节点访问方法。如对于路由器或者其他应用服务器进行远程访问的话,往往即可以通过HTTP协议,也可以通过SSH协议进行远程节点访问。他们的功能大同小异。都可以远程执行服务器或者路由器上的命令、应用程序等等。但是,他们的安全性上就有很大的差异。Telent服务其安全性比较差,因为其无论是密码还是执行代码在网络中都是通过明文传输的。如此的话,其用户名与密码泄露的风险就比较大。如别有用心的入侵者可以通过网络侦听等手段窃取网络中明文传输的用户名与密码。这会给这些网络设备带来致命的打击。而SSH协议则相对来说比较安全,因为这个服务在网络上传输的数据都是加密处理过的。它可以提高远程节点访问的安全性。像Cisco公司提供的网络设备,如路由器等等,还有Linux基础上的服务器系统,默认情况下,都支持SSH服务。而往往会拒绝启用Telent服务等等。这也主要是出于安全性的考虑。不过基于微软的服务器系统,其默认情况下,支持Telent服务。不过,笔者建议,大家还是采用SSH服务为好。其安全性更高。
三、针对远程控制的攻击
远程控制是指一个远程用户控制一台位于其他地方的计算机。这台计算机可能是有专门用途的服务器系统,也可能是用户自己的计算机。他跟远程节点访问类似,但又有所不同。当用户通过远程节点访问服务器,则用户自己并不知道有人在访问自己。而通过远程控制访问的话,则在窗口中可以直接显现出来。因为远程用户使用的计算机只是作为键盘操作和现实之用,远程控制限制远程用户只能够使用驻留在企 控制的计算机上的软件程序。如像QQ远程协助,就是远程控制的一种。
相对来说,远程控制要比节点访问安全性高一点。如一些远程控制软件往往会提供加强的审计和日志功能。有些远程控制软件,如QQ远程协助等,他们还需要用户提出请求,对方才能够进行远程控制。但是,其仍然存在一些脆弱性。
一是只需要知道用户名与口令,就可以开始一个远程控制会话。也就是说,远程控制软件只会根据用户名与密码来进行身份验证。所以,如果在一些关键服务器上装有远程控制软件,最好能够采取一些额外的安全措施。如Windows服务器平台上有一个安全策略,可以设置只允许一些特定的MAC地址的主机可以远程连接到服务器上。通过这种策略,可以让只有网络管理人员的主机才能够进行远程控制。无疑这个策略可以大大提高远程控制的安全性。
二是采用一些安全性比较高的远程控制软件。一些比较成熟的远程控制软件,如PCAnyWhere,其除了远程控制的基本功能之外,还提供了一些身份验证方式以供管理员选择。管理员可以根据安全性需求的不同,选择合适的身份验证方式。另外,其还具有加强的审计与日志功能,可以翔实的纪录远程控制所做的一些更改与访问的一些数据。当我们安全管理人员怀疑远程控制被入侵者利用时,则可以通过这些日志来查询是否有入侵者侵入。
三是除非有特殊的必要,否则不要装或者开启远程控制软件。即使采取了一些安全措施,其安全隐患仍然存在。为此,除非特别需要,才开启远程控制软件。如笔者平时的时候,都会把一些应用服务器的远程控制软件关掉。而只有在笔者出差或者休假的时候,才会把他们开起来,以备不时之需。这么处理虽然有点麻烦,但是可以提高关键应用服务器的安全。这点麻烦还是值得的。
【编辑推荐】