|
|
|
防火墙的概念源于早期为防止火灾蔓延在房屋周围修建的矮墙。在网络安全中,防火墙是在内部网与外部网之间构筑的一道保护屏障,是执行访问控制策略的一个或一组系统。通过执行访问控制策略,提供授权通信,保护内部网不受外部非法用户的入侵,控制内部网与外部网之间数据流量。
|
|
|
防火墙可以是硬件,也可以是软件,或是二者结合。防火墙系统决定了哪些内部服务可以被外界访问,外界的哪些人可以访问内部服务,哪些外部服务可以被内部人员访问等。防火墙必须只允许授权的数据通过,其本身也必须能够免于渗透,但防火墙不是对网络内的每台计算机分别进行保护,而是让所有外部对内部网计算机的信息访问都通过某个点,防火墙就是保护这个点。防火墙技术是实现网络安全的主要手段之一。目前,企业内部网络与因特网之间的有效隔离方式大都采用的是防火墙技术。
|
|
|
|
防火墙主要用于实现网络路由的安全性。网络路由的安全性包括两个方面:限制外部网对内部网的访问,从而保护内部网特定资源免受非法侵犯;限制内部网对外部网的访问,主要是针对一些不健康信息及敏感信息的访问。
|
|
|
|
(1)保护那些易受攻击的服务。防火墙能过滤那些不安全的服务(如NFS等)。只有预先被允许的服务才能通过防火墙,这样就降低了受到攻击的风险性,大大地提高了网络的安全性。
|
|
|
(2)控制对特殊站点的访问。防火墙能控制对特殊站点的访问。如有些主机能被外部网络访问,而有些则要被保护起来,防止不必要的访问。通常会有这样一种情况,在内部网中只有Mail服务器、FTP服务器和WWW服务器能被外部网访问,而其他访问则被主机禁止。
|
|
|
(3)集中化的安全管理。对于一个企业而言,使用防火墙比不使用防火墙可能更加经济一些。这是因为如果使用了防火墙,就可以将所有修改过的软件和附加的安全软件都放在防火墙上集中管理;而不使用防火墙,就必须将所有软件分散到各个主机上。
|
|
|
(4)对网络访问进行记录和统计。如果所有对Internet的访问都经过防火墙,那么防火墙就能记录下这些访问,并能提供网络使用情况的统计数据。当发生可疑动作时,防火墙能够报警,并提供网络是否受到监测和攻击的详细信息。
|
|
|
|
(1)限制有用的网络服务。防火墙为了提高被保护网络的安全性,限制或关闭了很多有用但存在安全缺陷的网络服务。
|
|
|
(2)不能防范内部网络用户的攻击。目前防火墙只提供了对外部网络用户攻击的防护,对来自内部网络用户的攻击只能依靠内部网络主机系统的安全性。
|
|
|
(3)不能完全防范病毒。因为病毒的类型很多,操作系统各异,编码与压缩二进制文件的方法也各不相同,因此防火墙不能完全防止传送已感染病毒的软件或文件,不能期望防火墙对每一个文件进行扫描,查出潜在的病毒。
|
|
|
|
从技术角度分类,防火墙可以分为包过滤防火墙、代理服务防火墙和复合型防火墙。
|
|
|
|
网络传输数据是以“包”为单位进行的,数据被分割成一定大小的数据包,每个数据包中都会含有一些特定的信息,如数据的源地址、目标地址、TCP/UDP源端口和目标端口等。防火墙可通过对数据包的源地址、目的地址及端口等的检查,判断数据包是否来自可信任的安全站点。如果发现来自危险站点的数据包,防火墙将会拒绝其通过。
|
|
|
包过滤防火墙是最简单的防火墙,使用方便,实现成本低。分组过滤在网络层实现,不要求改动应用程序,也不要求用户学习任何新的东西,对用户来讲是透明的,用户基本感觉不到分组过滤器的存在。但也存在一个问题,就是过滤器不能在用户层次上进行安全过滤,即在同一台机器上,过滤器分辨不出是哪个用户的报文。
|
|
|
|
|
|
|
代理服务防火墙使用一个客户程序与特定的中间节点(防火墙)连接,然后中间节点与服务器进行实际连接。代理服务防火墙使内网用户对外网的访问变成防火墙对外网的访问,然后再由防火墙转发给内网用户。
|
|
|
|
|
|
代理服务防火墙也被称为应用网关防火墙,其核心技术就是代理服务器技术。它采用为每种所需服务在网关上安装特殊代码(代理服务)的方式来管理Internet服务。其应用原理是:当代理服务器收到客户对自己代理的某Web站点的访问请求后,就检查该请求是否符合规定;如果规则允许用户访问该站点时,代理服务器代理客户在该站点取回所需信息,再转发给客户。代理服务器在外部网络向内部网络申请服务时发挥了中间转接的作用,体现了“应用代理”的角色。
|
|
|
使用代理服务器技术,所有通信都必须经应用层代理软件转发,访问者任何时候都不能与服务器建立直接的TCP连接,彻底隔断了内网与外网的直接通信,从外部网只能看到代理服务器而不能了解内部网的资源信息,如用户的真实IP地址等。代理服务器提供详细的日志和审计功能,应用层的协议会话过程必须符合代理的安全策略要求,访问业务都由“守规矩”的代理服务器代劳。因此,代理服务防火墙的安全性大大提高。
|
|
|
代理服务器基于特定的应用,因此需要对每个应用服务(如Telnet、FTP)安装相应的代理服务软件,未被服务器支持的网络服务用户不能使用,因此代理服务防火墙维护量大,使用具有一定的局限性。由于需要代理服务,造成了网络性能下降,网络访问速度变慢。此外,每类应用服务需要使用特殊的客户端软件,并进行一些相关设置,使得代理服务防火墙的透明性较差。
|
|
|
|
复合型防火墙将前两类防火墙结合起来,形成新的产品,以发挥各自优势,克服各自缺点,满足更高安全性要求。
|
|
|
|
防火墙通常有两种安全模型可以选择:没有被列为允许访问的服务都是被禁止的;没有被列为禁止访问的服务都是被允许的。
|
|
|
为网络建立防火墙,首先需要决定防火墙采取何种安全控制模型。采取第一种安全控制模型,需要确定所有可以被提供的服务以及它们的安全特性,开放这些服务;将所有其他未被列入的服务排除在外,禁止访问。采取第二种安全控制模型,正好相反,需要确定那些被认为是不安全的服务,禁止其访问;而其他服务则被认为是安全的,允许访问。找出网络所有的漏洞,排除所有的非法服务,一般是很难的。从安全性角度考虑,第一种模型更可取一些,而从灵活性和使用方便性的角度考虑,则第二种模型更合适。
|
|
|
|
根据需要,防火墙与Web服务器的配置会有所不同,主要有三种:
|
|
|
(1)Web服务器置于防火墙之内。这种方式Web服务器可以得到安全保护,不易被外界攻击,但Web服务器本身也不易被外界所用。
|
|
|
(2)Web服务器置于防火墙之外。这种方式主要保证了内部网安全,Web服务器不受到保护。需要注意的是,有些防火墙结构不允许将Web服务器设置在防火墙之外。
|
|
|
(3)Web服务器置于防火墙之上。这种方式增强了Web服务器的安全性,但是如果Web服务器出现问题,整个Web站点和内部网都会处于危险之中。
|
|
|
|
|
入侵检测技术是一种利用入侵者留下的痕迹,发现来自外部或内部非法入侵的技术。它通过从计算机网络或计算机系统中的关键点收集信息,并进行分析,发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。
|
|
|
入侵检测技术是对入侵行为的发觉,起着主动防御的作用,是网络安全中极其重要的部分。它以探测与控制为技术本质,通过分析、审计记录,识别系统中任何不应该发生的活动,采取相应的措施报告并制止入侵活动。
|
|
|
入侵检测扮演的是网络安全系统中侦察与预警的角色,能够协助网络管理员发现并处理已知的入侵,通过对入侵检测系统所发出的警报的处理,网络管理员可以有效地配置其他的安全产品,以使整个网络安全系统达到最佳工作状态,尽可能降低因攻击而带来的损失。
|
|
|
|
入侵检测系统(Intrusion Detection System,IDS)是进行入侵检测的软件与硬件的组合。入侵检测系统通常由事件产生器、事件分析器、事件数据库、响应单元等基本组件构成。
|
|
|
(1)事件产生器。事件产生器负责原始数据的采集,它对数据流、日志文件等进行追踪,然后将收集到的原始数据转换为事件,并向系统的其他部分提供此事件。
|
|
|
(2)事件分析器。事件分析器负责接收事件信息,然后对其进行分析,并判断是否是入侵行为或异常现象,最后将判断结果转为警告信息。
|
|
|
(3)事件数据库。事件数据库负责存放各种中间和最终数据。它从事件产生器或事件分析器接收数据,一般会将数据进行较长时间的保存。它可以是复杂的数据库,也可以是简单的文本文件。
|
|
|
(4)响应单元。响应单元根据警告信息做出反应,它可以做出切断连接、改变文件属性等强烈反应,也可以只是简单的报警。
|
|
|
|
|
(1)根据原始数据来源,可以分为基于主机的入侵检测系统、基于网络的入侵检测系统和基于应用的入侵检测系统。
|
|
|
基于主机的入侵检测系统通过监视与分析主机的审计记录和日志文件来检测入侵,主要用于保护运行关键应用的服务器。
|
|
|
基于网络的入侵检测系统侦听网络上的所有分组,采集数据,分析可疑现象,主要用于实时监控网络关键路径的信息。
|
|
|
基于应用的入侵检测系统可以说是基于主机的入侵检测系统的一个特殊子集,也可以说是基于主机入侵检测系统实现的进一步细化,所以其特性、优缺点与基于主机的入侵检测系统基本相同,其主要特征是使用监控传感器在应用层收集信息。
|
|
|
(2)根据检测原理,可以分为异常入侵检测系统和误用入侵检测系统。
|
|
|
异常入侵是指能够根据异常行为和使用计算机资源的情况检测出来的入侵。异常入侵检测试图用定量的方式描述可以接受的行为特征,以区分非正常的、潜在的入侵行为。
|
|
|
误用入侵检测是指利用已知系统和应用软件的弱点攻击模式来检测入侵,与异常入侵检测不同,误用入侵检测能直接检测不利或不可接受的行为。
|
|
|
(3)根据体系结构,可以分为集中式入侵检测系统、等级式入侵检测系统和协作式入侵检测系统。
|
|
|
集中式的入侵检测系统可能有多个分布于不同主机上的审计程序,但只有一个中央入侵检测服务器。在等级式入侵检测系统中,定义了若干个分等级的监控区域,每个入侵检测系统负责一个区域,每一级入侵检测系统只负责所监控区的分析,然后将当地的分析结果传送给上一级入侵检测系统。协作式入侵检测系统将中央检测服务器的任务分配给多个基于主机的入侵检测系统,这些入侵检测系统不分等级,各司其职,负责监控当地主机的某些活动。
|
|
|
(4)根据工作方式,可以分为离线检测系统和在线检测系统。
|
|
|
离线检测系统是一种非实时工作的系统,在事件发生后分析审计事件,从中检查入侵事件。在线检测对网络数据包或主机的审计事件进行实时分析,可以快速反应,保护系统的安全,但在系统规模较大时,难以保证实时性。
|
|
|
|
|
电子商务安全交易协议是一种安全机制保障。目前,电子商务安全机制正在走向成熟,并形成了一些国际规范,比较有代表性的是SSL协议(安全套接层协议)和SET协议(安全电子交易协议)。
|
|
|
|
|
安全套接层(Secure Sockets Layer,SSL)协议,是由美国网景(Netscape)公司研究制定的安全协议,主要用于解决TCP/IP协议难以确定用户身份的问题,为TCP/IP连接提供了数据加密、服务器端身份验证、信息完整性和可选择的客户端身份验证等功能。
|
|
|
SSL协议通过在应用程序进行数据交换前交换初始握手信息实现有关安全特性的审查。握手信息中采用了DES、MD5等加密技术实现机密性和数据完整性,并采用X.509格式数字证书实现鉴别。
|
|
|
SSL协议适用于点对点之间的信息传输,通常在浏览器和WWW服务器之间建立一条安全通道实现文件保密传输。SSL协议已成为事实上的工业标准,并被广泛应用于Internet和Intranet的服务器产品和客户端产品中。
|
|
|
|
SSL协议在TCP/IP网络分层结构中位于应用层和TCP层之间,由SSL记录协议(Record Protocol)和SSL握手协议(Handshake Protocol)组成,如下图所示。
|
|
|
|
|
SSL记录协议定义数据传送的格式,包括记录头和记录数据格式的规定等。SSL握手协议描述建立安全连接的过程,在客户机和服务器传送应用数据之前,允许服务器和客户机相互验证身份(客户机端可选),协商加密算法、确定会话密钥等。
|
|
|
|
(1)信息机密性。SSL协议应用对称和非对称密钥等多种加密算法,客户机和服务器在建立的安全通道中传输的所有信息都经过加密处理,防止非法窃听,实现信息的机密性。
|
|
|
(2)信息完整性。SSL协议利用公开密钥加密算法和数字摘要技术,对信息的完整性进行检验,保证信息在传输过程中不被篡改。
|
|
|
(3)认证性。SSL协议利用数字证书技术,实现对服务器和客户机的认证。为了验证数字证书持有者是合法用户,SSL要求证书持有者在握手时,双方可通过交换数字证书,验证对方身份的合法性,确保数据发往正确的客户机和服务器。
|
|
|
|
(1)接通阶段。客户机呼叫服务器,服务器回应客户。
|
|
|
(2)认证阶段。服务器向客户机发送服务器证书和公钥,以便客户机认证服务器身份;如果服务器需要双方认证,还要向客户机提出认证请求,客户机向服务器发送客户端证书。
|
|
|
(3)确立会话密钥。客户机和服务器之间协商确立会话密钥。
|
|
|
(4)会话阶段。客户机与服务器使用会话密钥加密交换会话信息。
|
|
|
(5)结束阶段。客户机与服务器交换结束信息,通信结束。
|
|
|
|
SSL协议开发成本小,能够提供机密性、完整性和认证服务。目前主流浏览器及许多服务器都支持SSL协议,但在电子商务交易应用过程中,也存在一些安全问题。
|
|
|
|
|
|
(3)银行验证客户信息的合法性后,通知客户和商家付款成功。
|
|
|
|
分析以上交易过程,可以看到客户的购物信息(含支付信息,如银行资料)首先发往商家,若是商家不可靠,客户银行资料的信息安全性就得不到保证。此外,SSL协议只是提供了信息传递的安全通道,没有提供数字签名功能,存在抵赖和用户身份被冒充的可能性。这些问题在SET协议中得到了解决。
|
|
|
|
|
安全电子交易(Secure Electronic Transaction,SET)协议,是由VISA、Mastercard两大国际信用卡组织会同一些计算机供应商共同开发的网上安全交易协议,是为银行卡在Internet上安全地进行交易提出的一整套完整的安全解决方案。1997年5月正式推出SET协议1.0版。
|
|
|
SET协议采用对称加密技术和非对称加密技术提供数据加密、数字签名、数字信封等功能,保证了信息在网络中传输的机密性,数据的完整性和一致性,防止交易抵赖行为的发生。SET协议采用数字证书验证交易过程中参与各方的身份,一般由第三方CA机构负责为在线的通信双方提供信用担保与认证,对参与其中的支付网关也要进行认证,以防假冒,具有多方认证性。SET协议通过双重数字签名技术实现了客户订单信息和支付信息(信用卡账号、密码等)的隔离,保证商家只能看到客户的购买信息,看不到客户的支付信息;而银行只能看到客户的支付信息,看不到客户的购买信息。SET协议规定了交易中各方进行安全交易的具体流程。参与各方在交易流程中均遵循严格的标准,体现在要求软件遵循相同的协议和消息格式,加密算法的应用协商,数字证书信息和对象格式,订货信息和对象格式,认可信息和对象格式,资金划账信息和对象格式,对话实体之间消息的传输协议等。
|
|
|
|
基于SET协议的网络支付过程涉及多个参与方,包括客户、商家、银行(发卡银行、收单银行)、支付网关、CA认证中心。
|
|
|
(1)客户。通常是持有信用卡的用户。SET协议机制中,持卡客户通常要到发卡银行申请并在自己的客户端安装一套SET交易专用的客户端软件(电子钱包软件),并向CA认证中心申请数字证书。
|
|
|
(2)商家。客户在网上购物,网上商家通过商家服务器软件提供服务。与客户类似,商家必须先到收单银行申请设立账户,并向CA认证中心申请商家服务器的数字证书。
|
|
|
(3)发卡银行。发卡银行是指客户的开户银行。通常持卡客户的客户端软件从发卡银行获得,持卡客户申请数字证书,必须由发卡银行审核批准,才能从CA认证中心得到,因为持卡客户是利用银行的信誉消费。
|
|
|
(4)收单银行。收单银行是指商家的开户银行。支付网关接收商家转来的持卡客户支付请求后,要将支付请求转交给收单银行,通过银行间金融专用网络,传送到持卡客户的发卡行,进行相应的授权和扣款。收单银行与发卡银行可以是同一银行。
|
|
|
(5)支付网关。支付网关是Internet与银行内部专用网之间的一个专用系统,使得银行金融专用网不直接与非安全的公开网络连接,从而保护银行内部专用网的安全。通常,商家收到客户的购物请求后,要将客户的账号等支付信息传递给收单银行,因此支付网关一般由收单银行担任。银行可委托第三方担任网上交易的支付网关。与客户和商家一样,支付网关也必须通过CA认证中心申请数字证书,才能参与SET交易活动。
|
|
|
(6)CA认证中心。SET协议规定,参与SET交易的各方(包括客户、商家、支付网关)必须申请并安装数字证书,以证实自己的真实身份。CA认证中心作为发放和管理数字证书的机构,起着非常重要的核心作用。
|
|
|
|
|
|
(3)持卡人选择在线支付方式。当选择支持SET协议的支付方式进行支付时,SET协议开始起作用;
|
|
|
(4)持卡人发送订单和支付指令给商家。订单和支付指令由持卡人进行数字签名,同时利用双重数字签名技术保证商家看不到持卡人的支付信息(账号等);
|
|
|
(5)商家收到订单后,向持卡人所在银行发出支付请求。支付信息通过支付网关到收单银行,再到发卡银行。支付请求获得发卡银行的授权后,返回授权指令给商家;
|
|
|
(6)商家将订单确认信息通知持卡人,为客户发货或完成订购服务。
|
|
|
至此,应用SET协议的交易流程结束。商家可以请求收单银行将此笔交易的款项从持卡人账户转到商家账户。以上流程中,SET从持卡人选择支付方式后开始介入,每一步操作,持卡人、商家和支付网关都会通过CA验证通信主体的身份,以确保通信主体的真实性。
|
|
|
|
电子商务交易过程中,客户发送订购信息和对应的支付信息是相关联的,如何使信息传输过程中,商家看不到客户的支付信息,银行看不到客户的购买信息,SET协议通过双重数字签名技术加以解决。
|
|
|
发送者A将发送给接收者B和C的信息分别应用算法生成各自的数字摘要,再将两个数字摘要连在一起,应用算法生成新的数字摘要(双重数字摘要),将双重数字摘要用发送者的私钥加密,生成双重数字签名。
|
|
|
下面以客户发送信息给银行为例说明双重数字签名的生成与验证过程,如下图所示。
|
|
|
|
|
(1)客户对购买信息和支付信息分别生成购买信息的数字摘要E1和支付信息的数字摘要E2;
|
|
|
|
(3)客户用自己的私钥加密E3生成双重数字签名K;
|
|
|
(4)客户把双重数字签名K,支付信息和购买信息的数字摘要E1一起发送给银行;
|
|
|
(5)银行对信息进行验证。将支付信息用对应的同样算法生成支付信息的数字摘要E2′,并将E2′同收到的购买信息的数字摘要E1连接在一起,用对应的同样算法生成双重数字摘要E3′;
|
|
|
(6)银行用客户的公钥解密收到的双重数字签名K,得到双重数字摘要E3,将E3与E3′比较,如果相同,则银行验证了支付信息是由该客户发出的,且在传输过程中没有被篡改。
|
|
|
同理,客户将双重数字签名K,购买信息和支付信息数字摘要E2发送给商家完成订货信息的传递、签名与验证。通过使用双重数字签名技术,银行和商家只能看到同一条购物信息中自己所需要的那一部分信息,更好地保护了客户的隐私权和电子商务交易活动的安全性。
|
|
|
|
在支持技术上,SSL协议与SET协议可以说是一致的,都采用了对称密钥加密、非对称密钥加密、数字摘要与数字证书等加密和认证技术;对信息传输的机密性来说,两者的功能是相同的,且都能保证信息在传输过程中的保密性及完整性,但两者在实现目标、实现机制、安全性等方面有所不同。
|
|
|
SSL协议提供在Internet上的安全通信服务,是在客户机和服务器之间建立一个安全通道,保证数据传输机密性;SET协议是为保证银行卡在Internet上进行安全交易提出的一套完整的安全解决方案。SSL协议面向连接,SET协议则允许各方之间非实时交换报文。
|
|
|
SSL协议只是简单地在双方之间建立安全连接,SET协议则是一个多方报文协议,它定义了银行、商家、持卡人之间必须遵循的报文规范;建立在SSL协议之上的卡支付系统只能与Web浏览器捆绑在一起,SET报文则能够在银行内部网或其他网络上传输。
|
|
|
SSL协议与SET协议在网络中的层次也不一样。SSL协议是基于传输层的协议,SET协议是基于应用层的协议。SSL协议在建立双方安全通信通道后,所有的传输信息都被加密,SET协议则会有选择地加密一部分敏感信息。
|
|
|
从安全性来讲,SSL协议中,信息首先发往商家,商家能看到客户的信用卡账户等支付信息。SET协议则通过双重数字签名技术,保证商家看不到客户的支付信息,银行也看不到客户的购买信息,更好地保护了客户的安全和隐私。
|
|
|