4)使用及测试防火墙。主要采用外部测试防火墙,这种测试分为两个阶段:第一阶段测试规则对外部入侵的能力,第二阶段测试内部规则。
9.防火墙产品简介
目前网络安全产品市场上,防火墙产品有竞争力的厂商有Checkpoint、DEC、IBM、NSC、TIS、BNT等,但最着名的厂商要数Checkpoint、Software Technologies、Trusted Infomation Sytem Corporation和Border Network Technologies Corporation。排名第一的Checkpoint的防火墙产品Firewall-I至今还是防火墙领域的主流产品,其产品特点是:采用Statequl inspection的革新体系结构,具有应用及过滤、安全性好等优点,不仅是公共防护系统,而且可以作为专用防护系统。其图形化界面易于使用,运用命令化规划来定义全球安全策略,在最大限度上减少了防火墙对系统资源的负冲击。除了Firewall-I以外,TIS公司的应用型网关防火墙Gauntlet,Border网络技术公司(BNT)的Border Wall也具有极强的竞争力。
除了防火墙产品以外,综合的网络安全解决方案也日益受到企业级和国家级用户的重视如微软的Internet安全网络框架就应用于最新的Explore浏览器和Windows NT中,它将公钥密码技术和口令安全技术有效地结合起来加以应用,在商业环境中有很强的竞争力。另外Netscape的SSL,Cradient的Web Crndader,Nortel的Entrust/Web CA的Enterprise Web Server都提供了综合的网络安全保护方案。
10.透明防火墙
随着防火墙技术的发展,安全性高、操作简便、界面友好的防火墙逐渐成为市场热点。在这种情况下,可以大大简化防火墙设置、提高安全性能的透明模式和透明代理就成为衡量产品性能的重要指标。
透明模式首要的特点就是对用户是透明的(Transparent),即用户意识不到防火墙的存在。要想实现透明模式,防火墙必须在没有IP地址的情况下工作,不需要对其设置IP地址,用户也不知道防火墙的IP地址。
防火墙作为一实际存在的物理设备,其本身也起到路由器的作用,所以在为用户安装防火墙时,就需要考虑如何改动其原有的网络拓扑结构或修改连接防火墙的路由表,以适应用户的实际需要,这样就增加了工作的复杂程度和难度。但如果防火墙采用了透明模式,即采用无IP方式运行,用户将不必重新设定和修改路由,防火墙就可以直接安装和放置到网络中使用,如交换机一样不需要设置IP地址。
透明模式的防火墙就好象是一台网桥(非透明的防火墙好象一台路由器),网络设备(包括主机、路由器、工作站等)和所有计算机的设置(包括IP地址和网关)无须改变,同时解析所有通过它的数据包,既增加了网络的安全性,又降低了用户管理的复杂程度。
而与透明模式相似的透明代理,和传统代理一样,可以比包过滤更深层次地检查数据信息。同时它也是一个非常快的代理,从物理上分离了连接,这可以提供更复杂的协议。例如带动态端口分配的H.323,或者一个带有不同命令端口和数据端口的连接。这样的通信是包过滤所无法完成的。
防火墙使用透明代理技术,这些代理服务对用户也是透明的,用户意识不到防火墙的存在,便可完成内外网络的通讯。当内部用户需要使用透明代理访问外部资源时,用户不需要进行设置,代理服务器会建立透明的通道,让用户直接与外界通信,这样极大地方便用户的使用。
一般使用代理服务器时,每个用户需要在客户端程序中指明要使用代理,自行设置Proxy参数(如在浏览器中有专门的设置来指明HTTP或FTP等的代理)。而透明代理服务,用户不需要任何设置就可以使用代理服务器,简化了网络的设置过程。
代理服务器可以做到内外地址的转换,屏蔽内部网的细节,使非法分子无法探知内部结构。代理服务器提供特殊的筛选命令,可以禁止用户使用容易造成攻击的不安全的命令,从根本上抵御攻击。
防火墙使用透明代理技术,还可以使防火墙的服务端口无法探测到,也就无法对防火墙进行攻击,大大提高了防火墙的安全性与抗攻击性。透明代理避免了设置或使用中可能出现的错误,降低了防火墙使用时固有的安全风险和出错概率,方便用户使用。
因此,透明代理与透明模式都可以简化防火墙的设置,提高系统安全性。但两者之间也有本质的区别:工作于透明模式的防火墙使用了透明代理的技术,但透明代理并不是透明模式的全部,防火墙在非透明模式中也可以使用透明代理。
7.3.2代理服务器
1.代理服务器的基本概念代理服务器(Porxy Server)为从Intranet到Internet的连接提供了另一个解决途径。代理服务器是处理流向外部主机信息的一个程序,其目的是代表在受保护网络上运行的客户机软件的利益。这就是说,Intranet的用户可以通过防火墙访问Internet。它像是一面单方向透明的镜子,你能透过镜子看到外面,而外面潜在的入侵者却看不到里面的内网。
代理服务器位于Intranet用户与Internet上的服务器之间。这时,通信的双方不直接对话,而只与代理服务器交谈。代理服务器同时既是客户机又是服务器,这种透明性是代理服务器的主要优点之一。
客户机与代理服务器通信,由代理服务器向外部真正的服务器传递经过核准的请求。当外部服务器发出响应后,此响应由代理服务器传给客户机。浏览器与Internet服务器之间没有直接的接触。代理服务器可以在双主服务器或堡垒服务器上运行,它要求代理服务器应该是一台用户可以接触的计算机,并且它可以与Internet所代表的外部世界交流。
当然,代理服务器并不是单纯的转发对Internet的请求,它还对经过它转发的请求进行检查,因此它能对用户实施有效的控制。根据安全保密制度的规定,这些请求既可以得到核准然后转发出去,也可以被拒绝。高级代理服务器能区别对待不同的用户,给不同的用户以不同的能力。代理服务器一般配有一定机制,用来限制Web浏览器与真正的Internet服务器之间IP层的流量。用户靠浏览器与真正的Internet服务器之间的IP连接就有可能绕开代理服务器。这将会在单位的网络上引起另外一种安全保密问题。
2.为什么要进行代理
如果用户不能访问Internet,那么与其连接就没有意义。另一方面,若你的信筒中的所有主机都能自由地访问Internet,则在与Internet网连接时将没有安全感。对于这种情况,现在已经提出一些方案来解决这个问题。
最有效的办法是为你所有的用户提供一台主机与Internet连接,因为这些措施对用户来说是不透明的,那些想访问Internet的用户将无法直接访问,他们不得不在双重宿主主机上登录,并从那里访问Internet,然后将结果送回到他们自己的主机,这种多步处理方法要使用户进行多次传送并且离开他们所熟悉的环境。
对于一个具有多操作系统的站点来说情况将更糟糕,没有配置代理系统的双宿主的主机对于利用它来访问Internet的用户来说,会大大降低他们所获得的效益。另外,它一般难以提供足够的安全机制来保护系统,特别是对于要与外界连接的主机。
代理系统通过避免用户在双重宿主主机上登录和强迫通过控制软件来解决安全问题。因为代理软件的运行不需要用户登录带双重宿主主机,它所运行的主机由于没有随意的登录而得到了安全。人们不得不安装控制软件而访问Internet,代理就是这样一个控制系统。
3.设置代理服务器
代理服务器可以用通常认为是“坏地址”的地址来设置。“坏地址”指的是无法通过Internet进行路由选择的一些IP地址。这些地址通常分配给代理防火墙服务器后面的网络。
设置代理服务器在用户端主要有两种方法:
1)定制用户软件
采用这种方法,软件必须知道当用户提出请求时怎样与代替真实服务器的代理服务器与真实服务器进行连接,并且告诉代理服务器如何与真实服务器连接。
2)定制用户过程
采用这种方法时,用户使用标准的用户软件与代理服务器连接,并通知代理服务器与真实服务器连接,以此来代替与真实服务器连接。
4.代理服务器的优缺点
1)代理服务器的优点
代理服务允许用户“直接”访问Internet,采用双宿主主机的方案,用户需要登录到主机上才能访问Internet,有些用户就可能寻找其它方法来通过防火墙。而采用代理服务器则是直接访问因特网。
代理服务适合于做日志,因为代理服务懂得优先协议,它们允许日志服务以一种特殊且有效的方式来进行。比如一个FTP代理服务器只记录发出的命令和服务器接收的回答,来代替记录所有的数据传输,这样产生的日志就会小而有用。
2)代理服务器的缺点
代理服务落后于非代理服务,尽管代理服务器已广泛应用于一些老而旧的服务,但是要找到一些为了某些新而少的服务使用的可靠软件是很困难的。在一个服务器和它的代理服务之间一般会有一个明显的延迟,这个延迟时间的长短依赖于为代理而设计的服务器。这使得一个站点在提供一个新的服务时无法立刻提供代理服务,在可以使用代理服务之前,该服务不能放在防火墙内,这样一来就又安全漏洞产生。
每个代理服务要求不同的服务器,用户可能需要为每个协议配置不同的代理服务器,因为代理服务器需要按照协议来进行决策,它对真实服务器来说是用户,而对用户来说是真实服务器。因此选择、安装和配置这些不同的代理服务器是一项复杂的工作。
代理服务一般要求对客户或程序进行修改,除了一些专门为代理而设计的服务外,代理服务器要求用户或程序进行修改,每一种修改都有其不足之处,人们无法使用正常的方式来进行工作。因为这些修改,代理应用就可能没有非代理应用运行得那样好,同时对于协议的理解也可能有偏差,并且一些用户程序和服务器要比非代理服务缺乏灵活性。
代理服务对某些服务来说是不适用的,代理服务能否实现,取决于能否在客户和真实服务器之间插入代理服务器,则要求两者间的交谈有相对的直接性。代理服务不能保护不受协议本身缺点的限制,作为一个确保安全的方案,代理首先要判断对协议中哪些操作是安全的,但并不是所有的协议都能方便地做到这一点。并且假如禁止这些不安全的操作,系统就不能正常地运转了。
5.代理服务器的类型
1)应用级与回路级代理
应用级代理是一直为某个应用提供的代理服务,它能了解并解释应用协议中的命令,而回路级在用户端与服务器之间不解释应用协议中的命令就建立了连接回路。大多数应用级代理的应用是由它来完成存储转发协议时。大部分最新回路级代理是一个新式的代理网关,这个网关对外像一个代理,对内像一个过滤路由器。
2)公共与专用代理服务器
虽然“应用级”和“回路级”是常用的术语,但是更要注重“公共”和“专用”代理服务器的区别。一个专用代理服务器只适用于单个协议,而一个公共代理服务器则适用多个协议。实际上专用代理服务器是应用级的,而公共代理服务器是属于回路级的。由于存在一个了解许多协议的公共的应用级代理服务器,或一个专用的回路级代理服务器(只提供一个服务,但了解多个协议),因此采用“专用”和“公共”这两个术语要比“应用级”和“回路级”更容易理解。
3)智能代理服务器
如果一个代理服务器不光是转发请求,同时还能够做其它许多事情的话,这样的代理服务器就成为智能代理服务器,如CERN HTTP代理服务器还能够将数据保存在缓存中,以便同样的数据可以不必再从Internet上下载了。代理服务器(特别是应用级代理服务器)可以比其它方式提供更好的日志和访问控制功能。代理服务器的功能在不断迅速发展,现在已有许多代理服务器除了提供基本功能外,还在不断增加新的功能。对于一个专用的应用级代理来说很容易升级到智能代理服务器,但对一个回路级的代理来说则较为困难。
7.3.3数据包过滤
1.数据包的概念数据包是由各层连接的协议组成的。在每一层,包都有包头与包体两部分组成。在包头中存放与这一层相关的协议信息,在包体中存放包在这一层的数据信息。这些数据也包含了上层的全部信息。在每一层上对包处理时将以上层获取的全部信息作为包体,然后依本层的协议再加上包头。这种对包的层次性操作(每一层均加上一个包头)一般称为封装。