很多网管员在考虑网络安全问题时,首先会想到通过路由器和防火墙实现安全性。那么,这些技术各有哪些优缺点?通过什么手段可弥补缺陷?
路由器技术
路由器是一种多端口设备,它按照协议和网络信息负责数据帧的转发。路由器位于一个或多个网段的交界处,一般工作在网络层和传输层。在网络层,当路由器遇到一个IP包时,它便检查IP包中的目的IP地址,并与路由选择表中的项目进行比较。如果匹配,路由器则依照表中的指示转发IP包,如果不匹配,并且没有缺省的路由选择,IP包便被滤掉。在传输层,路由器利用TCP报头中的源端口号、目的端口号和TCP标志(如SYN和ACK标志)进行包过滤。路由器可以阻塞广播信息和不知名地址的传输,达到保护内部安全的目的。
路由器使用的包过滤技术的优点是不要求客户机和主机应用程序做出修改,因为它们只在IP和TCP层工作,与应用层无关。
但是,在安全性方面它的缺陷很明显,它只是将IP层和TCP层的地址、端口号和TCP标志等信息作为判定过滤与否的惟一依据,并没有对其他安全需求做出说明,因此路由器不能对通过高层协议进行的攻击实现有效的检测。另外,对一些协议,如UDP(没有TCP标志位ACK)和远程程序调用(RPC)很难进行过滤。路由器防范入侵的主要措施是根据系统要求确定路由规则,设计包过滤访问列表(ACL)。能否达到安全性取决于网管员对通信协议和行为的高水平理解。
此外,在许多包过滤器的实现中,过滤规则的数量受到一定限制,随着规则数目的提高,需用额外的方法对附加规则进行处理,因此相应的成本会提高。路由器的另一个缺点是在许多包过滤实施中缺乏审计和报警装置。
总之,多数路由器采用静态分组过滤来控制网络信息传输,它适用于对安全要求不高的场合。实际应用中,与防火墙结合可达到更安全的效果。
防火墙技术
目前,保护网络安全主要的手段之一是构筑防火墙,它一般位于开放的、不安全的公共网与内部局域网之间,用于实现两个网络之间的访问控制和安全策略。
防火墙技术一般分为包过滤、应用网关、代理服务器、电路层网关和自适应代理等几类。
应用网关是在应用层上实现数据过滤和转发,针对网络应用协议制定数据过滤逻辑。它的优点是具有高层应用数据或协议的理解能力,但过滤不当仍可能使黑客通过外部网络入侵内部网络。
代理服务器只代理可信赖的服务并只允许这些服务穿过防火墙,其他服务都将被彻底封锁,因此安全性较高。它的缺点是不能完全透明地支持各种服务和应用,必须为每种应用编写不同的代理程序,另外该防火墙CPU资源耗费也较大。
电路层网关是在两个主机首次建立TCP连接时建立起的一道屏障,该网关在IP层代理各种会话,是包过滤和应用网关的折衷方案。
自适应代理技术是根据用户定义的安全策略,动态地适应传送中的分组流量。如果安全性要求较高,则最初的安全检查在应用层完成,一旦明确了会话细节,则转移到速度较快的网络层。该技术基本反映了防火墙技术的最新发展状况。
防火墙技术的缺陷主要体现在以下几个方面。
(1)防火墙一般部署在网关处,把外部网络当成不可信网络,而把内部网当成可信任的,主要预防来自外部网络的攻击。然而,事实证明,大部分黑客入侵都来自内部网络,但是防火墙对此却无能为力。为此可以把内部网分成多个子网,用内部路由器安装防火墙的方法保护一些内部关键区域。采用这种方法,维护成本和设备成本都会很高,同时也容易产生一些安全盲点。
(2)基于Web的视频会议系统和电子商务系统都增加一些传统防火墙所没有的访问规则,从而有可能削弱传统防火墙的功能,增加了黑客入侵的机会。
(3)防火墙只允许来自外部网络的符合规则的服务通过,这样反而会抑制一些正常的信息通信,从某种意义上说大大削弱了Internet的开放性。
(4)公司销售人员因出差等原因想查看一下公司内部网络中的重要数据,或公司领导想从外部对内部人员发出指令,也常常被防火墙堵截到门外,这样容易导致政令不通; 而一旦给公司的这些人员赋予访问权限,他们的计算机将成为安全盲区,反而易成为黑客攻击的重点。公司CEO等要员的移动电脑内常常带有内部重要资料,一旦被入侵,将给公司造成巨大损失。另外, 一些公司领导的家庭计算机内也常有重要资料,入侵者完全可以安装一个远程控制的特洛伊木马程序发送到他们的机器上,从而可以获得穿过公司内防火墙和虚拟专用网的权限。
(5)现在跨地区的大公司常利用公用的Internet网建立本公司的虚拟专用网(VPN),虽然大部分防火墙集成了对VPN的支持,但VPN只是在介于公司两个局域网络的网关间的公共网络上建立起一个加密通道,一旦通信越过目标站点网关,它将被解密并暴露在内部网络上,使内部网上出现安全隐患。
其他弥补措施
(1)自主产权的网络操作系统。现在国内90%以上的Web站点用的都是Windows NT操作系统,而客户机大部分用的是Windows 95/98操作系统。但是,它们都有“后门”:通过Pentium 处理器的序列号,在上网时将用户的信息与截获的信息一一对应起来,就能破获用户的隐私和密码;Windows 98的用户在拨号上网时,系统能自动搜集用户电脑内的资料和身份认证资料。建立在他人操作系统之上的网络安全系统,安全性非常令人怀疑,对于军队等特殊领域,使用自己的网络操作系统就显得更加重要。当然,建立一个安全可靠的操作系统并非易事,但Linux 等开放源代码系统做了大量的前期工作,建立在该代码之上的开发或许对我们会有所帮助。
(2)高强度的保密算法。网络安全从本质上说与数据加密息息相关。现在网络上采用的加密算法分对称密钥算法和公开密钥算法两种。对称密钥算法密钥管理难度较大且安全性不高,公开密钥算法使用公钥和私钥,公共密钥可从认证机构CA中得到,私有密钥由个人保存,从根本上解决了对称密钥算法管理上的困难。
(3)新一代防火墙和入侵测试系统。可装在每台机器上进行实时监测,不但能监测来自外部的入侵,也能监测来自内部的入侵,并能进行报警,弥补了现有防火墙的许多缺陷。
(4)新一代网络防病毒软件。除了对现有的杀毒软件不断升级外,采用针对网络的杀毒软件刻不容缓。
使用网络安全措施是为了保护信息交换,而不是限制信息交换或使其复杂化。除此之外,在开发安全系统时还应该高度重视系统管理,包括网络配置、密钥分配、设备检查、数据库维护和审计报告的生成等。应保证数据的安全存储,确保数据的机密性,即使攻击者得到数据也无法使用。总之,要综合考虑各种因素,使构筑的网络既好用又安全。