第12章 网 络 安 全         随着网络的发展,网络的安全性显得越来越重要。非法入侵的案例早已屡见不鲜,怀有恶意的攻击者可以窃取、修改在网络上传输的信息,通过网络冒充合法用户非法进入远程主机,获取存储在主机中的机密信息,或者占用网络资源,阻止其他用户使用。这些问题的产生对网络运营部门和用户的信息安全构成了威胁,影响了计算机网络的进一步推广应用,因此,如何对计算机网络上的各种非法行为进行主动控制和有效防御,是计算机网络安全亟待解决的问题。   本章要点: ● 网络安全的主要威胁 ● 网络安全的体系结构 ● 网络安全策略 ● 网络病毒与防治 12.1 网络安全概述   国际标准化组织(ISO)对计算机系统安全的定义是:为数据处理系统建立和采用的技术和管理的安全保护,保护计算机硬件、软件和数据不因偶然和恶意的原因遭到破坏、更改和泄露。由此可以将计算机网络的安全理解为:通过采用各种技术和管理措施,保证网络系统正常运行,从而确保网络数据的可用性、完整性和保密性。所以,建立网络安全保护措施的目的是确保经过网络传输和交换的数据不会发生增加、修改、丢失和泄露等情况。   在现有的网络环境中,由于使用了不同的操作系统、不同厂家的硬件平台,因而网络安全是一个很复杂的问题,其中有技术性和管理上的诸多原因,一个好的安全的网络应该由主机系统、应用和服务、路由、网络、网络管理和管理制度等因素决定。 12.1.1 网络安全风险   我们在探索网络安全措施之前,首先要弄清网络安全的威胁所在,只有在充分了解对网络安全构成威胁的因素后,才能更加有效地对付这些威胁,以保证网络安全。网络中存在以下主要风险。   1. 与人有关的风险   据统计,有关人为的错误、无知或者疏忽造成半数以上的网络安全缺陷。一名入侵者访问网络的最为常见的方法之一就是直接向用户询问口令,例如,入侵者可能装扮成一名技术支持分析人员,需要知道口令来解决问题;或者,入侵者通过一次不经心的有关口令的谈话而获知口令。这种策略通常称为社会工程,因为它是通过操纵社会关系来实现访问。许多与人有关的风险可以通过清晰、简明、严格执行的企业范围的安全政策来进行化解。与人有关的风险包括以下内容: ● 入侵者或攻击者利用社会工程或窥探获取用户口令。 ● 网络管理员在文件服务器上不正确地创建或配置用户ID、工作组以及它们的相关权力,导致文件和注册路径易受攻击。 ● 网络管理员忽视了拓扑连接中硬件配置中的安全漏洞。 ● 网络管理员忽视了操作系统或应用配置中的安全漏洞。 ● 由于对安全政策缺乏适当的提供和通信,导致文件或网络路径的蓄意的、或者无意的误用。 ● 不忠或不满的员工滥用他们的访问权限。 ● 一台闲置的计算机或终端依然进入网络,这就为入侵者提供了一个入口。 ● 用户或管理员选择了易于猜出的口令。 ● 经授权的员工离开机房时未锁门,使得未经授权的人员得以进入。 ● 员工将磁盘或备份磁带丢弃在公共的垃圾筒内。 ● 管理员忘记消除已离开公司的职员的访问和文件权力。   由于利用人为错误是破坏网络安全的最容易的方法,所以人为错误才会造成如此之多的安全缺口。   2. 与硬件和网络设计有关的风险   与硬件和网络设计有关的风险主要指的是OSI模型第1、2层,即物理层和数据链路层所带来的安全风险。传输介质、网络接口卡、集线器、网络方法(例如以太网)以及拓扑结构都在这些层上。在这些层中,安全破坏事件所要求的技术性要比那些利用人为错误的事件高得多,例如,为了在传输信息通过5类电缆时进行偷听,入侵者必须使用诸如窃听器之类的设备。在OSI模型的中间层,往往很难对硬件技术和软件技术作出区分,例如,由于路由器是用于将一种网络与另一种网络相连的,所以,入侵者可能会向信箱中发送大量的TCP/IP传输业务,导致路由器不能承载正常的传输,这样入侵者就利用了路由器的安全漏洞。以下风险为网络硬件和网络设计所固有的: ● 无线传输能被窃听(而基于光纤的传输则不会)。 ● 使用租赁线路的网络易于受到窃听,例如,VPN通过互联网。 ● 集线器对全数据段传输进行广播,这使得传输数据更广泛地易受窃听(相反地,交换设备提供点对点的通信,这就限制了数据传输地与发送和接收节点的可获取性)。 ● 如果闲置的集线器、路由器或者服务器端口没有失效,它们就可能被黑客利用和访问。一个可由Telnet访问的路由器配置端口不够安全。 ● 如果路由器未被适当配置以标志内部子网,外部网络(如互联网)的用户就可以读到私人地址。 ● 连接在网络设备上的调制解调器可能是用于接收进入呼叫,如果未做适当的防护,它们也打开了安全漏洞。 ● 由电信或者远程用户使用的拨号访问服务器,可能没有被仔细地进行安全处理和监视。 ● 载有非常敏感数据的计算机可能与向公众开放的计算机同在一个子网中。   尽管安全破坏事件较少发生在OSI模型的低层,可是它们确实也有发生,并且同样具有破坏力。设想一名黑客想要使一所大学图书馆的数据库和邮件服务器停机,因为这所大学图书馆的数据库是公开的并且可被网上的任何人查询。这名黑客将通过搜索数据库服务器的端口来确定哪一个未受保护。如果数据库服务器上存在一个开放端口,那么,他就可以连接上系统并且放置一个攻击程序,这个程序将在几天后,损毁操作系统文件,或者引起登录信息传输混乱,从而使机器停止工作。他可能还会利用新发现的访问路径来确定系统的超级口令,以访问其他的系统,在图书馆与数据库服务器相连的邮件服务上放置同样的攻击程序。在这种方法下,甚至服务器上一个很小的错误(未保护一个开放端口)都可能导致多个系统的失败。   3. 与协议和软件有关的风险   与硬件一样,网络软件的安全性也取决于它的配置情况。OSI参考模型的高层,例如传输层、会话层、表示层,以及应用层同样可以带来风险。正如前面所指出的一样,硬件和软件风险之间的差别有些模糊,因为协议风险和硬件风险是前后相继的。例如,如果路由器未经过适当的配置,黑客就会利用TCP/IP的开放性来访问网络。网络操作系统和应用软件具有不同的风险。大多数情况下,它们的安全性由于人们对文件访问权限缺乏了解,或者仅仅是在设置软件时的疏忽而受到牵累。如果将网络上的重要数据和程序的访问权限赋予不适当的用户,那么即使是最好的加密技术、机房门锁、安全政策和口令纪律也都无能为力。以下是与网络协议和软件有关的一些风险: ● TCP/IP包括的安全漏洞,例如,IP地址可以被轻易伪造、校验和欺骗、UDP无需认证以及TCP只要求非常简单的认证。 ● 服务器之间的信任连接使得黑客可能由一个小漏洞而得以访问整个网络。 ● 网络操作系统软件通常包含“后门”或者安全漏洞。除非网络管理员进行定期更新,否则黑客就能够利用这些漏洞。 ● 如果网络操作系统允许服务器操作者退出到DOS提示符方式,那么入侵者就可以运行毁灭性的命令行程序。 ● 管理员在安装完操作系统或应用程序之后,可能会接受默认的安全选项。通常情况下,默认不是最优的,例如,在Windows服务器上能够对系统进行任意修改的默认用户ID称为“管理员”。由于这个默认是众所周知的,如果将默认ID设置为“管理员”,就已经向黑客提供了一半的信息。 ● 在应用程序之间的事务处理,例如,数据库与基于Web的表格之间可能为窃听留下空间。   4. 与Internet访问有关的风险   尽管Internet曾经带来计算机灾难,但公众关注的网络安全更多是从内部而非外部受到攻击。外部入侵者的威胁却是现实存在的,特别是当更多人访问Internet时,这种威胁将日益增加。   当用户与Internet连接时,需要格外小心,例如,最流行的网络浏览器有时也会在其发行版本中包含BUG,从而使得那些想损坏系统的黑客利用这些BUG,通过某些脚本程序即可入侵系统。此外在浏览网络时需要小心站点所提供的信息,有些站点会截获用户信息。新的与Internet有关的威胁层出不穷,一般的与Internet有关的安全破坏事件包括以下内容: ● 防火墙设置不当,没有足够的防护作用,例如,它可能会允许外来者获得内部IP地址,利用这些地址去假装已经获得了由Internet访问网络的授权,这个过程称为IP欺骗;或者防火墙没有被正确配置,不能防止未经授权的数据包从外界进入LAN。正确设置防火墙是使内部LAN免受攻击的最佳方法之一。 ● 当用户通过Internet Telnet或者FTP连接到公司站点的,用户ID和口令将以纯文本方式进行传递。任何监视网络的人都可窥探到用户ID和口令,并用它来访问系统。 ● 黑客可能会由工作组、邮件列表或者用户在网上填写的表格得知用户ID的信息。 ● 当用户连接到Internet聊天室时,他们可能受到其他Internet用户的攻击,其他用户可以向他们的机器发送非法命令,使得屏幕上充满了无用的字符,并且要求他们终止会话。 ● 当黑客通过Internet入侵系统后,可能会放置“拒绝服务”攻击。拒绝服务攻击在系统因信息泛滥或者其他干扰而失效时发生,这种攻击是一种相对容易放置的攻击,例如,黑客可以创建一个循环程序,每分钟向用户系统发送数以千计的电子邮件。这个问题最简单的解决办法就是关闭被攻击的服务器,然后重新设置防火墙拒绝对进攻机器的服务。拒绝服务攻击也可能由发生故障的软件造成。因此,对服务器的操作和应用程序使用补丁,以及研究零售商的升级声明,定期进行升级对于维护网络安全是至关重要的。 12.1.2 网络攻击手段   进行网络攻击的不法分子使用的攻击行为包括:在未经授权访问的条件下,获得对数据的访问权限;对正常通过网络系统的数据流实施修改或破坏,并以此达到破坏正常操作的目的;向网络系统中注入假的或伪造的信息。在实际的网络攻击手段中,可以满足上述攻击行为的攻击手段有很多,归纳起来主要有以下几种: ● 截获(或阻断)   这种网络攻击手段通过对网络传输过程中的通信数据进行截取,以便阻止通信数据的正常传输,从而破坏信息的可用性。截获主要是针对网络信息的可用性而采取的网络攻击手段。 ● 窃听   在这种网络攻击手段中,某一通信数据在网络传输过程中被非法窃听,从而使不法分子知道从信源发出至信宿的机密信息。窃听主要是针对网络信息的机密性而进行的攻击。 ● 修改   这可能是一种最复杂的网络攻击手段,它涉及到中断数据信号、修改数据,然后再将数据重新发送到原来的信宿等不同的操作过程。修改主要是针对网络信息的数据完整性而进行的攻击。 ● 伪造   在这种网络攻击手段中,传输到信宿的数据不是由本来的信源发出的,而是其他不法分子伪造并发送到信宿的。伪造主要是针对网络信息的真实性而进行的一种攻击。 ● 重播(重发)   在这种网络攻击手段中,不法分子通过截获某次合法的通信数据并进行数据复制,再把拷贝后的数据多次重新发送到网络系统中,从而影响信宿的正常工作。 ● 业务否认   业务否认是针对网络信息不可否认的网络安全特性而进行的一种攻击行为,它往往与其他的网络攻击手段(例如与伪造、修改等)结合起来一起实施,以实现其作案之后便逃之夭夭的目的。   接下来将为读者介绍常见网络攻击手段,并且针对这些网络攻击的手段给以详细的分析。   前面介绍了网络攻击的主要方式,事实上,网络攻击的手段多种多样,要想有效的防范网络攻击,还要具体了解网络攻击的手段。   1. 拒绝服务攻击(DOS)   拒绝服务攻击是计算机网络中最常见的攻击方式之一,它主要利用TCP/IP协议中的TCP SYN来实现。一般情况下,一个TCP连接的建立需要经过以下3次握手的过程: ● 建立发起者向目标计算机发送一个TCP SYN报文。 ● 目标计算机收到这个SYN报文之后,在内存中创建TCP连接控制块(TCB),然后向发起者返回一个TCP ACK报文,等待发起者的回应。 ● 发起者收到TCP ACK报文后,再回应一个ACK报文,这样,TCP连接就建立起来了。   利用这个过程,一些恶意的攻击者可以进行所谓的TCP SYN拒绝服务攻击,所使用的攻击方法如下: ● 攻击者向目标计算机发送一个TCP SYN报文。 ● 目标计算机收到这个报文后,建立TCP连接控制结构(TCB),并回应一个ACK,等待发起者的回应; ● 发起者不向目标计算机回应ACK报文,这样即可导致目标计算机一致处于等待状态。   可以看出,目标计算机如果接收到大量的TCP SYN报文,而没有收到发起者的第三次ACK回应,将会一直在等待,处于这样尴尬状态的半连接如果很多,则会把目标计算机的资源(TCB控制结构,TCB一般情况下是有限的)耗尽,而无法响应正常的TCP连接请求。   2. 泛洪攻击   在正常情况下,为了对网络进行诊断,一些诊断程序例如ping等会发出ICMP响应请求报文(ICMP ECHO),接收计算机接收到ICMP ECHO之后,会回应一个ICMP ECHO Reply报文。这个过程是需要CPU进行处理的,有的情况下还可能消耗掉大量的资源,例如处理分片时。这样,如果攻击者向目标计算机发送大量的ICMP ECHO报文(产生ICMP洪水),目标计算机将会忙于处理这些ECHO报文,而无法继续处理其他的网络数据报文,这也是一种拒绝服务攻击(DOS)。   另一种攻击方式是,一个恶意的攻击者把ECHO的源地址设置为一个广播地址,这样,计算机在恢复REPLY的时候,就会以广播地址为目的地址,因此,本地网络上所有的计算机都必须处理这些广播报文。如果攻击者发送的ECHO 请求报文足够多,所产生的REPLY广播报文就可能把整个网络淹没,这就是所谓的Smurf攻击。除了把ECHO报文的源地址设置为广播地址外,攻击者还可能把源地址设置为一个子网广播地址,这样,该子网所在的计算机就可能受到影响。   原理与ICMP洪水类似,攻击者也可以通过发送大量的UDP报文到目标计算机,导致目标计算机忙于处理这些UDP报文而无法继续处理正常的报文。   3. 端口扫描   根据TCP协议规范,当一台计算机收到一个TCP连接建立请求报文(TCP SYN)时,计算机将做以下的处理: ● 如果请求的TCP端口是开放的,则回应一个TCP ACK报文,并建立TCP连接控制结构(TCB)。 ● 如果请求的TCP端口没有开放,则回应一个TCP RST(TCP头部中的RST标志被设置为1)报文,通知发起计算机该端口没有开放。 ● 相应地,如果IP协议栈收到一个UDP报文,将会做如下处理: ● 如果该报文的目标端口开放,则把该UDP报文发送到上层协议(UDP)进行处理,不回应任何报文(上层协议根据处理结果而回应的报文例外)。 ● 如果该报文的目标端口没有开放,则向发起者回应一个ICMP不可达报文,通知发起者计算机的这个UDP报文的端口不可达。   利用这个工作原理,攻击者计算机便可以通过发送合适的报文,判断目标计算机哪些TCP或UDP端口是开放的,过程如下: ● 发出端口号从0开始依次递增的TCP SYN或UDP报文(端口号是一个16比特的数字,这样最大为65535,数量很有限)。 ● 如果计算机收到了针对这个TCP报文的RST报文,或针对这个UDP报文的ICMP不可达报文,则说明这个端口没有开放。 ● 相反,如果收到了针对这个TCP SYN报文的ACK报文,或者没有接收到任何针对该UDP报文的ICMP报文,则说明该TCP端口是开放的,UDP端口可能开放(因为有的实现中可能不回应ICMP不可达报文,即使该UDP端口没有开放)。   这样继续下去,便可以很容易地判断出目标计算机开放了哪些TCP或UDP端口,然后针对端口的具体数字,进行下一步攻击,这就是所谓的端口扫描攻击。   4. 利用TCP报文的标志进行攻击   在TCP报文的报头中,有以下几个标志字段: ● SYN:连接建立标志,TCP SYN报文就是把该标志设置为1来请求建立连接。 ● ACK:回应标志,在一个TCP连接中,除了第一个报文(TCP SYN)外,其他的所有报文都设置该字段,作为对上一个报文的回应。 ● FIN:结束标志,当一台计算机接收到一个设置了FIN标志的TCP报文后,将会拆除这个TCP连接。 ● RST:复位标志,当IP协议栈接收到一个目标端口不存在的TCP报文时,将会回应一个RST标志设置的报文。 ● PSH:通知协议栈尽快把TCP数据提交给上层程序进行处理。   在正常情况下,任何TCP报文都会设置SYN、FIN、ACK、RST和PSH 5个标志中的至少一个标志,第一个TCP报文(TCP连接请求报文)设置SYN标志,后续报文都设置ACK标志。有的协议栈基于这样的假设:没有针对不设置任何标志的TCP报文的处理过程,因此,这样的协议栈如果收到了不符合规范的报文时将会崩溃。攻击者利用这个特点对目标计算机进行攻击。   例如,在正常情况下,ACK标志在除了第一个报文之(SYN报文)外,所有的报文都设置了该标志,包括TCP连接拆除报文(FIN标志设置的报文)。但有的攻击者却可能向目标计算机发送设置了FIN标志却没有设置ACK标志的TCP报文,这样可能会导致目标计算机崩溃。   在正常情况下,SYN标志(连接请求标志)和FIN标志(连接拆除标志)不能同时出现在一个TCP报文中。而且RFC也没有规定IP协议栈如何处理这样的畸形报文,因此,各个操作系统的协议栈在收到这样的报文后的处理方式各不相同,攻击者即可利用这个特征,通过发送SYN和FIN同时设置的报文来判断操作系统的类型,然后针对该操作系统进行进一步的攻击。   5. 分片IP报文攻击   为了传送一个大的IP报文,IP协议栈需要根据链路接口的MTU对该IP报文进行分片,通过填充适当的IP头中的分片指示字段,接收计算机可以很容易的把这些IP分片报文组装起来。   目标计算机在处理这些分片报文时,将先到达的分片报文缓存起来,然后一直等待后续的分片报文,这个过程会消耗掉一部分内存以及一些IP协议栈的数据结构。如果攻击者给目标计算机只发送一片分片报文,而不发送所有的分片报文,这样,被攻击者的计算机将会一直等待(直到一个内部计时器到时),如果攻击者发送了大量的分片报文,就会消耗掉目标计算机的资源,而导致不能处理相应正常的IP报文,这也是一种DOS攻击。   6. 带源路由选项的IP报文   为了实现一些附加功能,IP协议规范在IP报头中增加了选项字段,这个字段可以有选择的携带一些数据,以指明中间设备(路由器)或最终目标计算机对这些IP报文进行额外的处理。   源路由选项便是其中的一个,从名字就可以看出,源路由选项的目的是指导中间设备(路由器)如何转发该数据报文,即明确指明了报文的传输路径,例如,让一个IP报文明确地经过3台路由器R1、R2和R3,则可以在源路由选项中明确指明这3个路由器的接口地址,这样不论3台路由器上的路由表如何,这个IP报文就会依次经过R1、R2和R3,而且这些带源路由选项的IP报文在传输的过程中,其源地址不断改变,目标地址也不断改变,因此,通过设置源路由选项,攻击者便可以伪造一些合法的IP地址而蒙混进入网络。   记录路由选项也是一个IP选项,携带了该选项的IP报文每经过一台路由器,该路由器便把自己的接口地址添加到选项字段中。这样,这些报文在到达目的地时,选项数据中便记录了该报文经过的整个路径。通过这样的报文可以很容易地判断该报文所经过的路径,从而使攻击者可以很容易地寻找到其中的攻击弱点。   7. IP地址欺骗   一般情况下,路由器在转发报文时,只根据报文的目的地址查路由表,而不管报文的源地址是什么,因此,这样就可能面临一种危险:如果攻击者向一台目标计算机发出一个报文,而把报文的源地址填写为第三方的IP地址,这样,这个报文在到达目标计算机时,目标计算机有可能向毫无知觉的第三方计算机进行回应,这就是所谓的IP地址欺骗攻击。   例如,比较著名的SQL Server蠕虫病毒,就是采用了这种原理。该病毒(可以理解为一个攻击者)向一台运行SQL Server解析服务的服务器发送一个解析服务的UDP报文,该报文的源地址设置为另外一台运行SQL Server解析程序(SQL Server 2000以后版本)的服务器,这样,由于SQL Server 解析服务的一个漏洞,就可能使得该UDP报文在这两台服务器之间往复,最终导致服务器或网络瘫痪。   8. 针对路由协议的攻击   网络设备之间为了交换路由信息,常常需要运行一些动态的路由协议,这些路由协议可以完成诸如路由表的建立,路由信息的分发等功能。常见的路由协议有RIP、OSPF、IS-IS和BGP等。这些路由协议在方便路由信息管理和传递的同时,也存在一些缺陷,如果攻击者利用了路由协议的这些权限对网络进行攻击,可能造成网络设备路由表紊乱(这足可以导致网络中断),网络设备资源大量消耗,甚至导致网络设备瘫痪。下面列举一些常见路由协议的攻击方式和原理:   (1) 针对RIP协议的攻击   RIP,即路由信息协议,是通过周期性(一般情况下为30s)的路由更新报文来维护路由表,一台运行RIP路由协议的路由器,如果从一个接口上接收到了一个路由更新报文,它就会分析其中包含的路由信息,并与自己的路由表进行比较,如果该路由器认为这些路由信息比自己所掌握的更有效,它就把这些路由信息引入自己的路由表中。   这样,如果一个攻击者向一台运行RIP协议的路由器发送了人为构造的带破坏性的路由更新报文,就很容易把路由器的路由表弄紊乱,从而导致网络中断。如果运行RIP路由协议的路由器启用了路由更新信息的HMAC验证,则可以从很大程度上避免这种攻击。   (2) 针对OSPF路由协议的攻击   OSPF,即开放最短路径优先,是一种应用广泛的链路状态路由协议。该路由协议基于链路状态算法,具有收敛速度快、平稳、杜绝环路等优点,十分适用于大型的计算机网络。OSPF路由协议通过建立邻接关系来交换路由器的本地链路信息,然后形成一个整个网络的链路状态数据库,针对该数据库,路由器即可轻易地计算出路由表。   可以看出,如果一个攻击者冒充一台合法路由器与网络中的一台路由器建立邻接关系,并向攻击路由器输入大量的链路状态广播(LSA,组成链路状态数据库的数据单元),就会引导路由器形成错误的网络拓扑结构,从而导致整个网络的路由表紊乱,使整个网络瘫痪。   当前版本的Windows操作系统(Windows 2000/XP等)都实现了OSPF路由协议功能,因此,一个攻击者可以很容易的利用这些操作系统自带的路由功能模块来进行攻击。   与RIP类似,如果OSPF启用了报文验证功能(HMAC验证),则可以从很大程度上避免这种攻击。   (3) 针对IS-IS路由协议的攻击   IS-IS路由协议,即中间系统到中间系统,是ISO提出来对ISO的CLNS网络服务进行路由的一种协议,这种协议也是基于链路状态的,原理与OSPF类似。IS-IS路由协议经过扩展,可以运行在IP网络中,对IP报文进行路由选择。这种路由协议也是通过建立邻接关系、收集路由器本地链路状态的手段来完成链路状态数据库的同步。该协议的邻接关系的建立比OSPF简单,而且也省略了OSPF特有的一些特性,使该协议简单明了,伸缩性更强。   对该协议的攻击与OSPF类似,通过一种模拟软件与运行该协议的路由器建立邻接关系,然后传送给攻击路由器大量的链路状态数据单元(LSP),可以导致整个网络路由器的链路状态数据库不一致(因为整个网络中所有路由器的链路状态数据库都需要同步到相同的状态),从而导致路由表与实际情况不符,致使网络中断。   与OSPF类似,如果运行该路由协议的路由器启用了IS-IS协议单元(PDU)HMAC验证功能,则可以从很大程度上避免这种攻击。   9. 针对设备转发表的攻击   为了合理有限地转发数据,网络设备上一般都建立有一些寄存器表项,例如,MAC地址表、ARP表、路由表、快速转发表,以及一些基于更多报文头字段的表格,例如:多层交换表,流项目表等。这些表结构都存储在本地设备的内存中,或者芯片的片上内存中,数量有限。如果一个攻击者通过发送合适的数据报,促使设备建立大量的此类表格,就会使设备的存储结构消耗尽,从而不能正常地转发数据甚至崩溃。   下面针对几种常见的表项,介绍其攻击原理:   (1) 针对MAC地址表的攻击   MAC地址表一般存储在以太网交换机上,以太网通过分析接收到的数据帧的目的MAC地址来查看本地的MAC地址表,然后作出合适的转发决定。这些MAC地址表一般是通过学习获取的,交换机在接收到一个数据帧后,有一个学习的过程,该过程如下: ● 提取数据帧的源MAC地址和接收到该数据帧的端口号。 ● 搜索MAC地址表,确定该MAC地址是否存在,以及对应的端口是否相符合。 ● 如果该MAC地址在本地MAC地址表中不存在,则创建一个MAC地址表项。 ● 如果该MAC地址存在,但是对应的出端口与接收到该数据帧的端口不符,则更新该表。 ● 如果该MAC地址存在,并且端口符合,则进行下一步处理。   分析这个过程可以看出,如果一个攻击者向一台交换机发送大量源MAC地址不同的数据帧,则该交换机就可能把本地的MAC地址表填满。一旦MAC地址表溢出,则交换机就不能继续学习正确的MAC表项,结果可能产生大量的网络冗余数据,甚至可能导致交换机崩溃。而构造一些源MAC地址不同的数据帧,是非常容易的事情。   (2) 针对ARP表的攻击   ARP表是IP地址和MAC地址的映射关系表,为了避免ARP解析而造成的广播数据报文对网络造成冲击,任何实现了IP协议栈的设备,一般情况下都通过该表维护IP地址和MAC地址的对应关系。ARP表的建立主要通过以下两个途径: ● 主动解析:如果一台计算机需要与另外一台不知道MAC地址的计算机进行通信,则该计算机主动发送ARP请求,通过ARP协议建立ARP表(前提是这两台计算机位于同一个IP子网上)。 ● 被动请求:如果一台计算机接收到另一台计算机的ARP请求,则首先在本地建立请求计算机的IP地址和MAC地址的对应表。   因此,如果一个攻击者通过变换不同的IP地址和MAC地址向同一台设备例如3层交换机发送大量的ARP请求,则被攻击设备可能会因为ARP缓存溢出而崩溃。   针对ARP表项,还有一个可能的攻击就是,误导计算机建立正确的ARP表。根据ARP协议,如果一台计算机接收到一个ARP请求报文,在满足下列两个条件的情况下,该计算机会用ARP请求报文中的源IP地址和源MAC地址更新自己的ARP缓存: ● 如果发起该ARP请求的IP地址在本地的ARP缓存中。 ● 请求的目标IP地址不是本地的。   可以举一个例子来说明这个过程,假设有3台计算机:A、B和C,其中,B已经正确建立了A和C计算机的ARP表项。假设A是攻击者,此时,A发出一个ARP请求报文,该请求报文按照以下步骤进行构造: ● 源IP地址是C的IP地址,源MAC地址是A的MAC地址。 ● 请求的目标IP地址是A的IP地址。   这样,计算机B在接收到这个ARP请求报文后(ARP请求是广播报文,网络上所有设备都能收到),发现B的ARP表项已经在本地的缓存中,但是MAC地址与收到的请求的源MAC地址不符,于是根据ARP协议,使用ARP请求的源MAC地址(即A的MAC地址)更新自己的ARP表。   这样,B的ARP内存中就存在这样的错误ARP表项:C的IP地址与A的MAC地址对应。这样做的结果是,B发送给C的数据都被计算机A接收到。   (3) 针对流项目表的攻击   有的网络设备为了加快转发效率,建立了所谓的流缓存。所谓流,即一台计算机的某个进程到另外一台计算机的某个进程之间的数据流。如果表现在TCP/IP协议上,则是由(源IP地址、目的IP地址、协议号、源端口号和目的端口号)五元组共同确定的所有数据报文。   一个流缓存表一般由该五元组为索引,每当设备接收到一个IP报文后,将会首先分析IP报头,把对应的五元组数据提取出来,进行一个HASH运算,然后根据运算结果查找流缓存,如果查找成功,则根据查找的结果进行处理;如果查找失败,则新建一个流缓存项,查找路由表,根据路由表查询结果将这个流缓存填写完整,然后对数据报文进行转发(具体转发是在流项目创建前还是创建后并不重要)。   可以看出,如果一个攻击者发出大量的源IP地址或者目的IP地址变化的数据报文,就可能导致设备创建大量的流项目,因为不同的源IP地址和不同的目标IP地址对应不同的流。这样可能导致流缓存溢出。   10. Script/ActiveX攻击   Script是一种可执行的脚本,它一般由一些脚本语言写成,例如常见的Java Script,VB Script等。在执行这些脚本时,需要一个专门的解释器来翻译,这些程序被翻译成计算机指令后,在本地计算机上运行。这种脚本的好处是:可以通过少量的程序写作完成大量的功能。   这种Script的一个重要应用就是嵌入到Web页面里面,执行一些静态Web页面标记语言(HTML)无法完成的功能,例如本地计算、数据库查询和修改,以及系统信息的提取等。这些脚本在带来方便和强大功能的同时,也为攻击者提供了方便的攻击途径。如果攻击者写一些对系统有破坏的Script,然后嵌入到Web页面中,一旦这些页面被下载到本地,计算机便以当前用户的权限执行这些脚本,这样,当前用户所具有的任何权限,Script都可以使用,可以想象这些恶意的Script的破坏程度有多强,这就是所谓的Script攻击。   ActiveX是一种控件对象,它建立在微软的组件对象模型(COM)之上,而COM则几乎是Windows操作系统的基础结构。这些控件对象由方法和属性构成,方法就是一些操作,而属性则是一些特定的数据。这种控件对象可以被应用程序加载,然后访问其中的方法或属性,以完成一些特定的功能。可以说,COM提供了一种二进制的兼容模型(所谓二进制兼容,指的是程序模块与调用的编译环境和操作系统没有关系)。但需要注意的是,这种对象控件不能自己执行,因为它没有自己的进程空间,而只能由其他进程加载,并调用其中的方法和属性,这时候,这些控件便在加载进程的进程空间中运行,类似于操作系统的可加载模块,例如DLL库。   ActiveX控件可以嵌入到Web页面中,当浏览器下载这些页面到本地后,相应地也下载了嵌入在其中的ActiveX控件,这样,这些控件便可以在本地浏览器进程空间中进行运行(ActiveX空间没有自己的进程空间,只能由其他进程加载并调用),因此,当前用户的权限有多大,ActiveX的破坏性便有多大。如果一个恶意的攻击者编写一个含有恶意代码的ActiveX控件,然后嵌入到Web页面中,当这个ActiveX控件被一个浏览用户下载并执行后,其破坏作用是非常巨大的,这就是所谓的ActiveX攻击。 12.1.3 网络安全的目标   网络安全通常指的是网络信息的安全,包括存储信息的安全和传输信息的安全两个方面的内容,因此,网络安全的目标就是保护网络信息存放的安全和在网络传输过程中的安全,也就是防止网络信息被非授权地访问、非法地修改和破坏。具体地说,网络信息应该满足以下5个网络安全目标。 ● 机密性   信息不被泄露给非授权用户、实体或过程,或供其利用的特性。对于个人而言,信息的机密性就是防止个人隐私不被侵犯、保护自身权利的重要保证。 ● 完整性   信息未经授权不能进行改变的特性,即信息在存储或传输过程中保持不被修改、不被破坏的特性。通俗地讲,信息的完整性就是保证信息在从信源到信宿传输过程前后的一致性。 ● 可用性   可用性指的是信息可被授权用户或实体访问并按需求进行使用的特性,即当需要时能否存取所需的信息,例如,网络环境下拒绝服务、破坏网络和有关系统的正常运行等都属于对可用性的攻击。 ● 真实性   信息的真实性是保证信息来源正确,并防止信息伪造的特性,即对于由信息发送者A发往信息接受者B的信息C而言,信息的真实性保证了信息C是来源于信息发送者A,而不是其他的发送者。 ● 不可否认性   信息的不可否认性指的是建立有效的责任机制,防止用户或实体否认其行为的特性。举例来说,对于由信息发送者A发往信息接受者B的信息C而言,信息的不可否认性使得信息发送者A不能抵赖曾经向信息接送者B发送过信息C。 12.1.4 网络安全防范的主要内容   一个安全的计算机网络应该具有可靠性、可用性、完整性、保密性和真实性等特点。计算机网络不仅要保护计算机网络设备的安全和计算机网络系统的安全,还要保护数据安全等。因此,针对计算机网络本身可能存在的安全问题,实施网络安全保护方案以确保计算机网络自身的安全性,是每一个计算机网络都要认真对待的一个重要问题。网络安全防范的重点主要有两个方面:一是计算机病毒,二是黑客犯罪。   计算机病毒是我们都比较熟悉的一种危害计算机系统和网络安全的破坏性程序。黑客犯罪指的是个别人利用计算机高科技手段,盗取密码以侵入他人计算机网络,非法获得信息、盗用特权等,例如非法转移银行资金、盗用他人银行账号进行购物等。随着网络经济的发展和电子商务的展开,严防黑客入侵、切实保障网络交易的安全,不仅关系到个人的资金安全和商家的货物安全,还关系到国家的经济安全和国家经济秩序的稳定问题,因此各级组织和部门必须给予高度重视。 12.2 网络安全防范体系   ITU-T X.800标准将我们常说的“网络安全(network security)”进行逻辑上的分别定义,安全攻击(security attack)指的是损害机构所拥有信息的安全的任何行为;安全机制(security mechanism)指的是设计用于检测、预防安全攻击或者恢复系统的机制;安全服务(security service)指的是采用一种或多种安全机制以抵御安全攻击、提高机构的数据处理系统安全和信息传输安全的服务。   为了有效地实现网络安全,有必要建立一些系统的方法来进行网络安全防范。 12.2.1 网络安全体系结构   网络安全防范体系的科学性和可行性是其可顺利实施的保障。如图12-1所示给出了基于DISSP扩展的一个三维安全防范技术体系框架结构,第一维是安全服务,给出了8种安全属性(ITU-T REC-X.800-199103-I);第二维是系统单元,给出了信息网络系统的组成;第三维是结构层次,给出并扩展了国际标准化组织ISO的开放系统互联(OSI)模型。   框架结构中的每一个系统单元都对应于某一个协议层次,需要采取若干种安全服务才能保证该系统单元的安全。网络平台需要有网络节点之间的认证和访问控制,应用平台需要有针对用户的认证和访问控制,需要保证数据传输的完整性和保密性,需要有抗抵赖和审计的功能,需要保证应用系统的可用性和可靠性。针对一个信息网络系统,如果在各个系统单元都有相应的安全措施来满足其安全需求,则该信息网络被认为是安全的。 图12-1 三维安全防范技术体系框架 12.2.2 网络安全防范体系层次   全方位的、整体的网络安全防范体系也是分层次的,不同的层次反映了不同的安全问题,根据网络的应用现状情况和网络的结构,我们将安全防范体系的层次划分为物理层安全、系统层安全、网络层安全、应用层安全和安全管理5个层次,如图12-2所示。   1. 物理环境的安全性(物理层安全)   该层次的安全包括通信线路的安全、物理设备的安全和机房的安全等。物理层的安全主要体现在通信线路的可靠性(例如线路备份、网管软件、传输介质)、软硬件设备安全性(例如:替换设备、拆卸设备、增加设备)、设备的备份、防灾害能力、防干扰能力、设备的运行环境(温度、湿度、烟尘)、不间断电源保障等。   2. 操作系统的安全性(系统层安全)   该层次的安全问题来自网络内使用的操作系统的安全,例如Windows NT/2000/XP等。主要表现在3个方面:一是操作系统本身的缺陷所带来的不安全因素,主要包括身份认证、访问控制和系统漏洞等;二是对操作系统的安全配置问题;三是病毒对操作系统的威胁。   3. 网络的安全性(网络层安全)   该层次的安全问题主要体现在网络方面的安全性,包括网络层身份认证、网络资源的访问控制、数据传输的保密与完整性、远程接入的安全、域名系统的安全、路由系统的安全、入侵检测的手段和网络设施防病毒等。   4. 应用的安全性(应用层安全)   该层次的安全问题主要由提供服务所采用的应用软件和数据的安全性产生,主要包括Web服务、电子邮件系统和DNS等,此外,还包括病毒对系统的威胁。   5. 管理的安全性(管理层安全)   安全管理包括安全技术和设备的管理、安全管理制度、部门与人员的组织规则等。管理的制度化极大程度地影响着整个网络的安全,严格的安全管理制度、明确的部门安全职责划分、合理的人员角色配置都可以在很大程度上降低其他层次的安全漏洞。 12.2.3 网络安全防范体系设计准则   根据防范安全攻击的安全需求、需要达到的安全目标、相应安全机制所需要的安全服务等因素,参照SSE-CMM(系统安全工程能力成熟模型)和ISO17799(信息安全管理标准)等国际标准,综合考虑可实施性、可管理性、可扩展性、综合完备性、系统均衡性等方面,网络安全防范体系在整体设计过程中应遵循以下9项原则:   1. 网络信息安全的木桶原则   网络信息安全的木桶原则指的是对信息均衡全面的进行保护。“木桶的最大容积取决于最短的一块木板”。网络信息系统是一个复杂的计算机系统,它本身在物理上、操作上和管理上的种种漏洞构成了系统的安全脆弱性,尤其是多用户网络系统自身的复杂性、资源共享性,使单纯的技术保护防不胜防。攻击者使用的“最易渗透原则”,必然对系统中最薄弱的地方进行攻击。因此,充分、全面、完整地对系统的安全漏洞和安全威胁进行分析,评估和检测(包括模拟攻击)是设计信息安全系统的必要前提条件。安全机制和安全服务设计的首要目的是防止最常用的攻击手段,根本目的是提高整个系统的“安全最低点”的安全性能。   2. 网络信息安全的整体性原则   该原则要求在网络发生被攻击、破坏事件的情况下,必须尽可能地快速恢复网络信息中心的服务,以减少损失,因此,信息安全系统应该包括安全防护机制、安全检测机制和安全恢复机制。安全防护机制指的是根据具体系统存在的各种安全威胁采取的相应的防护措施,避免非法攻击的进行。安全检测机制指的是检测系统的运行情况,及时发现并制止对系统进行的各种攻击。安全恢复机制指的是在安全防护机制失效的情况下,进行应急处理和尽量、及时地恢复信息,减少供给的破坏程度。   3. 安全性评价与平衡原则   对于任何网络,绝对安全是无法达到的,也不一定是必要的,所以需要建立合理的实用安全性与用户需求评价与平衡体系。安全体系设计要正确处理需求、风险与代价的关系,做到安全性与可用性相容,做到组织上可执行。评价信息是否安全,没有绝对的评判标准和衡量指标,只能决定于系统的用户需求和具体的应用环境,具体取决于系统的规模和范围,系统的性质和信息的重要程度等。   4. 标准化与一致性原则   系统是一个庞大的系统工程,它的安全体系的设计必须遵循一系列的标准,这样才能确保各个分系统的一致性,使整个系统安全地互联互通以进行信息共享。   5. 技术与管理相结合原则   安全体系是一个复杂的系统工程,涉及人、技术、操作等要素,单靠技术或管理都不可能实现,因此,必须将各种安全技术与运行管理机制、人员思想教育与技术培训、安全规章制度建设结合起来。   6. 统筹规划、分步实施原则   由于政策规定和服务需求的不清晰,以及环境、条件和时间的变化,攻击手段的进步,安全防护不可能一步到位,可以在一个比较全面的安全规划下,根据网络的实际需要,首先建立基本的安全体系,保证基本的、必需的安全性。随着今后网络规模的扩大及应用的增加,网络应用和复杂程度的变化,网络脆弱性也会不断增加,这时需要调整或增强安全防护力度,保证整个网络最根本的安全需求。   7. 等级性原则   等级性原则指的是安全层次和安全级别。良好的信息安全系统必然是分为不同的等级,包括对信息保密程度分级,对用户操作权限分级,对网络安全程度分级(安全子网和安全区域),对系统实现结构的分级(应用层、网络层、链路层等),从而针对不同级别的安全对象,提供全面、可选的安全算法和安全体制,以满足网络中不同层次的各种实际需求。   8. 动态发展原则   要根据网络安全的变化不断调整安全措施,适应新的网络环境,满足新的网络安全需求。   9. 易操作性原则   首先,安全措施需要人去完成,如果措施过于复杂,对人的要求过高,本身就降低了安全性;其次,措施的采用不能影响系统的正常运行。 12.2.4 网络安全防范策略   安全策略概略说明什么资产是值得保护和什么行动或不行动将威胁资产,所以安全策略是安全的基础,策略将会权衡预期的威胁对个人的生产力和效率的破坏程度,根据价值不同确认保护水平,安全策略的制定是网络安全的前提,网络安全策略确定了结构中预期计算机的适当配置、使用的网络和用以防止与回应安全事件程序。   1. 物理安全策略   物理安全策略的目的是保护计算机系统、网络服务器、打印机等硬件实体和通信链路免受自然灾害、人为破坏和搭线攻击;验证用户的身份和使用权限、防止用户越权操作;确保计算机系统有一个良好的电磁兼容工作环境;建立完备的安全管理制度,防止非法进入计算机控制室和各种偷窃、破坏活动的发生。   抑制和防止电磁泄漏(即TEMPEST技术)是物理安全策略的一个主要问题。目前主要的防护措施有两类:一类是对传导发射的防护,主要是对电源线和信号线加装性能良好的滤波器,减小传输阻抗和导线间的交叉耦合;另一类是对辐射的防护,这类防护措施又可分为两种,一是采用各种电磁屏蔽措施,例如对设备的金属屏蔽和各种接插件的屏蔽,同时对机房的下水管、暖气管和金属门窗进行屏蔽和隔离,二是干扰的防护措施,即在计算机系统工作的同时,利用干扰装置产生一种与计算机系统辐射相关的伪噪声向空间辐射,以掩盖计算机系统的工作频率和信息特征。   2. 访问控制策略   访问控制是网络安全防范和保护的主要策略,它的主要任务是避免网络资源被非法使用和非常访问,它也是维护网络系统安全和保护网络资源的重要手段。各种安全策略必须相互配合才能真正起到保护作用,其中,访问控制可以说是保证网络安全最重要的核心策略之一。以下将分别叙述各种访问控制策略。   (1) 入网访问控制   入网访问控制为网络访问提供了第一层访问控制。它控制哪些用户可以登录到服务器并获取网络资源,控制准许用户入网的时间和准许他们在哪台工作站入网。   用户的入网访问控制可分为3个步骤:用户名的识别与验证、用户口令的识别与验证、用户账号的默认限制检查。3道关卡中只要任何一关未过,该用户便不能进入该网络。   对网络用户的用户名和口令进行验证是防止非法访问的第一道防线。用户注册时,首先输入用户名和口令,服务器将验证所输入的用户名是否合法。如果验证合法,再继续验证用户输入的口令;否则,用户将被拒绝在网络之外。用户的口令是用户入网的关键所在。为保证口令的安全性,用户口令不能显示在显示屏幕上,口令长度不应少于6个字符,口令字符最好是数字、字母和其他字符的组合,用户口令必须经过加密。用户还可采用一次性用户口令,也可以使用便携式验证器(如智能卡)来验证用户的身份。   网络管理员应该可以控制和限制普通用户的账号使用、访问网络的时间和方式。用户名或用户账号是所有计算机系统中最基本的安全形式。用户账号只有系统管理员才能建立。用户口令则是每个用户访问网络所必须提交的“证件”、用户可以修改自己的口令,但是系统管理员应该可以控制口令的以下几个方面的限制:最小口令长度、强制修改口令的时间间隔、口令的唯一性、口令过期失效后允许入网的宽限次数。   用户名和口令验证有效之后,再进一步履行用户账号的默认限制检查。网络应能控制用户登录入网的站点、限制用户入网的时间、限制用户入网的工作站数量。当用户对交费网络的访问“资费”用尽时,网络还应当能对用户的账号加以限制,用户此时将无法进入网络访问网络资源。网络应对所有的用户访问进行审计。如果多次输入口令不正确,则认为是非法用户的入侵,应当给出报警信息。   (2) 网络的权限控制   网络的权限控制是针对网络非法操作所提出的一种安全保护措施。用户和用户组被赋予一定的权限。网络控制用户和用户组可以访问哪些目录、子目录、文件和其他资源,可以指定用户对这些文件、目录、设备能够执行哪些操作。受托者指派和继承权限屏蔽(IRM)可作为它的两种实现方式。受托者指派控制用户和用户组如何使用网络服务器的目录、文件和设备。继承权限屏蔽相当于一个过滤器,可以限制子目录从父目录那里继承哪些权限。根据访问权限可以将用户分为以下几类: ● 特殊用户(即系统管理员)。 ● 一般用户,系统管理员根据实际需要为他们分配操作权限。 ● 审计用户,负责网络的安全控制与资源使用情况的审计,用户对网络资源的访问权限可以用一个访问控制表进行描述。   (3) 目录级安全控制   网络应当允许控制用户对目录、文件和设备的访问。用户在目录一级指定的权限对所有文件和子目录都有效,用户还可进一步指定目录下的子目录和文件的权限。对目录和文件的访问权限一般有8种:系统管理员权限(Supervisor)、读权限(Read)、写权限(Write)、创建权限(Create)、删除权限(Erase)、修改权限(Modify)、文件查找权限(File Scan)和存取控制权限(Access Control)。用户对文件或目标的有效权限取决于以下三个因素:用户的受托者指派、用户所在组的受托者指派、继承权限屏蔽取消的用户权限。一个网络系统管理员应当为用户指定适当的访问权限,这些访问权限控制着用户对服务器的访问。8种访问权限的有效组合可以使用户有效地完成工作,同时又能有效地控制用户对服务器资源的访问,从而加强网络和服务器的安全性。   (4) 属性安全控制   当使用文件、目录和网络设备时,网络系统管理员应当为文件、目录等设置访问属性。属性安全控制可以将给定的属性与网络服务器的文件、目录和网络设备联系起来。属性安全在权限安全的基础上,提供更进一步的安全性。网络上的资源都应预先标出一组安全属性。用户对网络资源的访问权限对应于一张访问控制表,用以表明用户对网络资源的访问能力。属性设置可以覆盖已经指定的任何受托者指派和有效权限。属性往往能控制以下几个方面的权限:向某个文件写数据、拷贝一个文件、删除目录或文件、查看目录和文件、执行文件、隐含文件、共享、系统属性等。网络的属性可以保护重要的目录和文件,防止用户对目录和文件的误删除、执行修改和显示等。   (5) 网络服务器安全控制   网络允许在服务器控制台上执行一系列的操作。用户使用控制台可以装载和卸载模块,安装和删除软件等。网络服务器的安全控制包括:可以设置口令锁定服务器控制台,以防止非法用户修改、删除重要的信息或破坏数据;可以设置服务器登录时间限制、非法访问者检测和关闭的时间间隔。   (6) 网络监测和锁定控制   网络管理员应对网络实施监控,服务器应记录用户对网络资源的访问,对非法的网络访问,服务器应当以图形或文字或声音等形式进行报警,以引起网络管理员的注意。如果不法之徒试图进入网络,网络服务器应当会自动记录企图尝试进入网络的次数,如果非法访问的次数达到所设置数值后,该账户将被自动锁定。   (7) 网络端口和节点的安全控制   网络中服务器的端口往往使用自动回呼设备、静默调制解调器加以保护,并以加密的形式来识别节点的身份。自动回呼设备用于防止假冒合法用户,静默调制解调器用于防范黑客的自动拨号程序对计算机进行攻击。网络还经常对服务器端和用户端采取控制,用户必须携带证实身份的验证器(例如智能卡、磁卡、安全密码发生器)。在对用户的身份进行验证之后,才允许用户进入用户端,然后,用户端和服务器端再进行相互验证。   3. 信息加密策略   信息加密的目的是保护网内的数据、文件、口令、控制信息和网上传输的数据。网络加密常用的方法有链路加密、端点加密和节点加密3种。链路加密的目的是保护网络节点之间的链路信息安全;端点加密的目的是对源端用户到目的端用户的数据进行保护;节点加密的目的是对源节点到目的节点之间的传输链路进行保护。用户可以根据网络情况需求酌情选择上述加密方式。   信息加密过程是由形形色色的加密算法来具体实施的,它以很小的代价提供巨大的安全保护。在多数情况下,信息加密是保证信息机密性的唯一方法。据不完全统计,到目前为止,已经公开发表的各种加密算法多达数百种。如果按照收发双方密钥是否相同进行分类,可以将这些加密算法分为常规密码算法和公钥密码算法两种。   在常规的密码中,收信方和发信方使用相同的密钥,即加密密钥和解密密钥是相同或等价的。比较著名的常规密码算法有:美国的DES及其各种变形,例如:Triple DES、GDES、New DES和DES的前身Lucifer;欧洲的IDEA;日本的FEAL-N、LOKI-91、Skipjack、RC4、RC5以及以代换密码和转轮密码为代表的古典密码等。在众多的常规密码中,影响最大的是DES密码。   常规密码的优点是:有很强的保密强度,且经受住时间的检验和攻击。但是它的密钥必须通过安全的途径进行传送,因此,它的密钥管理成为系统安全的重要因素。   在公钥密码中,收信方和发信方使用的密钥互不相同,并且几乎不可能从加密密钥推导出解密密钥。比较著名的公钥密码算法有:RSA、背包密码、McEliece密码、Diffe-Hellman、Rabin、Ong-Fiat-Shamir、零知识证明的算法、椭圆曲线、EIGamal算法等。最有影响的公钥密码算法是RSA,它能够抵抗目前已知的所有密码攻击。   公钥密码的优点是,可以适应网络的开放性要求,且密钥管理问题较为简单,尤其是可以方便地实现数字签名和验证。但是它的算法复杂,加密数据的速率较低,尽管如此,随着现代电子技术和密码技术的发展,公钥密码算法将是一种很有前途的网络安全加密体制。   当然,在实际应用中,人们通常将常规密码和公钥密码结合起来使用,例如:利用DES或IDEA来加密信息,而采用RSA来传递会话密钥。如果按照每次加密所处理的比特进行分类,可以将加密算法分为序列密码和分组密码两种。前者每次只加密一个比特,而后者则先将信息序列进行分组,每次处理一个组。 密码技术是网络安全最有效的技术之一。一个加密网络,不但可以防止非授权用户的搭线窃听和入网,而且也是对付恶意软件的有效方法之一。   4. 防病毒技术   随着计算机技术的不断发展,计算机病毒也变得越来越复杂和高级,对整个计算机系统造成了非常大的威胁。加强防病毒的工作能够有利于保证本地或者网络的安全。防病毒软件从功能上可以分为网络防病毒软件和单机防病毒软件两大类。单机防病毒软件一般安装在单台PC机器上,对整个PC机器起到了清楚病毒、分析扫描等作用。而网络防病毒软件则能够保护整个网络,避免遭到病毒的攻击。   5. 防火墙技术   防火墙技术是网络安全防范的有效方法之一,配置防火墙是达到实现网络安全最基本、最经济、最有效的安全措施之一。防火墙可以有硬件和软件两种,它对内部网络访问及管理内部用户访问外界网络的权限进行了规范。防火墙技术能够极大提高一个网络的安全性,降低网络崩溃的危险系数。   6. 网络入侵检测技术   入侵检测是从多种计算机系统及网络中收集信息,再通过这些信息分析入侵特征。它被称为是防火墙后的第二道门,可以使得入侵在入侵攻击之前被检测出来,并通过报警与防护系统将入侵拒绝,从而尽量减少被攻击。入侵技术是为保证计算机系统的安全而设计与配置的一种能够及时发现并报告系统中未授权或异常现象的技术,是一种用于检测计算机网络中违反安全策略行为的技术。   7. 网络安全管理策略   在网络安全中,除了采用上述安全技术措施之外,加强网络的安全管理,制定有关规章制度,对于确保网络的安全、可靠地运行,将起到十分有效的作用。   网络的安全管理策略包括:确定安全管理等级和安全管理范围;制订有关网络操作使用规程和人员出入机房管理制度;制定网络系统的维护制度和应急措施等。 12.3 网络安全技术   网络安全技术是一个十分复杂的系统工程。随着网络在社会各方面的应用,进入网络的手段也越来越多,因此,网络的安全机制与技术也要不断地发展变化,网络安全来源于安全策略与安全技术的结合。目前,主要的网络安全技术包括加密技术、防火墙、入侵检测技术等多方面,下面将分别重点介绍这几种技术。 12.3.1 防火墙   防火墙是近期发展起来的一种保护计算机网络安全的技术性措施,它是阻止网络中的黑客访问某个机构网络的屏障,也可以将它称为控制进/出两个方向通信的门槛。防火墙系统是一种网络安全部件,它可以是硬件,也可以是软件,也可能是硬件和软件的结合,这种安全部件处于被保护网络和其他网络的边界,接收被保护网络的进出数据流,并根据防火墙所配置的访问控制策略进行过滤或做出其他操作,防火墙系统不仅能够保护网络资源不受外部的侵入,而且还能够拦截从被保护网络向外传送有价值的信息。防火墙系统可以用于内部网络与Internet之间的隔离,也可以用于内部网络的不同网段的隔离,后者通常被称为Intranet防火墙。   1. 防火墙的分类   根据防火墙所采用技术的不同,可以将防火墙分为包过滤防火墙、代理防火墙、NAT和检测型防火墙4种。   (1) 包过滤防火墙   包过滤防火墙设置在网络层,可以在路由器上实现包过滤。首先,应该建立一定数量的信息过滤表,信息过滤表是以其收到的数据包头信息为基础而建成的。信息包头包含有数据包源IP地址、目的IP地址、传输协议类型(例如:TCP、UDP、ICMP等)、协议源端口号、协议目的端口号、连接请求方向、ICMP报文类型等。防火墙通过读取数据包中的地址信息来判断这些数据包是否来自可信任的安全站点,系统管理员也可以根据实际情况来灵活制定判断规则。当一个数据包满足过滤表中的规则时,则允许数据包通过防火墙,否则禁止通过防火墙。这种防火墙可以用于禁止外部的不合法用户对内部进行访问,也可以用于禁止访问某些服务类型。   包过滤技术的优点是简单实用,实现成本较低,在应用环境比较简单的情况下,能够以较小的代价在一定程度上保证网络系统的安全。   但是包过滤技术的缺陷也是明显的。包过滤技术是一种完全基于网络层的安全技术,只能根据数据包的来源、目标和端口等网络信息进行判断,无法识别基于应用层的恶意侵入,无法实施对应用层协议的处理,也无法处理UDP、RPC和动态的协议,例如,恶意的Java小程序和电子邮件中附带的病毒等。有经验的黑客能轻易地伪造IP地址,通过包过滤型防火墙。   (2) 代理防火墙   代理防火墙又被称为应用层网关级防火墙,它由代理服务器和过滤路由器组成,是目前比较流行的一种防火墙。它将过滤路由器和软件代理技术结合在一起。过滤路由器负责网络互联,并对数据进行严格选择,然后将已筛选的数据传送到代理服务器。代理服务器起到外部网络申请访问内部网络的中间转接作用,其功能类似于一个数据转发器,它主要用于控制哪些用户可以访问哪些服务类型。当外部网络向内部网络申请某种网络服务时,代理服务器接受申请,然后根据其服务类型、服务内容、被服务的对象、服务者申请的时间、申请者的域名范围等来决定是否接受此项服务,如果接受,它就向内部网络转发这项请求。代理防火墙无法快速支持一些新出现的业务(如多媒体)。目前较为流行的代理服务器软件是WinGate和Proxy Server。   代理型防火墙的优点是安全性较高,可以针对应用层进行检测和扫描,对付基于应用层的侵入和病毒都十分有效。其缺点是对系统的整体性能有较大的影响,而且,代理服务器必须针对客户机可能产生的所有应用类型逐一进行设置,增加了系统管理的复杂性。   (3) 网络地址转换—— NAT   网络地址转换用于将IP地址转换成临时的、外部的、注册的IP地址标准。它允许具有私有IP地址的内部网络访问因特网。它还意味着用户不需要为其网络中的每一台机器取得注册的IP地址。   NAT的工作过程为:在内部网络通过安全网卡访问外部网络时,将产生一个映射记录。系统将外出的源地址和源端口映射为一个伪装的地址和端口,使这个伪装的地址和端口通过非安全网卡与外部网络连接,对外隐藏了真实的内部网络地址。在外部网络通过非安全网卡访问内部网络时,它并不知道内部网络的连接情况,而只是通过一个开放的IP地址和端口来请求访问。   NAT防火墙根据预先定义好的映射规则来判断这个访问是否安全。当访问符合规则时,防火墙认为该访问是安全的,可以接受访问请求,也可以将连接请求映射到不同的内部计算机中。当访问不符合规则时,防火墙则认为该访问是不安全的,不能被接受,防火墙将屏蔽外部的连接请求。网络地址转换的过程对于用户来说是透明的,不需要用户进行任何设置,用户只需进行常规的操作即可。   (4) 监测型防火墙   监测型防火墙是新一代的产品,该技术实际已经超越了最初的防火墙定义。监测型防火墙能够对各层的数据进行主动的、实时的监测,在对这些数据加以分析的基础上,监测型防火墙能够有效地判断各层中的非法侵入,同时,检测型防火墙一般还附带有分布式探测器,这些探测器安置在各种应用服务器和其他网络的节点之中,不仅能够检测来自网络外部的攻击,同时,对来自内部的恶意破坏也有着极强的防范作用。据权威机构统计,在针对网络系统的攻击中,有相当比例的攻击来自网络内部,因此,监测型防火墙不仅超越了传统防火墙的定义,而且在安全性上也超越了前两代产品。   虽然监测型防火墙在安全性上已经超越了包过滤型和代理服务器型防火墙,但是,由于监测型防火墙技术的实现成本较高,也不易管理,所以,目前在实际应用中的防火墙产品仍然以第二代的代理型产品为主,但是在某些方面也已经开始使用监测型防火墙。基于对系统成本与安全技术成本的综合考虑,用户可以有选择性地使用某些监测型技术。这样,既能够保证网络系统的安全性需求,又能有效地控制安全系统的总拥有成本。   虽然防火墙是目前保护网络免遭黑客袭击的有效手段,但它也有明显的不足:无法防范除了通过防火墙之外的其他途径的攻击,不能防止来自内部变节者和不经心的用户们所带来的威胁,也不能完全防止所传送的已感染病毒的软件或文件,以及无法防范数据驱动型的攻击。   2. 常见防火墙产品   防火墙系统是一种网络安全部件,它可以是硬件,也可以是软件,也可能是硬件和软件的结合,以下是具有代表性的几种防火墙产品。   (1) Check Point的FireWall-1   Check Point的FireWall-1是业界内领先的Internet安全解决方案,它提供了最高级别的安全性,同时附带有访问控制、内容安全、身份验证和集成的网络地址转换(NAT)等功能。只有 FireWall-1才能够提供真正的Stateful Inspection技术,它支持行业内最广范围的应用程序集,包括IP电话(VoIP)和多媒体应用程序。FireWall-1也是第一个支持XML/SOAP和Microsoft Common Internet File System(CIFS)的企业防火墙。   FireWall-1支持预定的应用程序、服务和协议达120多种,既支持Internet网络的主要服务(例如Web Browser、E-mail、FTP、Telnet等)和基于TCP协议的应用程序,又支持基于PRC和UDP一类的非连接协议的应用程序。Fire Wall-1采用集中控制下的分布式客户机/服务器结构,性能好,且配置灵活。   FireWall-1能够使用户根据来源、目的地、用户特权和时间来控制对特定的 HTTP、SMTP或FTP资源的访问。FireWall-1 SmartDefense技术可以提供应用级的检查,以保护数据和应用服务器免受恶意Java和ActiveX applet的攻击。   FireWall-1的Stateful Inspection技术采用了一个检测模块(一个在网关上执行网络安全策略的软件引擎)。检测模块在不影响网络正常工作的前提下,采用抽取相关数据的方法对网络通信的各层进行监测,抽取部分数据(状态信息)并动态地保存起来作为以后制定安全决策的参考。检测模块支持多种协议和应用程序,并可以很容易地实现应用和服务的扩充。FireWall-1的状态监视技术的工作性能超过了传统防火墙达两倍以上。   (2) Juniper网络Netscreen   Netscreen防火墙是一种高性能的硬件防火墙,与其他的硬件防火墙有本质的区别。其他的硬件防火墙实际上是运行在PC平台上的一个软件防火墙,而Netscreen防火墙则是由ASIC芯片来执行防火墙的策略和数据加解密,因此它的速度比其他防火墙要快得多。从软件特性上来看,Netscreen防火墙是状态检测和应用代理混合的防火墙,对于大部分的应用,Netscreen防火墙是监测整个通信状态,如果发现通信状态不正常,便拒绝进入受保护的内部网络,对于FTP或H323等通信状态不好跟踪的服务,Netscreen防火墙通过应用代理来确保其服务安全。   Netscreen可以提供防火墙、VPN和流量控制与负载均衡等功能。   (3) 3COM OfficeConnect Firewall   3COM OfficeConnect Firewall可以非常有效的控制网络对互联网的使用,从而为中小型企业提供了廉价和高效的网络安全措施。   它使用全静态数据包检验技术,防止非法的网络接入和来自互联网的“拒绝服务”攻击。它还可以使得局域网上的公共服务器被互联网上的用户访问,但是又不会使局域网遭受攻击,但这种情况一般可以用于五十台电脑的中小型企业用户网络。另外,这种防火墙也支持NAT技术,可以在其上作NAT地址转换,从而可以节省IP地址所需的大量费用,并且其配置非常简单。   对于网络管理者来说,这款产品的最大优点就是维护相对简单。其缺点就是功能模块比较单一且可配置的选项不多。   (4) Cisco PIX防火墙   Cisco PIX是最具有代表性的硬件防火墙,在目前网络中运用非常之广泛,它属于状态监测型的防火墙。就性能方面来说,它是同类硬件防火墙产品中最好的,比较适合数据流量要求高的场合。   Cisco公司提供了集中式的防火墙管理工具Cisco Security Policy Manager。管理者可以通过这个管理工具,为整个网络设置不同级别的安全措施,虽然通过管理工具进行配置比较麻烦,但是从安全性方面来评价,它还是级别比较高的安全工具。 12.3.2 加密技术   数据加密技术是最基本的网络安全技术,被誉为信息安全的核心,最初主要用于确保数据在存储和传输过程中的保密性。它通过变换和置换等方法将被保护信息置换成密文,然后再进行信息的存储或传输,即使加密信息在存储或传输过程被非授权人员所获得,也可以保证这些信息不被其认知,从而达到保护信息的目的。该方法的保密性直接取决于所采用的密码算法和密钥长度。   计算机网络应用特别是电子商务应用的飞速发展,对数据完整性和身份鉴定技术提出了新的要求,数字签名和身份认证就是为了适应这种需要而在密码学中派生出来的新技术和新应用。数据传输的完整性通常通过数字签名的方式来实现,即数据的发送方在发送数据的同时利用单向的Hash函数或者其他信息文摘算法,计算出所传输数据的消息文摘,并将该消息文摘作为数字签名随数据一同发送。接收方在接收到数据的同时也收到该数据的数字签名,接收方使用相同的算法计算出所接收到的数据的数字签名,并将该数字签名和所接收到的数字签名进行比较,如果两者相同,则说明数据在传输过程中未被修改,数据完整性得到了保证。常用的消息文摘算法包括SHA、MD4和MD5等。   根据密钥类型的不同,可以将现代密码技术分为两类:对称加密算法(私钥密码体系)和非对称加密算法(公钥密码体系)。   在对称加密算法中,数据加密和解密采用的是同一个密钥,因此,其安全性依赖于所持有密钥的安全性。这种加密方法可简化加密处理的过程,信息交换双方都不必彼此研究和交换专用的加密算法。如果在交换阶段私有密钥未曾泄露,那么机密性和报文完整性就可以得到保证。对称加密算法的主要优点是加密和解密速度快,加密强度高,且算法公开,但其最大的缺点是实现密钥的秘密分发比较困难,在大量用户的情况下,密钥管理复杂,而且无法完成身份认证等功能,不便于应用于网络开放的环境中。目前最著名的对称加密算法有数据加密标准DES和欧洲数据加密标准IDEA等。   在公钥密码体系中,数据加密和解密采用不同的密钥,而且用加密密钥进行加密的数据,只有采用相应的解密密钥才能进行解密,更重要的是,从加密密码来求解解密密钥十分困难。在实际应用中,用户通常将密钥对中的加密密钥公开(称为公钥),而秘密持有解密密钥(称为私钥)。利用公钥体系可以方便地实现对用户的身份认证,即用户在信息传输前,首先使用所持有的私钥对传输的信息进行加密,信息接收者在收到这些信息之后,利用该用户向外公布的公钥进行解密,如果能够解开密码,说明信息确实是该用户所发送,这样就方便地实现了对信息发送方身份的鉴别和认证。在实际应用中,通常将公钥密码体系和数字签名算法结合使用,在保证数据传输完整性的同时完成对用户的身份认证。   目前的公钥密码算法都是基于一些复杂的数学难题,例如,目前广泛使用的RSA算法基于大整数因子分解这一著名的数学难题。目前常用的非对称加密算法包括整数因子分解(以RSA为代表)、椭圆曲线离散对数和离散对数(以DSA为代表)3种。公钥密码体系的优点是能够适应网络的开放性要求,密钥管理简单,并且可以方便地实现数字签名和身份认证等功能,它是目前电子商务等技术的核心基础。其缺点是算法复杂,加密数据的速度和效率较低,因此,在实际应用中,通常将对称加密算法和非对称加密算法结合起来使用,利用DES或IDEA等对称加密算法来进行大容量数据的加密,而采用RSA等非对称加密算法来传递对称加密算法所使用的密钥,通过这种方法,可以有效地提高加密的效率并能简化对密钥的管理。 12.3.3 入侵检测技术   网络入侵检测技术也称为网络实时监控技术,它通过硬件或软件对网络上的数据流进行实时检查,并与系统中的入侵特征数据库进行比较,一旦发现有被攻击的迹象,立刻根据用户所定义的动作做出反应,例如切断网络连接,或通知防火墙系统对访问控制策略进行调整,将入侵的数据包进行过滤等。   1. 入侵检测技术简介   网络入侵检测技术的特点是,利用网络监控软件或硬件对网络流量进行监控和分析,及时发现网络攻击的迹象并做出反应。入侵检测部件可以直接部署于受监控网络的广播网段,或者直接接收受监控网络旁路过来的数据流。在本质上,入侵检测系统是一种典型的“窥探设备”。它不跨接多个物理网段(通常只有一个监听端口),无须转发任何流量,只需要在网络上被动地、无声息地收集它所关心的报文即可,入侵检测/响应流程如图12-3所示。 图12-3 入侵检测/响应流程图   目前,IDS分析及检测入侵阶段一般通过以下几种技术手段进行分析:特征库匹配、基于统计的分析和完整性分析。其中,前两种方法用于实时的入侵检测,而完整性分析则用于事后分析。为了能够更有效地发现网络受攻击的迹象,网络入侵检测部件应当能够分析网络上所使用的各种网络协议,识别各种网络攻击行为。网络入侵检测部件对网络攻击行为的识别通常是通过网络入侵特征库来实现,这种方法有利于在出现了新的网络攻击手段时,方便地对入侵特征库加以更新,提高入侵检测部件对网络攻击行为的识别能力。一般入侵检测的主要方法如下所示:   1. 静态配置分析   静态配置分析通过检查系统的当前系统配置,例如系统文件的内容或者系统表,来检查系统是否已经或者可能会遭到破坏。静态是指检查系统的静态特征(系统配置信息),而不是系统中的活动。   采用静态分析方法主要有以下几方面的原因: ● 入侵者对系统攻击时可能会留下痕迹,通过检查系统的状态可以将入侵痕迹检测出来。    ● 系统管理员以及用户在建立系统时难免会出现一些错误或遗漏一些系统的安全性措施。 ● 另外,系统在遭受攻击后,入侵者可能会在系统中安装一些安全性后门以方便对系统进行进一步的攻击。   所以,静态配置分析方法需要尽可能了解系统的缺陷,否则入侵者只需要简单地利用那些系统中未知的安全缺陷就可以避开检测系统。   2. 异常性检测方法   异常性检测技术是一种在不需要操作系统及其防范安全性缺陷专门知识的情况下,就可以检测入侵者的方法,同时它也是检测冒充合法用户的入侵者的有效方法。但是,在许多环境中,为用户建立正常行为模式的特征轮廓以及对用户活动的异常性进行报警的门限值的确定都是比较困难的事,所以仅使用异常性检测技术不可能检测出所有的入侵行为。目前,这类入侵检测系统多采用统计或者基于规则描述的方法建立系统主体的行为特征轮廓:   (1) 统计性特征轮廓由主体特征变量的频度、均值以及偏差等统计量来描述,如SRI的下一代实时入侵检测专家系统,这种方法对特洛伊木马以及欺骗性的应用程序的检测非常有效。   (2) 基于规则描述的特征轮廓由一组用于描述主体每个特征的合法取值范围与其他特征的取值之间关系的规则组成(如TIM)。该方案还可以采用从大型数据库中提取规则的数据挖掘技术。   (3) 神经网络方法具有自学习、自适应能力,可以通过自学习提取正常的用户或系统活动的特征模式,避开选择统计特征这一难题。   3. 基于行为的检测方法   通过检测用户行为中那些与已知入侵行为模式类似的、或者利用系统中缺陷或间接违背系统安全规则的行为,来判断系统中的入侵活动。   目前基于行为的入侵检测系统只是在表示入侵模式的方式以及在系统的审计中检查入侵签名的机制上有所区别,主要可以分为基于专家系统、基于状态迁移分析和基于模式匹配等几类。这些方法的主要局限在于,只是根据已知的入侵序列和系统缺陷模式来检测系统中的可疑行为,而不能检测新的入侵攻击行为以及未知的、潜在的系统缺陷。入侵检测方法虽然能够在某些方面取得好的效果,但总体看来各有不足,因而越来越多的入侵检测系统都同时采用几种方法,以互补不足,共同完成检测任务。   4. 搭建一个基于网络的IDS   从功能上可以将入侵检测系统划分为4个基本部分:数据采集子系统、数据分析子系统、控制台子系统和数据库管理子系统。下面将介绍如何建立一个基于网络的入侵监测系统。   具体实现起来,一般都将数据采集子系统(又称探测器)和数据分析子系统在Linux或Unix平台上实现,我们将它称为数据采集分析中心;将控制台子系统在Windows NT/2000/XP等系统上实现,数据库管理子系统可以基于Access或其他功能更强大的数据库,通常与控制台子系统结合使用,我们称它为控制管理中心。可以按照以下步骤构建一个基本的入侵检测系统:   (1) 获取libpcap和tcpdump   数据采集机制是实现IDS的基础,否则,巧妇难为无米之炊,入侵检测就无从谈起。数据采集子系统位于IDS的最底层,其主要目的是从网络环境中获取事件,并向其他部分提供事件。   目前比较流行的做法是:使用libpcap和tcpdump,将网卡置于混杂模式,捕获某个网段上的所有数据流。   libpcap是Unix或Linux从内核捕获网络数据包的必备工具,它独立于系统的API接口,为底层网络监控提供一个可移植的框架,可用于网络统计收集、安全监控、网络调试等应用。   tcpdump是用于网络监控的工具,它的实现基于libpcap接口,包括过滤转换、包获取和包显示等功能。tcpdump可以帮助用户描述系统的正常行为,并最终识别出那些不正常的行为,当然,它只是有益于收集关于某网段上的数据流(网络流类型、连接等)信息,至于分析网络活动是否正常,则是程序员和管理员所要做的工作。   (2) 构建并配置探测器,实现数据采集功能   应当根据网络的具体情况,选用合适的软件和硬件设备,如果用户的网络数据流量很小,使用一般的PC机安装Linux即可;如果所监控的网络流量非常大,则需要使用一台性能较高的机器。在Linux服务器上开出一个日志分区,用于采集数据的存储。然后,在Linux服务器上创建libpcap库,并配置和安装tcpdump,以实现数据的采集。   如果配置、创建、安装等操作一切正常,到此为止,系统已经能够收集网络数据流了。至于如何安装和使用libpcap和tcpdump,这里不进行详细论述,必要时可以参考相关的用户手册。   (3) 建立数据分析模块   数据分析模块相当于IDS的大脑,它必须具备高度的“智慧”和“判断能力”,所以,在设计此模块之前,开发者需要对各种网络协议、系统漏洞、攻击手法、可疑行为等有一个很清晰、深入的研究,然后制订相应的安全规则库和安全策略,再分别建立滥用检测模型和异常检测模型,使机器模拟自己的分析过程,识别已知特征的攻击和异常行为,最后,将分析结果形成报警消息,发送到控制管理中心。   设计数据分析模块的工作量浩大,并且,考虑到黑客攻击手法不断翻新,需要不断地更新、升级和完善。在这里,需要特别注意以下3个问题: ● 应当优化检测模型和算法的设计,确保系统的执行效率。 ● 安全规则的制订需要充分考虑包容性和可扩展性,以提高系统的伸缩性。 ● 报警消息要遵循特定的标准格式,增强其共享与互操作能力,切忌随意制订不规范的消息格式的做法。   目前,网上有很多开放源代码的数据分析软件包,这为用户构建数据分析模块提供了一定的便利条件,但这些免费的软件一般都有很大的局限性或者不能满足用户的实际需要,要开发一个真正功能强大、实用的IDS,可以根据需要自行修改这些系统,这是整个IDS的工作重点所在。   (4) 构建控制台子系统   控制台子系统负责向网络管理员汇报各种网络违规行为,并由管理员对一些恶意行为采取行动(例如阻断、跟踪等)。考虑到Linux或Unix平台在支持界面操作方面远不如常用的Windows产品流行,所以,可以将控制台子系统在Windows系列平台(NT/2000/XP)上实现。控制台子系统的主要任务有以下两个: ● 管理数据采集分析中心,以友好、便于查询的方式显示数据采集分析中心发送来的警报消息。 ● 根据安全策略进行一系列的响应动作,以阻止非法行为,确保网络的安全。   控制台子系统的设计至少要实现以下功能:警报信息查询、探测器管理、规则管理及用户管理。 ● 警报信息查询:网络管理员可以使用单一条件或复合条件进行查询,当警报信息数量庞大、来源广泛时,系统需要按照危险等级对警报信息进行分类,从而突出显示网络管理员所需要的重要信息。 ● 探测器管理:控制台可以一次管理多个探测器(包括启动、停止、配置、查看运行状态等),查询各个网段的安全状况,针对不同的情况制订相应的安全规则。 ● 规则库管理功能:为用户提供一个根据不同网段的具体情况进行灵活配置安全策略的工具,例如,一次定制可应用于多个探测器、默认安全规则等。 ● 用户管理:对用户权限进行严格的定义,提供口令修改、添加用户、删除用户、用户权限配置等功能,确保系统使用的安全性。   (5) 构建数据库管理子系统   入侵检测系统不仅要为管理员提供实时、丰富的警报信息,还应当详细地记录现场数据,以便在日后需要取证时重建某些网络事件。   数据库管理子系统的前端程序通常与控制台子系统集成在一起,可以使用Access或其他数据库将警报信息和其他数据存储起来。该模块的数据来源有以下两个: ● 数据分析子系统发送来的报警信息和其他重要信息。 ● 管理员经过条件查询后对查询结果处理所得的数据,例如生成的本地文件、格式报表等。   (6) 联调   完成以上几个步骤之后,一个IDS的最基本框架已被实现。但是要使这个IDS能够顺利地运转起来,还需要保持各个部分之间进行安全、顺畅地通信和交互,这就是联调工作所要解决的问题。   首先,要实现数据采集分析中心和控制管理中心之间的通信,两者之间是双向的通信。控制管理中心显示并整理数据采集分析中心发送来的分析结果和其他信息,数据采集分析中心接收控制管理中心发送来的配置、管理等命令。注意确保这两者之间通信的安全性,最好对通信数据流进行加密操作,以防止被窃听或篡改。同时,控制管理中心的控制台子系统和数据库子系统之间也有大量的交互操作,例如警报信息查询、网络事件重建等。   联调通过之后,一个基本的IDS即可搭建完毕。接下来的工作就是不断完善各部分功能,尤其是提高系统的检测能力。 12.3.4 身份验证和存取控制   身份验证是一致性验证中的一种,验证是建立一致性证明的一种手段。身份验证主要包括验证依据、验证系统和安全要求。身份验证技术是在计算机中最早应用的安全技术,目前仍在广泛地被应用,它是网络信息安全的第一道门。   在现实生活中,个人的身份主要通过各种证件来确认的,例如身份证或者户口簿等等。在计算机世界里,各种计算机资源也需要认证机制,从而能够确保被能够使用这些资源的人使用。然而,目前各类计算机资源主要是依靠固定的口令方式来进行验证。这种方式存在着很多问题,例如会被黑客进行网络数据流窃听、认证信息截取、字典攻击、穷举尝试等等。鉴于这些问题,一次性口令身份验证技术出现了。   所谓的一次性口令身份验证技术主要是在登陆过程中,加入不确定的因素,使每次登陆过程中传送的信息都不相同,以提高登陆过程的安全性。例如:登录密码=MD5(用户名+密码+时间),系统接收到登陆口令后做一个验算即可验证用户的合法性。VPN利用的就是这种方法。   存取控制规定何种主体对何种客体具有何种操作权力。存取控制主要包括人员限制、数据标识、权限控制、类型控制和风险分析等等。它也是比较早的一种安全技术,与身份验证同时使用,对不同身份的用户赋予不同的操作权限,以实现不同安全级别的信息分级管理。   存取控制是对所有的直接存取活动通过授权的方式进行控制,从而保证了计算机的系统安全保密。一般来说有两种方式:一是隔离技术法,二是限制权限法。   所谓的隔离技术法就是在电子数据处理成分的周围建立屏障,从而在该环境中实施存取规则。隔离技术也分为物理隔离、时间隔离、逻辑隔离和密码技术隔离。传统的多网环境一般通过运行两台计算机实现的就是物理隔离。目前,我国已经拥有了自主知识产权的涉密计算机,它采用双硬盘物理隔离技术,通过运行一台涉密计算机,即可在物理隔离的状态下切换涉密信息网和公共信息网,实现一机双网或一机多网的功能。另外,还有一种方式就是在电脑中加装隔离卡,一块隔离卡带一块硬盘、一块网卡,使用不同的网络环境。当然,物理隔离方式对于系统的要求比较高。   所谓的限制权限法就是限制特权以便有效地进入系统的用户所进行的操作。其实,这也是对用户进行分类,不同级别的用户安全密级授权不同,对于资源的访问的权限也就不同。 12.3.5 VPN   虚拟专用网(Virtual Private Network,VPN)是近年来随着Internet的发展而迅速发展起来的一种技术。现代企业越来越多地利用Internet资源来进行促销、销售和售后服务,乃至培训、合作等活动。许多企业趋向于利用Internet来替代它们的私有数据网络。这种利用Internet来传输私有信息而形成的逻辑网络被称为虚拟专用网。   虚拟专用网实际上就是将Internet看作一种公有数据网,这种公有网和PSTN网在数据传输上没有本质的区别,从用户观点来看,数据都能够被正确传送到了目的地。相应地,企业在这种公共数据网上建立的用以传输企业内部信息的网络被称为私有网。   目前VPN主要采用4项技术来保证安全,这4项技术分别是隧道技术(Tunneling)、加/解密技术(Encryption/Decryption)、密钥管理技术(Key Management)、使用者与设备身份认证技术(Authentication)。   1. 隧道技术   隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或数据包。隧道协议将这些其他协议的数据帧或数据包重新封装在新的包头中进行发送。新的包头提供了路由信息,从而使封装的负载数据能够通过互联网络传递。   被封装的数据包在隧道的两个端点之间通过公共互联网络进行路由。被封装的数据包在公共互联网络上传递时所经过的逻辑路径称为隧道。一旦到达网络终点,数据将被解包并转发到最终目的地。注意:隧道技术指的是包括数据封装,传输和解包在内的全过程。   2. 加/解密技术   对通过公共互联网络传递的数据必须经过加密,确保网络其他未授权的用户无法读取该信息。加解密技术是数据通信中一项比较成熟的技术,VPN可以直接利用现有的加解密技术。   3. 密钥管理技术   密钥管理技术的主要任务是如何在公用数据网上安全地传递密钥而不被窃取。现行密钥管理技术可以分为SKIP与ISAKMP/OAKLEY两种。SKIP主要是利用Diffie-Hellman的演算法则,在网络上传输密钥;在ISAKMP中,双方都有两把密钥,分别用于公用和私用。   4. 使用者与设备身份认证技术   VPN方案必须能够验证用户身份并严格控制只有授权用户才能访问VPN。另外,VPN方案还必须能够提供审计和计费功能,显示何人在何时访问了何种信息。身份认证技术最常用的是使用者名称与密码或卡片式认证等方式。   VPN整合了范围广泛的用户,从家庭的拨号上网用户到办公室联网的工作站,直到ISP的Web服务器。用户类型、传输方法以及由VPN使用的服务的混合性,提高了VPN设计的复杂性,同时也提高了网络安全的复杂性。如果能有效地采用VPN技术,可以有效地防止欺诈、增强访问控制和系统控制、加强保密和认证的。选择一个合适的VPN解决方案可以有效地防范网络黑客的恶意攻击。   在上述的网络安全技术中,数据加密是其他一切安全技术的核心和基础。在实际网络系统的安全实施中,可以根据系统的安全需求,结合使用各种安全技术来实现一个完整的网络安全解决方案。例如,目前常用的自适应网络安全管理模型就是通过防火墙、网络安全扫描、网络入侵检测等技术的结合,来实现网络系统动态的可适应的网络安全目标。这种网络安全管理模型认为任何网络系统都不可能防范所有的安全风险,因此,在利用防火墙系统实现静态安全目标的基础上,必须通过网络安全扫描和实时的网络入侵检测,实现动态的、自适应的网络安全目标。该模型利用网络安全扫描自动找出系统的安全隐患,对风险作半定量的分析,提出修补安全漏洞的方案,并自动随着网络环境的变化,通过入侵特征的识别,对系统的安全作出校正,从而将网络安全的风险降到最低点。 12.4 网络安全协议   安全协议的建立和完善是安全保密系统走上规范化、标准化道路的基本因素。根据计算机专用网多年的实践经验,一个较为完善的内部网和安全保密系统,至少要实现加密机制、验证机制和保护机制。目前,已开发并应用的协议有以下几种: ● 加密协议:加密协议有两个要素,一是能把保密数据转换成公开数据,在公用网中自由发送;二是能用于授权控制,无关人员无法解读它,因此,需要对数据划分等级,算法也要划分等级,以适应多级控制的安全模式。 ● 身份验证协议:身份验证是上网的第一道关口,且与后续操作相关,因此,身份验证至少应包括验证协议和授权协议两种。人员要划分等级,不同等级的人员具有不同的权限,以适应多级控制的安全模式。 ● 密钥管理协议:包括密钥的生成、分发、存储、保护、公证等协议,保证在开放环境中灵活地构造各种封闭环境。根据互联网的特点,密钥分粒度在网上要做到端级和个人级,在库中要做到字节级。 ● 数据验证协议:包括数据验证、数字签名等。数字签名要同时具有端级签名和个人签名的功能。 ● 安全审计协议:包括与安全有关的事件,包括事件的探测、收集、控制,能进行事件责任的追查。 ● 防护协议:除防病毒卡、干扰仪、防泄射等物理性防护措施外,还对用于信息系统自身保护的数据(审计表等)和各种秘密参数(用户口令、密钥等)进行保护,以增强反入侵功能。   以下将介绍几种常见的网络安全协议。 12.4.1 SSH   SSH是Secure Shell的缩写,是一种为了在不安全的网络上提供安全的远程登录和安全的网络服务而设计的协议。它包括以下3个主要部分: ● 传输层协议提供一些认证、信任和完整性。它也可以任意地提供压缩。传输层将运行在一个TCP/IP连接之上,同时也可以用在其他可靠的数据流之上。 ● 用户认证协议层认证连接到服务器的客户端用户。它运行在传输层协议之上;连接协议层分配多个加密通道到一些逻辑通道上。它运行在拥护认证层协议之上。 ● 当安全的传输层连接建立之后,客户端将发送一个服务请求。当用户认证层连接建立之后,将发送第二个服务请求。这就允许新定义的协议可以和已存在的协议共存。连接协议提供可用作多种目的通道。为设置安全交互Shell会话和传输任意的TCP/IP端口和X11连接提供标准方法。 12.4.2 SSL协议   SSL(Secure Socket Layer)是Netscape公司提出的Internet安全标准,由于SSL应用范畴广泛、且颇具弹性,许多国际知名厂商的多数产品,包括微软,都支持此协定,而IETF也正在考虑将SSL纳入Internet的标准。   SSL的目的是在网络应用软件之间提供安全、可信赖的传输服务,安全表示透过SSL建立的连线,可以防范外界任何可能的窃听或监控,可信赖表示经由SSL连线传输的资料不会失真,SSL的特色如下: ● SSL与应用协定无关,在它之上可以叠加各种网路应用,而SSL对于这些应用是透明的。 ● SSL双方利用公众钥匙(public key)技术识别对方的身份,SSL支持一般的公众钥匙演算法,例如RSA、DSS。 ● SSL连接是受加密保护的,双方在连线建立之初即商定一个用以对后续连线加密的秘密钥匙(secret key)及加密演算法,例如DES或RC4。 ● SSL连线是可信赖的,SSL在所传输的每段信息中附有用于验证讯息完整性(integrity)的讯息认证码(MAC),SSL支持一般用于产生MAC的碎映(hash)函式,例如SHA、MD5。 ● SSL采用公众钥匙技术识别对方身份,受验证方须持有某发证机关(CA)的证书(certificate),其中内含其持有者的公众钥匙,CA的签名可证明该公众钥匙的合法性,而持有者的私有钥匙和证书即可证明自己的身份,在实际应用上,SSL要求服务器至少得持有CA颁发的证书,客户端可选择性的持有自己的证书,此种做法主要在于保护一般用户不会被欺骗。   由于加密过程颇耗费计算资源,故SSL连线的效率较传统未加密的低许多,因此,一般只将SSL用于须加密保护的连线,普通连线仍采用传统协定。 12.4.3 IPSec协议   灵活简洁的IP是Internet得以如此迅速传播的主要原因之一。但是这种简洁产生了一个重大的问题:缺少IP基础的安全机制。IP网络的弱点促进了对防火墙的需求和其他形式的网络安全。目前,由IETF提出的一种新的协议IPSec(IP安全协议),瞄准了直接在IP上最终解决安全问题。IPSec提供3个主要范围上的安全:鉴定性,它用于验证正在通信的个体;完整性,它用于确保数据不被改变;保密性,它用于确保数据不被截获和查看。   1. IPSec简介   IPSec 协议不是一个单独的协议,它给出了应用于IP层上网络数据安全的一整套体系结构,包括网络认证协议Authentication Header(AH)、封装安全载荷协议Encapsulating Security Payload(ESP)、密钥管理协议Internet Key Exchange(IKE)和用于网络认证及加密的一些算法等。IPSec 规定了如何在对等层之间选择安全协议、确定安全算法和密钥交换,向上层提供访问控制、数据源认证、数据加密等网络安全服务。IPSec的安全特性主要有以下几个方面: ● 不可否认性:不可否认性可以证实消息发送方是唯一可能的发送者,发送者不能否认曾经发送过消息。不可否认性是采用公钥技术的一个特征,当使用公钥技术时,发送方使用私钥产生一个数字签名随同消息一起发送,接收方使用发送者的公钥来验证数字签名。由于在理论上只有发送者才唯一拥有私钥,也只有发送者才可能产生该数字签名,所以,只要数字签名通过验证,发送者就不能否认曾经发送过该消息。但不可否认性不是基于认证的共享密钥技术的特征,因为在基于认证的共享密钥技术中,发送方和接收方掌握相同的密钥。 ● 反重播性:反重播确保每个IP包的唯一性,保证信息万一被截取复制后,不能再被重新利用而传输回目的地址。该特性可以防止攻击者截取破译信息,然后用相同的信息包冒取非法访问权。 ● 数据完整性:防止数据在传输过程中被篡改,确保发出数据和接收数据的一致性。IPSec利用Hash函数为每个数据包产生一个加密检查和,接收方在打开包之前先计算检查和,如果包遭到篡改导致检查和不相符,数据包即被丢弃。 ● 数据可靠性(加密):在传输前,对数据进行加密,可以保证在传输过程中即使数据包遭到截取,信息也无法被读。该特性在IPSec中为可选项,与IPSec策略的具体设置相关。 ● 认证数据源发送信任状,由接收方验证信任状的合法性,只有通过认证的系统才可以建立通信连接。   2. IPSec基本工作原理   IPSec的工作原理类似于包过滤防火墙,可以看作是对包过滤防火墙的一种扩展,如图12-4所示。当接收到一个IP数据包时,包过滤防火墙使用其头部在一个规则表中进行匹配,当找到一个相匹配的规则时,包过滤防火墙就按照该规则制订的方法对接收到的IP数据包进行处理。这里的处理工作只有两种:丢弃或转发。 图12-4 IPSec工作原理示意图   IPSec通过查询SPD(Security Po1icy Database安全策略数据库)决定对接收到的IP数据包进行何种处理。但是,IPSec不同于包过滤防火墙的是:对IP数据包的处理方法除了丢弃和直接转发(绕过IPSec)外,还有一种即进行IPSec处理。正是这个新增添的处理方法提供了比包过滤防火墙更进一步的网络安全性。   进行IPSec处理意味着对IP数据包进行加密和认证。包过滤防火墙只能控制来自或去往某个站点的IP数据包的通过,可以拒绝来自某个外部站点的IP数据包访问内部某些站点,也可以拒绝某个内部站点对某些外部网站的访问。但是,包过滤防火墙不能保证从内部网络出去的数据包不被截取,也不能保证进入内部网络的数据包未经过篡改。只有在对IP数据包实施了加密和认证后,才能保证在外部网络传输的数据包的机密性、真实性、完整性,通过Internet进行安全的通信才成为可能。   IPSec既可以只对IP数据包进行加密,或只进行认证,也可以同时实施两者。但无论是进行加密还是进行认证,IPSec都有两种工作模式:一种是与其前一节提到的协议工作方式类似的隧道模式;另一种是传输模式。   传输模式如图12-5所示,它只对IP数据包的有效负载进行加密或认证。此时,继续使用以前的IP头部,只对IP头部的部分域进行修改,而IPSec协议头部插入到IP头部和传输层头部之间。 图12-5 传输模式示意图   隧道模式如图12-6所示,它对整个IP数据色进行加密或认证。此时,需要新产生一个IP头部,IPSec头部被放置在新产生的IP头部和以前的IP数据包之间,从而组成一个新的IP头部。 图12-6 隧道模式示意图   3. IPSec中的3个主要协议   前面已经提到IPSec主要功能是加密和认证,为了进行加密和认证,IPSec还需要有密钥的管理和交换的功能,以便向加密和认证提供所需要的密钥,并对密钥的使用进行管理。以上3方面的工作分别由AH,ESP和IKE 3个协议进行规定。为了介绍这3个协议,首先需要引入一个术语:SA(Securlty Association,安全关联)。所谓安全关联指的是安全服务与它服务的载体之间的一个“连接”。AH和ESP都需要使用SA,而IKE的主要功能就是建立和维护SA,实现AH和ESP提供对SA的支持。   通信双方如果要利用IPSec建立一条安全的传输通路,需要事先协商好将要采用的安全策略,包括使用的加密算法、密钥、密钥的生存期等。当双方协商好使用的安全策略后,我们就说双方建立了一个SA。SA就是能向其上的数据传输提供某种IPSec安全保障的一个简单连接,可以由AH或ESP提供。当给定了一个SA,就确定了IPSec所要执行的处理,例如加密、认证等。SA可以进行两种方式的组合:传输临近和嵌套隧道。   (1) ESP(Encapsulating Security Payload)   ESP协议主要用于处理对IP数据包的加密,此外对认证也提供了某种程度的支持。ESP是与具体的加密算法相独立的,几乎可以支持各种对称密钥加密算法,例如:DES、TripleDES、RC5等。为了保证各种IPSec实现间的互操作性,目前ESP必须提供对56位DES算法的支持。   ESP协议数据单元格式由3个部分组成,除了头部、加密数据部分外,在实施认证时还包含一个可选尾部。头部有两个域:安全策略索引(SPI)和序列号(Sequence Number)。使用ESP进行安全通信之前,通信双方需要先协商好一组将要采用的加密策略,包括使用的算法、密钥以及密钥的有效期等。“安全策略索引”用于标识发送方是使用哪组加密策略来处理IP数据包的,当接收方看到了这个序号就知道了对收到的IP数据包应该如何处理。“序列号”用于区分使用同一组加密策略的不同数据包。加密数据部分除了包含原IP数据包的有效负载,填充域(用来保证加密数据部分满足块加密的长度要求)包含其余部分在传输时都是加密过的。其中“下一个头部(Next Header)”用于指出有效负载部分使用的协议,可能是传输层协议(TCP或UDP),也可能还是IPSec协议(ESP或AH)。   通常,ESP可以作为IP的有效负载进行传输,JFIP的头UKB指出下个协议是ESP,而非TCP和UDP。由于采用了这种封装形式,所以ESP可以使用原有的网络进行传输。   用IPSec进行加密有两种方式,意味着ESP协议也有两种工作模式:传输模式(Transport Mode)和隧道模式(Tunnel Mode)。当ESP工作在传输模式时,采用当前的IP头部。而工作在隧道模式时,视整个IP数据包进行加密为ESP的有效负载,并在ESP头部前增加以网关地址为源地址的新的IP头部,此时可以起到NAT的作用。   (2) AH(Authentication Header)   AH只涉及到认证,不涉及到加密。AH虽然在功能上和ESP有些重复,但是AH除了可以对IP的有效负载进行认证外,还可以对IP头部实施认证,在处理数据对时可以对IP头部进行认证,而ESP的认证功能主要是面对IP的有效负载。为了提供最基本的功能并保证互操作性,AH必须包含对HMAC/SHA和HMAC/MD5(HMAC是一种SHA和MD5都支持的对称式认证系统)的支持。   AH既可以单独使用,也可以在隧道模式下使用,或者与ESP结合使用。   (3) IKE(Internet Key Exchange)   IKE协议主要是对密钥交换进行管理,它主要包括以下3个功能: ● 对使用的协议、加密算法和密钥进行协商。 ● 方便的密钥交换机制(这可能需要周期性的进行)。 ● 跟踪对以上约定的实施。 12.4.4 PKI和SET安全协议   所谓的PKI,从广义上来讲,就是提供公钥加密和数字签名服务的系统,PKI的主要目的就是自动管理密钥和证书,它可以为用户建立起一个安全的网络运行环境,使用户可以在多种应用环境下方便的使用加密和数字签名技术,从而保证网上数据的机密性、完整性、有效性。   一个典型、完整、有效的PKI应用系统至少应该拥有五个部分,分别为公钥密码证书管理、黑名单的发布和管理、密钥的备份和恢复、自动更新密钥、自动管理历史密钥。   PKI是一种新的安全技术,它由公开密钥密码技术、数字证书、证书发放机构和关于公开密钥的安全策略等基本部分组成。它是利用公钥技术实现电子商务安全的一种体系,是一种基础设施。   所谓SET协议,就是由美国VISA和MASTER CARD两大信用卡组织联合国际上多家科技机构,共同开发研制的安全电子交易协议。它基于公钥密码体制和X.509数字证书标准,主要应用于保障网上购物信息的安全性。   由于SET提供了消费者、商家和银行之间的认证,确保了交易数据的安全性、完整性、可靠性和交易不可否认性,特别是保证不将消费者银行卡号暴露给商家等等,因此成为了目前公认的信用卡/借记卡的网上交易额国际安全标准。 12.5 网络病毒与防治   计算机病毒指的是一些具有“病毒”功能的程序或程序段,它们可以把自己的一个副本附加到另一个程序或转移到另一台计算机系统中,通过网络或存贮介质(光盘、软盘)交换进行传播。病毒干扰计算机正常运行,占用系统资源、降低传输运行速度,有些“病毒”还在一定条件下破坏、删改数据,产生严重的后果。   病毒是由一些计算机软件设计者出于恶作剧、蓄意破坏或反人类、反社会等目的而专门设计的特殊程序,病毒绝不会自己产生。伴随着计算机网络的发展,目前计算机病毒主要通过网络进行传播,而且危害性空前扩大。像“冲击波”、“蠕虫”等病毒,让很多人体会到了病毒的危害和严重性。 12.5.1 网络病毒的特点   在现阶段,由于计算机网络系统的各个组成部分、接口以及各个连接层次的相互转换环节都不同程度地存在着某些漏洞或薄弱环节,在网络软件方面存在的薄弱环节更多,所以使得网络病毒有机可乘,能够突破网络的安全保护机制,通过感染网络服务器进而在网络上快速蔓延。计算机网络病毒的特点如下:   1. 破坏性强   网络病毒破坏性极强,例如,蠕虫入侵到计算机系统内之后,在被感染的计算机上生成自己的多个副本,每个副本将会启动搜索程序寻找新的攻击目标。大量的进程会耗费系统的资源,导致系统的性能下降。这对网络服务器的影响尤其明显。   2001年9月18日,Nimda蠕虫被发现,对Nimda造成的损失评估数据从5 亿美元攀升到26 亿美元后,仍在继续攀升,目前蠕虫爆发的频率越来越快,尤其是近两年来,越来越多的蠕虫(如冲击波、仍在振荡波等)出现,使得损失已经达到了无法估计的程度。   2. 传播性强   网络病毒普遍具有较强的再生机制,一接触即可通过网络扩散与传染。一旦某个公用程序染了毒,那么病毒将很快地在整个网络上进行传播,从而感染其他的程序。根据有关资料介绍,在网络上病毒传播的速度是单机的几十倍。以I Love You(情书病毒)为例,2000年5月4日凌晨,在菲律宾计算机上该病毒开始发作,到傍晚为止已经感染了地球另一端的美国的数十万台计算机。   3. 具有潜伏性和可激发性   网络病毒与单机病毒一样,具有潜伏性和可激发性。在一定的环境下受到外界因素的刺激,病毒便能活跃起来,这就是病毒的激活。激活的本质是一种条件控制,此条件是多样化的,可以是内部时钟、系统日期和用户名称,也可以是在网络中进行的一次通信。一个病毒程序可以按照病毒设计者的预定要求,在某个服务器或客户机上激活,并向各网络用户发起攻击。   4. 针对性强   网络病毒并非一定是对网络上所有的计算机都进行感染与攻击,而是具有某种针对性的攻击。特别是对于一些网络操作系统的漏洞,例如,“冲击波”病毒就是利用了Windows系统的RPC(远程处理控制)的漏洞进行传播和危害。随着微软Windows操作系统的市场占有率居高不下,使得针对这些系统的计算机病毒数越来越多,近年来,攻击计算机的计算机病毒绝大多数都是针对Windows操作系统。   5. 扩散面广、传播途径多变   由于网络病毒可以通过网络进行传播, 所以其扩散面积大,一台PC机的病毒可以通过网络感染与之相连的众多机器。由网络病毒造成网络瘫痪的损失难以估计。一旦网络服务器被感染,其解毒所需的时间将是单机的几十倍以上。   随着新技术的发展,目前计算机病毒已经可以通过包括大容量移动磁盘(ZIP、JAZ)、光盘、网络、Internet、电子邮件等多种方式进行传播,而且仅Internet的传播方式又可包括WWW浏览、IRC聊天、FTP下载、BBS论坛等。特别是电子邮件,目前已成为病毒传播的重灾区。   鉴于网络病毒的以上特点,采用有效的网络病毒防治方法与技术就显得尤其重要。目前,网络大都采用Client/Server模式,这就需要从服务器和客户机两个方面采取防治网络病毒的措施。 12.5.2 网络病毒的主要症状   计算机网络病毒和人体病毒一样,都有本身的典型症状,主要有: ● 屏幕异常滚动,和行同步无关。 ● 系统文件长度发生变化。 ● 出现异常信息、异常图形。 ● 运行速度减慢,系统引导、打印速度变慢。 ● 存储容量异常减少。 ● 系统不能由硬盘引导。 ● 系统出现异常死机。 ● 数据丢失。 ● 执行异常操作。   病毒本身具有不同特性,病毒的症状也是五花八门。有的病毒表现欲非常强,它进入到内存后,针对系统做一些定点操作。有的病毒则不会有太大的动静,会对文件进行改写。虽然病毒形式多种多样,但它们发作的目的都是为了破坏程序的完整性,篡改文件的精确性,使系统及所支持的数据和服务发生失效。主要的表现形式有如下: ● 破坏文件分配表,使磁盘上的用户信息丢失。 ● 改变磁盘分配,造成数据的错误。 ● 删除磁盘上特定的文件,或破坏文件的数据。 ● 影响内存中的常驻程序。 ● 自我繁殖,侵占大量的存储空间。 ● 改变正常运行的程序。 ● 窃用用户的主要数据。 12.5.3 网络病毒的防治   网络病毒的防治是一个系统性的工程,它既包括技术方面的措施,又包括管理方面的措施。   1. 选择有效的防毒/杀毒软件   随着网络时代一次又一次恶性病毒的肆虐,使网络安全与系统病毒的有效防范成为了一个全球性问题。   在网络环境中,计算机中的资源是可以被互相访问的,网络中的所有计算机构成了一个完整的系统。对于同一种杀毒软件,版本越新杀毒能力越强,版本越老杀毒能力越弱。如果在网络中杀毒软件版本不一致,就意味着在网络中至少有一台计算机,它的杀毒软件版本较老,以致于无法防范某些已知病毒。单机版杀毒产品由于没有考虑到网络环境的特殊性,它无法确保整网中各节点的杀毒软件同步升级。比如说,某客户端计算机和服务器计算机上都安装了单机版杀毒软件,但是由于该客户端计算机没有及时得到升级,感染了某种新型病毒并且已发作,病毒发出将服务器上的文件删除的命令,虽然服务器上的单机版软件已及时得到升级,但是也无法阻止文件被删除(它只能阻止服务器上的文件被感染)。   因此,对于一个系统的安全而言,整个系统的安全程度取决于这个系统中的最薄弱的环节。 对于一个网络来说,只要其中有一台计算机存在安全漏洞问题,那么,整个网络中的所有计算机都处于危险的境地。   一个防毒严密的网络版软件必须做到:(1)主动同步自动升级,即一台计算机中的杀毒软件升级后,网络版控制系统将自动通知所有计算机中的杀毒软件立即升级,保证整个网络内的杀毒软件版本的一致性,确保所有计算机上的杀毒软件都是最新的;(2)能随时监控整个网络中各台计算机的防护状态,确保整个网络处于最佳的防护状态。   2. 增加安全意识   杜绝病毒,主观能动性起到很重要的作用。病毒的蔓延,经常是由于企业内部员工对病毒的传播方式不够了解。病毒传播的渠道有很多,例如,病毒可通过网络、物理介质等渠道进行传播。查杀病毒,首先要知道到底是什么病毒,它的危害程序如何,知道了病毒的危害性,提高安全意识,杜绝毒瘤的战役就已经成功了一半。   企业要从加强安全意识着手,对日常工作中隐藏的病毒危害增加警觉性,例如安装一种被大众认可的网络版杀毒软件,定时更新病毒定义,对运行来历不明的文件之前先进行查杀,每周查杀一次病毒,减少共享文件夹的数量,共享文件时,尽量控制权限和增加密码等,这些措施都可以很好地防止病毒在网络中进行传播。   此外,还要注意供应商提供的补丁,定期升级系统或者安装补丁,修补漏洞。   3. 健全管理制度并落实执行   很多情况下病毒侵入企事业内部网络的原因和内部管理混乱有关。例如以下情况: ● 管理员为减少工作量过多开放用户操作权限,造成病毒有机会泛滥。 ● 用户私自连接互联网,在上网浏览、收发邮件时带入病毒。 ● 用户私自使用未经认可的光盘、软盘,不小心带入病毒。 ● 用户未按规定启动防病毒软件,病毒泛滥和发作造成损失。 ● 发现可疑情况未能尽早报告并及时处理,以致于造成损失。 ● 网络管理员的失误,服务器未及时升级系统或防火墙,并且过多开放无用端口,给病毒入侵提供机会。   加强企业计算机安全管理是最有效地防止病毒破坏的手段,应该建立并健全一套针对计算机病毒的预防、预报、宣传、奖惩、监督、备份、灾害应急、重建处理的规章制度,并且交由上级批准,派专人负责实施,从企业内部杜绝一切漏洞。   没有一套行之有效的制度、没有明确的职责和奖惩办法,即使有再好的软件和设备也不可能保证防病毒效果。   特别应该提出的是,备份制度和灾难应急重建计划是针对计算机病毒危害的最后一道防线,而且是不可逾越的防线。对于一个依赖计算机系统实现办公的企业,它除了应付可能由于计算机病毒造成的灾难以外,也可以提高企业抵御各种自然灾害(如:电力故障、地震、火灾、人为破坏,系统设备故障)的能力。   4. 定期对网络中的设备进行查毒   对于一些已知的计算机病毒则可以通过定时清除、安装防病毒软件、修补系统漏洞、限制系统功能的方法来对付。   计算机病毒如果无法传播到另一台计算机中,也就无法对其进行感染破坏,因而人们最常用的方法就是隔离,例如:将一个企业内部的专业网和外部的联系(如互联网)断开,再严格切断交换介质(如不使用光盘、软盘),即可保证不会受到病毒攻击。   但是,一般企事业单位很大程度需要和外界的交流,那么在一切和外界交流的关口增加防范措施。例如在服务器中安装“防火墙”软件;光盘、软盘使用前先进行“病毒”扫描。但“只要打开大门,就难免带进灰尘”,这种有限开放方式,当防火墙或系统平台有漏洞时,就会变得丝毫没有抵抗力。 12.5.4 网络防毒/杀毒软件   选择有效的防毒/杀毒软件是防治网络病毒的有效措施。目前,主要的杀毒/防毒软件有主机版和网络版两种版本,主机版主要用于单机系统的防毒和杀毒,网络版可以实现网络系统的杀毒与防毒。   1. 网络防毒/杀毒系统的特点   从原则上讲,计算机病毒和杀毒软件是“矛”与“盾”的关系,杀毒技术是伴随着计算机病毒在形式上的不断更新而更新的,也就是说,网络版杀毒软件的出现,是伴随着网络病毒的出现而出现的。   在网络安全领域,经常强调“三分技术,七分管理”,网络安全中的30%需要依靠计算机系统信息安全设备和技术保障,而70%则需要依靠用户安全管理意识的提高以及管理模式的更新。具体到网络版杀毒软件来说,三分靠杀毒技术,七分靠网络集中管理,所以通常强调加强网络集中管理来增强网络杀毒系统的效能。目前,网络防毒/杀毒系统的主要特点和发展趋势如下:   (1) 集中式管理、分布式杀毒。对局域网进行远程集中式安全管理,并可通过账号和口令设置来控制移动控制台的使用。先进的分布技术可以利用本地资源和本地杀毒引擎,对本地节点的所有文件进行全面、及时、高效的查杀病毒,同时保障用户的隐私,减少了网络传输的负载,避免因大量传输文件而引起的网络拥塞。   (2) 数据库技术、LDAP技术的应用广泛。由于网络杀毒工作的日益复杂,一些网络杀毒软件厂商已经开始使用数据库技术和LDAP技术进行策略和日志的存储、用户管理等功能,不但增强了用户管理能力、策略组织能力,还提高了策略调用速度,便于以后向日志分析等方面扩展。   (3) 多引擎支持。谈到网络安全,只能是相对的安全而没有绝对的安全,而对于杀毒引擎来说,一种杀毒技术或杀毒引擎不可能查杀任何病毒,因此,对于多引擎技术来说,就是使用多项杀毒技术对网络进行杀毒,可以有效地提高网络杀毒的成功率,但是必然会增加网络杀毒软件的复杂度。   (4) 从入口处拦截病毒。网络安全的威胁多数来自于邮件和采用广播形式发送的信函。目前已经有许多厂商正在开发相关的软件,直接配置在网络网关上,弹性规范网站内容,过滤不良网站,限制内部浏览。这些技术还可以提供内部使用者上网访问网站的情况,并产生图表报告。系统管理者也可以设置个人或部门下载文件的大小。此外,邮件管理技术能够防止邮件经过Internet网关进入内部网络,并可以过滤由内部网络寄出的内容不当的邮件,避免造成网络带宽的不当占用。从入口处拦截病毒已成为未来网络防病毒产品发展的一个重要方向。   (5) 全面解决方案。由于计算机网络应用的不断增加,导致计算机病毒入侵途径日益增多,并且对于某些网络环节,例如对Linux、Unix服务器来说,虽然系统本身受到病毒侵害的程度相对较低,但是却也成为病毒存储的温床和发源地。因此,网络杀毒体系将会从单一设备或单一系统,发展成为一个整体的解决方案,并与网络安全系统有机地融合在一起。无论是服务器、邮件服务器,还是客户端都应该得到保护。目前的网络杀毒软件通常都可以扩展到对于文件服务器、邮件服务器、Lotus服务器的病毒防护。   (6) 客户化定制。客户化定制模式指的是网络防病毒产品的最终定型是根据企业网络的特点而专门制定的。对于用户来讲,这种定制的网络防病毒产品带有专用性和针对性,既是一种个性化、跟踪性产品,又是一种服务产品。这种客户化定制体现了网络防病毒正从传统的产品模式向现代服务模式转化。   (7) 扩展性。鉴于目前反黑与反病毒的结合趋势,网络杀毒系统越来越朝着与防火墙、入侵检测、安全扫描、SNMP网络管理融合的方面发展。这是目前网络杀毒软件的一个发展的动向。   (8) 远程安装或分发安装。由于网络杀毒软件可能需要对不同物理区域的数十台甚至上百台、上千台客户端服务器进行杀毒模块的安装,因此要求管理员本地安装是不现实的,目前系统一般提供两种方式进行客户端的远程安装,一种是通过Windows系统远程控制命令进行批量客户端的远程安装,另外一种是让所有的用户通过Web页面下载客户端软件自行安装,任何一种方式都需要通过管理手段和技术手段来实现。   2. 常见网络防毒/杀毒产品   目前,网络防毒/杀毒的软件产品很多,既有国内厂家的产品,例如瑞星、金山、冠群金辰等;也有国外厂家的产品,例如:Norton、Symantec、McAfee等。下面将介绍几种典型的网络网络防毒/杀毒软件产品。   (1) Symantec AntiVirus企业版   Symantec AntiVirus企业版是一款优秀的网络杀毒软件,包括Symantec服务器、系统中心控制台、Symantec Client Security、Symantec Packager和Alert Management Server组件等。这些组件的主要功能是: ● Symantec系统中心:管理控制台,在Windows NT/2000/XP Professional计算机上运行。可以执行各种操作,例如,向工作站和服务器分发企业版病毒防护,更新病毒定义,管理运行客户端程序。 ● 服务器:可以将配置和病毒定义文件分别安装到各个客户端,并且可以对服务器进行病毒防护。 ● 客户端:可以对联网或未联网的计算机进行病毒防护,并且可以接受系统中心的集中管理。 ● Live Update:可以进行病毒和引擎的升级,并可以通过服务器进行分装。 ● Symantec Packager:可以创建、修改和部署自己的定制安装包。 ● Alert Management Server:可以提供病毒警报功能以通过多种方式和文本格式向系统管理员进行报警。   Symantec AntiVirus的管理控制台是使用Windows NT自身提供的Console集成在一起的,使用习惯符合Windows的常用风格,易用性较好,用户可以对网络中的服务器客户端进行分组设置,制定单个组的杀毒策略,管理简单方便,并且可以支持多层次的网络拓扑结构,方便的对网络防毒的规模进行扩展。该系统具有较灵活的定制行,尤其对于客户端的配置设置上,系统可以根据最终用户的需要对各个子项进行单独的锁定。   Symantec AntiVirus具有强大、安全的升级模式,LiveUpdate是 Symantec公司的一项技术,它能使已经安装的Symantec产品自动连接到Symantec服务器上,以进行程序和病毒定义的更新。这种连接可以通过 Internet连接或企业内部网络连接来实现。对于企业内部网络连接方式,用户将更新下载到一台计算机,然后再将其分装给所有用户。这种方式十分适合应用于基于屏蔽子网防火墙的网络,可以通过升级停火区的服务器而升级整个子网的网络杀毒软件,在保证网络安全的基础上,确保网络杀毒软件的时效性。   (2) McAfee Total Virus Defense套件   美国网络联盟公司推出的McAfee Total Virus Defense是一款优秀的网络杀毒软件,包括ePolicy Orchestrator Server和Console、VirusScan、GroupShield、WebShield软件等组件。主要组件的功能如下: ● ePolicy Orchestrator Server和Console:在企业内部集中管理和分发NetShield软件、VirusScan软件的策略控制,生成集中报告。 ● Group Shield:保护服务器,保护免受病毒的攻击,并且支持Lotus Notes和Microsoft Exchange系统。 ● Net Shield:保护文件服务器,防止恶意代码。 ● VirsScan:可以对客户端进行扫描,并且支持按需和按时扫描两种方式。   该软件采用Windows控制台进行防病毒的集中式管理,支持本地和异地的SQL Server数据库,可以支持分布式数据存储。该软件使用策略服务和域控制器相结合的方式进行集中式的管理,通过集中管理程序和远程异地进行防病毒组件的安装和部署,达到了有效的防病毒管理,并且,该软件提供了多种客户端杀毒方式,可以区分文件服务器和其他类型的服务器,体现了Mcafee的重点防御概念。   该软件的杀毒模块被分为NetShield、WebShield、GroupShield、Virus Scan等几个独立的组件,充分考虑了网络中各个单元的特点,例如:文件服务器主要用于文件的读写、Exchange主要用于内部或外部邮件的交流,根据上述网络的特点,Mcafee Total Virus Defense有相应的杀毒模块进行实时监控和扫描,提高了杀毒的效率和响应速度。NetShield可以在用户每次打开、复制或转移文件,或把文件放入回收站时进行实时扫描,这就说明了该组件专门为服务器所设计,对于文件读写的考虑相当周全。至于其他的组件也有类似的特点,针对不同服务器操作进行扫描,专业性较强。   VirusScan组件是该产品中最广泛应用的杀毒模块,主要用于对网络中其他的联网计算机进行病毒扫描,可以支持DOS、Windows系列、Macintosh、UNIX和Linux服务器操作系统平台。提供了两种类型的扫描活动,既可自动扫描,也可定期、选择性或按计划扫描。用户可以预先计划保存和不保存一次性按需扫描,并在必要时或按计划定期运行,也可以采用低风险和高风险两种应用程序方式进行扫描。   (3) KILL企业版   冠群金辰公司推出的KILL企业版是一款优秀的网络杀毒软件,包括KILL企业版管理服务器、KILL企业版客户端和远程安装工具组件。这些组件的主要功能如下: ● KILL管理服务器:可与Windows NT/2000/XP的性能监视器紧密集成,并可以在Windows管理平台实现对系统中Unix、Linux和NetWare服务器的病毒扫描进行管理,利用丰富的图表形式,动态实时监视全网中的所有关键服务器的安全状况,实现对整个防病毒系统的中央集中控制管理,并且可以实时配置全网的杀毒和报警配置,分发报警和升级信息等。 ● KILL客户端:可以对联网或未联网的计算机进行病毒防护,即可独立进行配置,也可以接受KILL企业版管理服务器的集中管理。 ● 远程安装工具:可使KILL管理服务器端一次性在多台目标机器上安装KILL客户端。   KILL企业版可与Windows 2000/XP的性能监视器紧密集成,利用丰富的图表形式动态实时表现服务器的防病毒软件运行状况和病毒活动情况。管理员仅需在管理平台前打开性能监视器,即可动态实时监视全网中所有关键服务器的安全状况。   KILL企业版采用业界领先的双引擎扫描方式:InoculateIT和Vet两大世界著名病毒扫描引擎,帮助企业构建一个多层防范的防病毒体系,这是KILL企业版最主要的一个特性。   KILL产品采用数字签名技术对病毒升级特征码进行保护,在升级前进行签名校验,确认无误后才进行升级,从而杜绝病毒冒充升级文件侵害用户系统,并且病毒特征文件可以实现从控制台到客户端的自动分发和升级。   (4) ZoneAlarm   ZoneAlarm是一款用来保护用户的电脑,防止Trojan(特洛伊木马)程序的网络杀毒软件,其基本版还是免费的。   ZoneAlarm的使用很简单,如网上有最新的ZoneAlarm,就可以免费网上更新。安装完后重新开机,ZoneAlarm就会自动启动,帮助用户执行任务。当有程序想要存取Internet时,如网络浏览器可能会出现连不上网络,这时可以在右下角ZoneAlarm的小图标上单击两下鼠标,选取“Programs”的选项,勾选需要允许哪些软件上网,禁止哪些不可以上网,利用此种方法来防治一些非法的软件上网。而最好的方法是锁住(Lock)网络不让任何程序通过,只有用户核准的软件才可以通行无阻。还可利用它来看看开机后已经使用多少网络资源,也可以设定锁定网络的时间等等。   (5) 卡巴斯基杀毒软件   卡巴斯基杀毒软件是目前企业中使用频率比较高的杀毒软件之一。目前,所使用的版本是KIS 7.0。   卡巴斯基通过以下特点达到真正保护用户电脑包括其网络。 ● 保护电子邮件   对各种邮件系统的所有邮件执行基于协议层的反病毒扫描(对POP3、IMAP和NNTP协议扫描接受的邮件,对SMTP扫描发出的邮件)。 ● 保护文件系统   对所有文件、文件夹和磁盘(包括所有便携式存储设备)作反病毒扫描,也可以选择扫描系统的关键区域以及启动项。    ● 监控网络数据流   对任何互联网浏览器,均可对所有基于HTTP协议的网络流量执行实时的反病毒扫描。 ● 主动防御   本软件可以在任何危险的、可疑的或隐藏的进程出现时发出警报,阻断对系统的所有有害的更改,并可在恶意行为出现后将系统复原。 12.6 网络机房安全   网络安全除了设备和技术方面的安全,机房的安全也是一个很重要的因素。机房安全受到多方面的威胁,确保安全是一个非常重要的问题。 保证计算机信息系统的所有设备和机房及其他场地的安全,是整个计算机信息系统安全的前提。如果机房的安全得不到有力的保证,存在各种各样的不安全因素,整个信息系统的安全也就不可能实现。影响计算机系统机房安全的主要因素可以归纳为以下3个方面的问题: ● 计算机系统自身存在的问题。 ● 环境导致的安全问题。 ● 由于人为的错误操作和各种计算机犯罪导致的安全问题。 12.6.1 机房安全范围   保证计算机系统的机房安全涉及的范围很广泛,不但要保证计算机安全运行,还要保证整个设施的安全;不但要保证设备的正常运转,还要保证数据信息的安全可靠;不但要保证硬件安全还要保证软件安全。 计算机系统机房安全所涉及的内容也很多,而且是一种技术性要求高,投资巨大的工作。包含的主要内容如下: ● 计算机机房的场地环境,即各种因素对计算机设备的影响。 ● 计算机机房用电安全技术的要求。 ● 计算机机房的访问人员控制。 ● 计算机设备及场地的防雷、防火和防水。 ● 计算机系统的静电防护。 ● 计算机设备及软件、数据的防盗防破坏措施。 ● 存储着计算机中重要信息的磁介质的处理、存储和处理手续的有关问题。 ● 计算机系统在遭受灾害时的应急措施。 12.6.2 机房安全管理常识   机房安全涉及的内容很广泛,其中不仅具有技术性的要求,还需要有制度化的保证。为了有效地保证机房的安全,可以从以下几个方面加强管理。   1. 机房环境条件   计算机机房的环境条件的好坏,对充分发挥计算机系统的性能、延长机器使用寿命、以及确保工作人员的身体健康等方面都很重要。对电子计算机设备和工作人员产生影响的环境条件主要包括:温度、湿度、尘埃、腐蚀性气体、电磁场、静电、冲击振动、噪音和照明等。   (1) 温/湿度   计算机设备使用了大量的半导体器件、电阻器、电容器等。在计算机加电工作时,环境温度的升高都会对它们的正常工作造成影响。当温度过高时,可能会使某些元器件不能正常工作,甚至完全失去作用,从而导致计算机设备的故障,因此,必须按照各个设备的要求,把温度控制在设备所要求的范围之内,不同的设备或者不同级别的机房的温度要求不一样,但是,通常机房温度要求保持在15℃~25℃左右。   为了确保计算机安全可靠地运行,除了严格控制温度之外,还要把湿度控制在规定的范围之内。一般来说,当相对湿度低于40%时,空气被认为是干燥的;而当相对湿度高于80%时,则认为空气是潮湿的;当相对湿度为100%时,空气处在饱和状态。在相对湿度保持不变的情况下,温度越高,水蒸气压力增大,水蒸气对计算机设备的影响越大,随着压力增大,水蒸气在元器件或由介质材料表面形成的水膜越来越厚,造成“导电小路”和出现飞弧现象,引起设备故障。高湿度对电子计算机设备的危害是明显的,而低湿度的危害有时更加严重。在相同的条件下,相对湿度越低,也就是说越干燥,静电电压越高,影响电子计算机设备的正常工作越明显。实验表明,当计算机机房的相对湿度为30%时,静电电压为5000V,当相对湿度为20%时,静电电压就到了10000V,而相对湿度降到5%时,则静电电压可高达20000V。   为了克服高温、潮湿、低温、干燥等给计算机设备带来的危害,通常将计算机机房的湿度控制在45%~65%之间。   (2) 静电   静电对计算机的主要危害是由于静电噪声对电子线路的干扰,引起电位的瞬时改变,导致存储器中的信息丢失或误码。静电不仅会使计算机设备的运转出现故障,而且还会影响操作人员的身心健康,给操作人员带来心理上的极大不安,降低工作效率。减少静电对计算机系统的影响主要从两个方面着手:一方面要在计算机及其外设所使用的元器件、电路设计和组装设计等过程中考虑防静电问题,采取防静电措施;另一方面需要在机房的设备上减少静电来源,可采取如下措施: ● 接地与屏蔽   接地是最基本的防静电措施,要求计算机系统本身应当有一套合理的接地与屏蔽系统,而屏蔽可以切断静电噪声的侵入。雷电产生的感应火花也是一种外部干扰源。在产生雷电时,在传输线上形成的冲击电压有时可高达几千伏甚至上万伏,对计算机设备的破坏作用很大。传输线或线圈附近空间产生的磁场,对其他元器件会产生干扰。同时,电磁感应对磁带机、磁盘机等使用磁介质的设备也有影响。因此,对于介质的存放保管应注意这些因素,使用铁制的磁盘柜是一个好方法。 在实际应用中,抑制电磁干扰的手段是接地和屏蔽。接地是防止外界电磁干扰和设备间寄生耦合干扰,提高设备工作可靠性的必要措施。同样,屏蔽是削弱电磁场干扰的有效方法。根据实际的需要,可以进行电屏蔽、磁屏蔽或电磁屏蔽。屏蔽可对信号线、电源线、机柜或整个机房进行,但一般来说,凡是环境的电磁场强度在规定的范围之内,都不必对整个机房进行屏蔽。 ● 机房地板   计算机机房的地板是静电产生的主要来源,对于各种类型的机房地板,都要保证从地板表面到接地系统的电阻在105~108Ω之间,下限值是为了保证人身防触电的安全电阻值,上限则是为了防止因电阻值过大而产生静电。   工作人员的着装要采用不易产生静电的衣料来制作。   (3) 灰尘   灰尘对电子计算机设备,特别是对精密机械设备和接插元件的影响较大。不论计算机机房采用何种结构形式,由于下述原因,机房内存在着大量灰尘仍是不可避免的。 ● 由于空气调节需要不断地补充新风,通过空调系统把大气中的灰尘带进计算机房。 ● 机房工作人员出入机房所带入的灰尘。 ● 机房的墙壁、地面、顶棚等起尘或涂层脱落所形成的灰尘。 ● 机房建筑不严密,通过缝隙渗漏进机房的灰尘。 ● 计算机的外部设备,例如打印机等在运转过程中产生的尘屑。   在电子计算机的各种设备中,最怕灰尘的是磁盘存储器,特别是密封性差的软盘驱动器更易受灰尘的侵害,除此之外,在其他方面也存在着明显的危害,如覆盖在集成电路及其他电子元器件表面的灰尘,将妨碍电子元器件的散热,使其散热能力降低。   2. 机房的防火   从国内外的情况来看,火灾是诸危害中发生次数最多,危害最大的。而且它也是在计算机机房中发生的较普通且危害较大的灾害。无论是在国内还是在国外,每年都有很多计算机房发生火灾相关的报道。   严格的管理制度和基本的常识可以防止许多情况下可能发生的火灾,但是,仍然有必要采取进一步的措施,以防止火灾发生。   已往的经验一再证明,迅速察觉火灾的发生,是减少灾害损失的主要因素。这一点可以从火灾发生要经过的3个典型阶段看出: ● 第一阶段:计算机机房起火,多数由电气绝缘损坏引起,这种电气原因造成的火灾,常常要闷烧很长一段时间。 ● 第二阶段:当发生明火燃烧时,火焰的直接接触会使火势不断地蔓延,周围环境的温度也随之逐步上升,但是相对来说,这时灾情的进展还是比较缓慢的。第二阶段持续时间的长短,由着火点附近材料的易燃性来决定。 ● 第三阶段:温度上升到了能使邻近的物体放出可燃性气体的程度,这时,不但直接火焰接触会使物体着火,而且热辐射也会造成周围物体的着火。在第三阶段,由于高温,大量的烟雾及有害气体的产生,人不能在火灾现场滞留,所以救火已非常困难。   从以上阶段的分析可以看出,最好是能在火灾发展到第三阶段之前,能及时发现并扑灭,使损失减小到最低程度。这就需要一定的监察设备,同时要对机房的值班人员传授消防知识和进行必要的消防训练。   火灾主要指的是设备、线路等因技术和维修上的原因引起的火灾,设备火灾是机房火灾中最常见的一种,这种火灾主要是因为设备自身的缺陷、维修不当、年久失修或因使用不当,管理制度不严格而造成的。   为了防止火灾对机房的危害,计算机机房要从机房建筑,报警和灭火设备及防火管理3个方面采取必要的防火措施。为了做好安全管理工作,我们建立了严格的安全制度。在选择和安装电气器材时,也充分考虑了防火要求。 机房的消防设备包括报警和灭火设备。为了早期发现火灾,及时扑救减小损失,设置报警装置是十分重要的,只有这样,才能保证尽早测到火灾,特别是机房的活动地板下和屋顶与吊顶之间的不能被人直接观察的部位,更需要有自动报警装置。   3. 机房的安全用电   计算机系统对电源质量的好坏直接影响到计算机系统的正常运行,计算机系统对供电电源的质量和连接性要求很高,它不仅取决于电网的电压、频率和电流是否符合计算机设备的要求,而且对电网的质量也有很高的要求。   与电源有关的计算机故障是普遍存在的,而且很多故障的起因与电气干扰有关。电气干扰主要有以下3种形式: ● 输电线路和周围环境的电气噪声   电气噪声可以由电源线路本身产生,也可以由电子电气设备产生。它一般有两种类型:一种是电磁干扰,它是输电线路中产生的;另一种是射频干扰,它是由电气设备中的元器件产生的。 ● 电压波动   电压波动是一种常见现象,它可分为两种情况:一种是电压高于或低于正常值;第二种是电压间断地或持续地保持较高或较低的数值。 ● 断电   如果电流中断就产生了断电,瞬间断电称为瞬时停电,长时间的断电称为停电。   以上3种电气干扰如果大于规定的允许值,就会使计算机设备的正常工作受到影响,信息传送出现错误,甚至损坏计算机或外部设备。 对计算机系统的供电电源可采取下述办法来达到稳定使用。   (1) 使用不间断电源,计算机设备的供电线路使用专用线路,在这条线路上不使用任何其他会产生电气噪声的用电设备。UPS能提供高级的电源保护功能,特别是对断电更具保护作用。一旦供电中断,UPS电源利用自身的电池为计算机系统继续供电,保证计算机系统的正常供电。在选择和购买UPS电源系统时要弄清很多问题,其中包括计算机系统在停电后需由UPS电源继续供电的时间,计算机系统的供电容量,UPS电源的电池类型及后备电源的供电方式等。总之,通过采取减少电气噪声的措施,使用满足计算机系统及外部设备对电源要求的供电设备,使用UPS电源供电等方式,可以给计算机系统提供良好的电源,使计算机系统安全、稳定、正常地运行。   (2) 计算机系统每一组成单元中的各设备的电源插头,应插入到同一条供电线路中,这将有利于减少各单元之间产生的噪声相互干扰,同时也有利于提供一个公共接地点。   (3) 计算机系统的各个设备在开始工作时不要同时接通电源。分别通电比同时接通电源安全得多。   (4) 供电电源要有良好的满足要求的接地。   (5) 与供电电源要有良好的连接性。   4. 人员安全   为了有效地保证机房的安全和减少机房的灰尘,需要严格控制进入机房的人员,要按所去的部位和人员的职责,实行不同的原则与方法。安全的措施和方法是多种多样的,对于不同安全等级的计算机房,根据其重要程度的不同,可以选择一种或多种方式进行控制。下面是我们通常可以采用的方法和措施。 ● 机房分区控制   我们把机房内分为3个区域,计算机主机区、控制操作区和运行值班、数据处理终端区,同时,为了参观的需要,专门设立了参观通道。根据实际工作的需要,确定其所能进入的区域。用户、办事人员和参观者不经有关领导批准,不得进入主机房。 ● 机房的出入控制   计算机房是网络最重要的部位,只有特别指定的人员才能获准进入。计算机房在门口有警卫人员对出入计算机机房的人员进行控制,保证计算机房在任何时候都处于必要的控制之下,不允许未获准进入机房的人进入。   对于获准进入机房的来访者,其活动范围必须限制在指定的区域内,当获准后,来访者到达接待区域时,应一直有接待人陪同,同时要对来访者的情况进行登记。要根据不同的区域,实行不同的控制,做到万无一失,保证计算机系统正常、安全地运转。 12.7 本 章 小 结   本章主要介绍了网络安全的基本知识,网络安全涉及的范围非常广泛,它既包括物理的安全,也包括逻辑的安全;涵盖了加密技术、防火墙技术、入侵检测、病毒攻击防范等方面。通过本章的学习,读者不仅要了解威胁网络安全的因素,还要学会如何防范这些威胁,构筑起网络安全屏障。 12.8 思考与练习   1. 填空题   (1) 网络安全的目标是 、 、 、 和 。   (2) 安全防范体系的层次可以划分为 、 、 、 和 。   (3) 根据密钥类型不同可以将现代密码技术分为两类: 和 。   (4) 包过滤防火墙设置在 层,可以在路由器上实现包过滤。   (5) 从功能上可以将入侵检测系统划分为4个基本部分: 、 、控制台子系统和 。   2. 选择题   (1) 信息的( )就是保证信息在从信源到信宿传输过程前后的一致性。   A. 真实性   B. 完整性   C. 保密性   D. 不可否认性   (2) 下列安全协议中直接应用于网络层的安全协议是( )。   A. SSH   B. IDS   C. IPSec   D. SSL   (3) IPSec协议体系中,( )协议主要是对密钥交换进行管理。   A. IKE   B. AH   C. SA   D. ESP   (4) 为了克服高温、潮湿、低温、干燥等给计算机设备带来的危害,通常将计算机机房的湿度控制在( )之间。   A. 20%~40%   B. 10%~50%   C. 50%~80%   D. 45%~65%   3. 问答题   1) 简述网络安全防范体系的结构框架。   2) 简述入侵检测技术的工作原理。   3) 简述IPSec的工作原理。 ? 338 ? 组网技术与网络管理(第二版)    ? 337 ? 第12章 网 络 安 全