Fork me on GitHub

防火墙系列(三)-----防火墙的主要技术之代理技术

  • content
    {:toc}

防火墙系列(三)—–防火墙的主要技术

代理技术

代理技术概述

代理技术的防火墙用代理服务器的方式运行于内联网络和外联网络之间,在应用层实现安全控制功能,起到内联网络和外联网络之间应用服务的转接作用。

1.代理的执行流程(两种情况)

1.代理服务器监听内联网络中主机的请求,当请求到达代理服务器后,代理服务器根据安全策略对数据包的首部和数据部分信息进行检查,检查之后将内联网络中的主机源地址改为自己的地址之后将这个数据包发给外部的目的主机,这样外部的主机接到的信息是来自于代理服务器而不是源主机。目的主机应答的数据包也将发送到代理服务器,经过代理服务器检查允许通过后,代理服务器将数据包的目的地址改为内联主机的地址,之后发往目的主机。
类似于在内联网络和外联网络之间设置一个中转,外联网络并不清楚内联网络的拓补结构。

2.内部的主机只接受代理服务器的信息而不接收任何外部地址主机发来的信息,外部主机只能讲信息发往代理服务器,之后由代理服务器将信息转发给内联网路中的主机。代理服务器负责监控整个通信过程来保证通信过程的安全性。

2.处理代码

代理技术是通过在代理服务器上安装特殊的代理代码来实现的。代理程序可以只有服务器端的代码,也可以同时有server和client端代码。

客户端代码部署有两种方式:

1.在用户主机安装特制的客户端代理服务程序,这个客户端程序通过与服务端程序相连接为用户提供网络访问服务

2.重新设置用户的网络访问过程,用户首先登陆到代理服务器上之后再由代理服务器和目标服务器相连,比如在主流浏览器中设置代理之后再进行网页的访问。

3.代理技术和包过滤技术的安全性比较

  • 首先代理技术不仅只扫描数据包的头部的各个字段,还要进入到包的内部。还可以为安全检测和日志记录提供最详细的信息。而包过滤技术由于采用的是基于包头信息的过滤机制,没有进入到数据包的数据部分。
  • 外联网络只能看到代理服务器而不能见到内联网络,对内也是如此,这样实现了网络隔离,降低了用户被攻击的风险。
  • 包过滤技术通常由路由器实现,如果过滤机制被破坏,那么内联网络将毫无遮拦的与外部网络相接触,风险极高。而代理服务器被破坏的话,只是内外联网络连接中断。从这个角度来看,代理技术比包过滤更安全。

代理技术的具体作用

1.隐藏内部主机
上面已经大致讲过,这里不再赘述

2.过滤内容

在应用层检查的一个重要作用是可以扫描数据包的内容。这些内容是包过滤技术不能控制的
支持内容的扫描技术是代理技术与其他安全技术文档一个重要的区别

3.阻断url
代理服务器可以实现针对特定网址和服务器的阻断。

4.信息重定向
它能改变数据包的源地址和目的地址,从而实现重定向的目的

代理技术的分类

应用层网关

上面主要讲的就是应用层网关代理技术;在应用层截获进出的信息,对数据包进行深度的过滤,进入到数据包的数据部分进行分析过滤。但每一种服务都要写出针对这种服务的专用代理代码,这样会使得过程麻烦复杂,不同服务之间要通过不同的代理代码来实现代理,工作量大。

电路级网关

工作在会话层

连接请求方首先向电路级网关的TCP端口发出连接请求,之后网关再与目标主机进行连接,一旦连接建立,电路级网关就会在啷个方向上转发数据,正因为它位于会话层,所以对于应用层来说,它是一个通用的代理,可以传递各种应用层的服务,这一点相对于应用层网关来说是一个优势。
但电路级网关可以理解为包过滤技术的扩展,在数据包检测时无法探测数据包数据内容是非存在风险,这是他的劣势之一。

简单一个表格说明二者优劣





优点缺点
应用层网关能对数据包进行深入检测,能探测数据包数据部分是否存在风险针对不同服务需要编写不同的代理代码,工作量大,维护复杂
电路级网关工作在会话层对不同的应用层数据都适用(只要是依赖于TCP的程序)包过滤技术的扩展,无法深入数据包内部对数据部分进行检测

代理技术(总)优缺点

1.优点:

(1)代理服务器提供缓存功能,大部分信息在服务器上有缓存,这样在提交重复请求时可以从缓存获取信息而不必再次进行网络连接,提高网络性能,这方面一个很典型的例子,比如在使用校园网下载一款软件或文件时,可能你看到下载速度远高于你所应该用于的网络带宽,这就是因为你在连接外网的过程中时先经过学校的服务器,学校服务器上恰好有这个信息的缓存,所以你的下载速度飞快。

(2)外联主机无法看清内联网络,阻止了一切对内联网络的探测活动

(3)代理服务可以提供各种用户身份认证手段,加强服务的安全性。

(4)代理服务位于应用层,提供了详细的日志记录,有助于分析。

(5)代理技术的过滤规则比包过滤的过滤规则简单

2.缺点

(1)在访问数据流量大的情况下,代理技术会增加访问的延迟。

(2)应用层代理不能支持所有的协议

(3)对操作系统有明显依赖性,必须基于 某个特定的系统和协议

-------------本文结束感谢您的阅读-------------
0%