2.网络协议的脆弱性
网络协议开放性的根本原因是协议的开放性,因为要实现不同计算机系统或不同网络设备之间的互联要求,网络协议必须是开放的。开放的协议脆弱性表现在:
(1)域名服务系统的弱点。
(2)容易受攻击的CGI程序和服务器端应用程序扩展,主要是在WWW服务。
(3)远程进程调用(RPC)。
(4)微软的IIS安全漏洞。
(5)SMTP邮件服务的缓存溢出漏洞。
(6)NFS以及端口的漏洞。
(7)IMAP、POP邮件服务器缓存溢出漏洞和错误的配置。
类似因网络协议本身的问题导致的漏洞还有很多,此处不再一一列举。可以说,几乎在TCP/IP协议的每个部分都存在漏洞。
7.1.5 网络面临威胁的分类
1.天灾
天灾是指自然界的灾害,是不可控制的,例如地震、雷击、洪水。
2.人为威胁
人为的威胁有两类,一类是非恶意的,是人们无意中造成的破坏;另一类是恶意的,如入侵计算机网络而造成的危害。恶意的破坏大概分为以下四种。
(1)中断
中断指系统运行突然被人为中断,造成计算机网络资源损害乃至不能使用,暂停数据传输或信息服务。
(2)窃取
窃取指故意以某种非法手段盗窃账号、密码,非法获得数据库信息或网络服务。
(3)更改
更改指以某种非法手段盗窃账号、密码,非法对网络资源进行篡改。
(4)伪造
伪造指以某种非法手段,制造假的账户、数据资源,以骗取好处。
3.系统自身原因
系统自身的原因有:硬件故障的原因,软件存在后门和漏洞等。
7.2 安全防范技术与实现
7.2.1 密码技术
密码学是一门古老、深奥的学科。计算机密码学是研究计算机信息加密、解密及其变换的学科,是数学和计算机的交叉学科,也是一门实用的学科。在计算机通讯中,采用密码技术将信息隐蔽起来,再将隐蔽后的信息传输出去,使信息在传输过程中即使被窃取或截获,窃取者也不能了解信息的内容,从而保证信息传输的安全。
通讯的双方约定一种方法,用特定的符号按照通讯双方约定的方法把电文的原形隐蔽起来,不为第三者所识别的通讯方式称为密码通讯。
1.密码学术语
(1)密钥
密钥是实现秘密通讯的主要手段,是隐蔽语言、文字、图像的特种符号,密码也被称做密钥。
(2)明文
明文是没有被加密的报文。
(3)密文
密文是被加密后的报文。
(4)加密算法
加密算法是将明文变成密文的计算方法;解密算法是反向的运算解密的算法。
(5)加密码
加密码是含有一个参数k的数学变换,即C=Ek(P)。
2.对称密码体制
对称密码体制也被称为单钥密码算法。
对称密码算法是指加密密钥和解密密钥为同一密钥的密码算法。因此,信息发送者和信息接收者在进行信息的传输与处理时,必须共同持有该密钥,被称为对称密钥。
通常使用的加密算法比较简便高效,密钥简短,破译极其困难。由于系统的保密性主要取决于密钥的安全性,所以在公开的计算机网络上安全地传送和保管密钥是一个重要环节。
3.非对称密码体制
非对称密码体制又被称为双钥密码算法或公钥密码算法,是指加密密钥和解密密钥为两个不同密钥的密码算法。公钥密码算法使用一对密钥,一个用于加密信息,另一个用于解密信息。加密密钥不同于解密密钥,通信双方无需事先交换密钥就可进行保密通信。其特点如下。
(1)加密密钥被公之于众。
(2)只有解密人知道解密密钥。
(3)两个密钥之间存在着相互依存关系,用其中任何一个密钥加密过的信息只能用另一个密钥进行解密。
(4)若以公钥作为加密密钥,以用户专用密钥(私钥)作为解密密钥,则可实现多个用户加密的信息只能由一个用户解读,可用于数字加密。
(5)以用户私钥作为加密密钥而以公钥作为解密密钥,则可实现由一个用户加密的信息能被多个用户解读。可用于数字签名。
公钥密码体制体现出了对称密钥体制不可替代的优越性。对于参加电子商务交易的用户来说,希望通过公开网络与成千上万的客户进行交易。若使用对称密码,则每个客户都需要由商户直接分配一个密码,并且密码的传输必须通过一个单独的安全通道。相反,在公钥密码算法中,同一个商户只需自己产生一对密钥,并且将公开钥对外公开。客户只需用商户的公开钥加密信息,就可以保证将信息安全地传送给商户。
4.利用密码体制实现数据保密
对称密码算法是指加密密钥和解密密钥为同一密钥的密码算法,效率高,但密钥不易传递。公钥密码算法密钥传递简单,算法效率低。将两种技术结合起来,取长补短,可以保证信息在传递过程的安全性。
7.2.2 数字签名技术
1.数字签名定义
数字签名是通过一个单向函数(不可逆算法)对要传送信息进行处理得到的,被用于认证信息来源并核实信息是否发生变化的一个字母数字串。
(1)Hash函数
Hash函数是单向散列函数,不属于强计算密集型算法,应用较广泛。使用它所生成的签名被称为Hash签名的密钥。这种密钥较容易被攻破,存在伪造签名的可能。
(2)DSS和RSA签名
DSS(Defense Security Service)和RSA(Rivest Shamir Adleman)采用了公钥算法,不存在Hash的局限性。
RSA是最流行的一种加密标准,许多产品的内核中都有RSA的软件和类库。早在Web飞速发展之前,RSA数据安全公司就负责数字签名软件与Macintosh操作系统的集成,在Apple的协作软件PowerTalk上增加了签名拖放功能,用户只要把需要加密的数据拖到相应的图标上,就完成了电子形式的数字签名。RSA既可以用来加密数据,也可以用于身份认证。
与Hash签名相比,在公钥系统中,由于生成签名的密钥只存储于用户的计算机中,其安全系数大一些。
2.数字签名原理
数字签名在电子商务活动中十分重要,是利用密码技术的典型应用。其主要用途是:
(1)利用算法生成明文的摘要。
(2)加密生成的摘要。
(3)将明文和加密的摘要发送给对方。
(4)用收到的明文生成新的摘要。
(5)解密收到的摘要。
(6)比较两个摘要,若比较结果相同,则认为身份确认,否则不确认身份。
7.2.3 防火墙技术
1.防火墙的定义
防火墙(Fire Wall)是利用一个或一组网络设备(计算机系统或路由器等)以及网络软件,在两个或多个网络间加强访问控制,目的是保护网络不受来自另一个网络的攻击。可以这样理解,防火墙相当于在网络周围挖了一条护城河,在唯一的桥上设立关口,进出的行人和车辆都要接受安全检查。网络防火墙也可以被比喻成国际机场的安全检查和海关,在得到允许进出一个国家前,必须通过一系列的检查。
在网络防火墙中,每个数据包在得到许可继续传输前都必须通过这些关口的检查,合法的数据被允许通过,不合法的被隔离在外或被过滤掉。
防火墙的组成包括数据包过滤器和安全策略。
防火墙可以是简单的过滤器,也可能是精心配置的网关,但它们的原理是一样的,都是检测并过滤所有内部网和外部网之间的信息交换,防火墙保护内部网络有用数据不被偷窃和破坏,并记录内外通讯的有关状态信息日志,例如通讯发生的时间和进行的操作等。
必须记住一点:防火墙不是万能的,防火墙管理人员的作用比防火墙本身更重要。
2.防火墙的主要类型
(1)分组或包过滤路由器
路由器按照系统内部设置的分组过滤规则,检查每个分组的源IP地址、目的IP地址,决定该分组是否应该转发。包过滤规则一般是根据包的头部或全部内容做决定的。
【例7-1】 假设网络安全策略规定如下。
内部网络的E‐mail服务器(IP地址为192.168.116.20,TCP端口号为25)可以接收来自外部网络用户的所有电子邮件。
允许内部网络用户传送电子邮件到外部电子邮件服务器。
拒绝所有与外部网络中名字为TESTHOST主机的连接。
据此可以建立包过滤表,保证假设的规则准确实施。
(2)状态监测防火墙
这种防火墙具有非常好的安全特性,使用一个在网关上执行网络安全策略的软件模块,称为监测引擎。
监测引擎在不影响网络正常运行的前提下,采用抽取有关数据的方法对网络通信的各层实施监测。其工作原理是抽取状态信息,并将其动态地保存起来作为以后执行安全策略的参考。
监测引擎支持多种协议和应用程序,并可以很容易地实现应用和服务的扩充。其工作原理如下。
①当访问的请求到达网关时,状态监视器抽取有关数据进行分析,结合网络配置和安全规定作出接纳、拒绝、身份认证、报警或给该通信加密等处理。一旦某个访问违反安全规定,就会拒绝该访问,并报告有关状态作日志记录。
②状态监测防火墙会监测无连接状态的远程过程调用(RPC)和用户数据报(UDP)等的端口信息,也就是说,可以对无连接的服务进行监视。
(3)应用级网关
应用级网关就是通常人们提到的代理服务器方法。它适用于特定的互联网服务,如超文本传输(HTTP)、远程文件传输(FTP)等。
代理服务器的工作原理如下。
①当代理服务器接收到对某站点计算机访问请求后,检查该请求是否符合规定,如果规则允许访问该站点,代理服务器到那个站点取回所需信息再转发给发出请求的客户。
②代理服务器通常拥有一个高速缓存,被用于保存用户经常访问站点内容,在下一个用户要访问同一站点时,服务器不用重复地获取相同的内容,而是直接将缓存内容发出,节约时间和网络资源。
③代理服务器就像一面墙一样把内部用户和外界隔离开,从外部只能看到该代理服务器而无法获知内部资源信息,例如用户IP地址等。
④应用级网关比单一的包过滤更为可靠,而且它会比较详细地记录所有的访问状态。
3.防火墙组建
(1)双宿主机网关(Dual Homed Gateway)
这种配置是用一台装有两个网络适配器的双宿主机做防火墙。由于双宿主机用两个网络适配器(网卡)分别连接两个网络,也被称之为堡垒主机。在堡垒主机上运行防火墙软件(通常是代理服务器),即可提供代理服务。
(2)宿主主机+路由器防火墙
(3)屏蔽子网防火墙(Screened Subnet)
这种方法是在企业、学校的网络(也称Intranet)和Internet之间建立一个被隔离的子网,用两个包过滤路由器将这个子网分别与Intranet和Internet分开。两个包过滤路由器放在子网的两端,在子网内构成一个“缓冲地带”。这两个路由器一个控制Intranet数据流,另一个控制Internet数据流。Intranet和Internet均可访问屏蔽子网,但禁止它们穿过屏蔽子网通信。
由图可见,在屏蔽子网中安装堡垒主机,可为内部网络和外部网络的互相访问提供代理服务,但是来自两个网络的访问都必须通过两个包过滤路由器的检查。对于向Internet公开的服务器,例如WWW、FTP、MAIL等Internet服务器都可以安装在屏蔽子网内,这样无论是外部用户,还是内部用户都可访问它们。这种结构的防火墙安全性能高,具有很强的抗攻击能力,但需要的设备多、造价高。
4.企业内部防火墙
从企业网络的安全性考虑,企业网络安全的威胁主要来自于两个方面。一是来自于企业外部,二是来自于内部,如员工出于报复等原因攻击服务器,或者无意中把病毒通过U盘等移动设备带到企业内部。根据相关的统计,企业80%的安全威胁来自于企业内部的行为。
只靠一个防火墙,是远远不能够保障企业的网络安全的。
(1)内部防火墙作用
用于控制对内部网络的访问以及从内部网络进行访问。用户类型可能包括:
①可信任类:如组织的雇员,也可以是要到外围区域或Internet的内部用户、外部用户(如分支办事处工作人员)、远程用户或在家中办公的用户。
②部分信任类:组织的业务合作伙伴,这类用户的信任级别比不受信任的用户高。但是,其信任级别经常比组织的雇员要低。
③不信任类:例如组织公共网站的用户。
理论上,来自Internet的不受信任的用户应该仅访问外围区域中的Web服务器。如果他们需要对内部服务器进行访问(例如,检查股票级别),受信任的Web服务器会代表这些用户查询,永远不允许不受信任的用户通过内部防火墙。
(2)内部防火墙规则
默认情况下,阻止或允许以下所有数据包。
①在外围接口上,阻止看起来好像来自内部IP地址的传入数据包,以防止欺骗。
②在内部接口上,阻止看起来好像来自外部IP地址的传出数据包,以限制内部攻击。
③允许从内部DNS服务器到DNS解析程序主机的基于UDP的查询和响应。
④允许从DNS解析程序主机到内部DNS服务器的基于UDP的查询和响应。
⑤允许从内部DNS服务器到DNS解析程序主机的基于TCP的查询,包括对这些查询的响应。