PIX访问控制列表和内容过滤(4)
PIX访问控制列表和内容过滤(4) 四、恶意活动代码过滤 www.zhishiwu.com 1、Java Applet过滤 Java程序可能成为入侵内部系统的途径。为了解决该问题,通过启用Java过滤可以阻止内部系统下载Java applets。当允许访问80端口(HTTP)时,就有可能下载Java applets。某些Java applets可能包含隐藏代码,会破坏位于内部网络中的数据。 PIX防火墙的Java applet过滤可以针对每个客户端或者每个IP地址来阻止Java应用程序。当启用了Java过滤,PIX防火墙将搜索程序中的“cafe babe”字符串。一旦找到该字符串,防火墙将拒绝这个Java applet。典型的Java类代码段如下:00000000:cafe babe 003 002d 0099 0900 8345 0098 2、ActiveX过滤 ActiveX控件,作为对象连接和嵌入(OLE)控件(OCX)的前身,是一种可以被嵌入在web页面中的小程序,经常用在动画后者其他应用程序中。ActiveX控件因提供了攻击服务器的途径而带来安全问题。因此,可以使用PIX防火墙阻止所有的ActiveX控件。 使用filter activex | java命令将过滤出站数据包中的ActiveX或者Java应用。 filter activex | java命令的语法如下:filter activex | java port [-port] local_ip mask foreign_ip mask●activex--用于阻止出站数据包中的ActiveX和其他HTML<object>标签●java--用于阻止从出站连接返回的Java applets●port--在PIX防火墙上接收Internet流量的端口●local_ip--能访问的具有最高安全级别的接口的IP地址●mask--通配符掩码●foreign_ip--能访问的具有最低安全级别的接口的IP地址 当用户访问由alias命令指向的IP地址时,将不进行ActiveX过滤。 filter命令可以开启或关闭出站URL或HTML的过滤。下面列出了一些命令,用来过滤网络中来自内部主机到外部主机在80端口的ActiveX控件。pixfirewall(config)#filter activex 80 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 五、URL过滤 www.zhishiwu.com URL过滤应用程序能够为PIX防火墙提供URL过滤,能更有效地监视和控制网络流量。由于PIX防火墙本身没有URL过滤功能,所以必须通过使用URL过滤应用程序来过滤特定地URL。可以使PIX防火墙与WebSense或者N2H2 URL过滤应用程序合作来实现这个目的。 当PIX防火墙收到来自用户访问某URL的请求时,将查询URL过滤服务器来决定是否返回这个URL请求。而URL过滤服务器检查其配置来决定是否过滤该URL。如果该URL应该被过滤掉,那么URL过滤应用程序将显示出过滤信息或者使用户请求到某个指定的web站点的URL。 在使用URL过滤之前,必须至少指定一台服务器用来运行WebSense或N2H2 URL过滤应用程序,最多指定16台URL服务器。每次只能使用N2H2或WebSense中的一种应用程序。另外,在PIX防火墙上改动配置不会更新应用服务器的配置,必须依照各个厂商的说明书分别配置。 使用url-server命令来指定运行URL过滤服务的服务器,然后使用filter url命令来启用URL过滤服务。 WebSense中url-server命令的语法如下:url-server [(if_name)] vendor websense host local_ip [timeout seconds] [protocol TCP | UDP version [1 | 4]●if_name--认证服务器所在的网络接口名称。如果没有指定,缺省是inside。●vendor websense--指明URL过滤服务的厂商是WebSense●host local_ip--运行URL过滤应用程序的服务器●timeout seconds--在PIX防火墙切换到下一个指定的服务器前所允许的最大空闲时间。缺省为5秒。●protocol--可以使用TCP或UDP关键字来配置的协议。缺省为版本1的TCP协议。●version--可以使用关键字1或4来配置的协议版本。缺省是TCP协议,版本为1。TCP协议可以使用版本1或4,UDP协议只能使用版本4。 N2H2中url-server命令的语法如下:url-server [(if_name)] vendor n2h2 host local_ip [port number] [timeout seconds] [protocol TCP | UDP]●if_name--认证服务器所在的网络接口名称。如果没有指定,缺省是inside。●vendor n2h2--指明URL过滤服务的厂商是N2H2●host local_ip--运行URL过滤应用程序的服务器●port number--N2H2服务器端口。另外,PIX防火墙在该端口上监听UDP答复。缺省的端口号是4005●timeout seconds--在PIX防火墙切换到下一个指定的服务器前所允许的最大空闲时间。缺省为5秒。●protocol--可以使用TCP或UDP关键字来配置的协议。缺省为TCP 在指定完运行URL过滤应用程序的服务器后,使用filter url|ftp|https命令让PIX防火墙向该服务器发送适当的请求以便进行过滤。在版本为6.3的PIX防火墙上除了旧版本中所具有的URL过滤外,还支持FTP和HTTPS过滤。 下面例子中的命令的作用是让PIX防火墙向URL过滤服务器发送所有要被过滤的URL请求。在PIX防火墙上使用URL过滤时,filter命令中的allow选项至关重要。在URL过滤服务器处于离线状态时,如果使用了allow选项,PIX防火墙将不进行过滤而使所有URL请求继续前进;但是如果未使用allow选项,所有80端口的URL请求都将被阻止,直到服务器重新在线为止。pixfirewall(config)#filter url http 0 0 0 0 allow filter url|ftp|https命令的语法如下:filter url port [-port] | except local_ip local_mask foreign_ip foreign_mask [allow] [proxy-block] [longurl-truncate | longurl-deny][cgi-truncate]filter ftp port local_ip local_mask foreign_ip foreign_mask [allow] [interact-block]filter https port local_ip local_mask foreign_ip foreign_mask [allow]●url--从通过PIX防火墙的数据中过滤URL●ftp--从通过PIX防火墙的数据中过滤FTP地址●https--从通过PIX防火墙的数据中过滤HTTPS地址●port--在PIX防火墙上接收Internet流量的端口。典型的端口是80,但是也可以使用其他值。可以使用http或url来代替80端口●except--在以前的过滤条件下创建例外●local_ip--可以访问的具有最高安全级别的接口的IP地址●local_mask--local_ip的网络掩码●foreign_ip--可以访问的具有最低安全级别的接口的IP地址●foreign_mask--foreign_ip的网络掩码●allow--当URL过滤服务器不能用时,使出站连接不进行过滤就能通过PIX防火墙●proxy-block--防止用户连接到HTTP代理服务器●interact-block--防止用户通过交互式FTP程序连接到FTP服务器●longurl-truncate--无论URL缓存是否可用,都允许出站URL流量●longurl-deny--如果URL超出URL缓存大小的极限或者URL缓存不可用,拒绝URL请求●cgi-truncate--把CGI教本当作URL发送 长URL过滤 在版本为6.1和更早版本的PIX防火墙上,无法过滤大于1159字节的URL。在版本为6.2和更高版本的PIX防火墙上,用WebSense过滤服务器最多可以过滤长达4096字节的URL。还可以使用url-block url-size命令来增加所允许的单一URL的最大长度(只能用于WebSense)。 当用户发出一个长URL请求时,PIX防火墙会把该长URL拆成多个IP数据包并拷贝到缓存中。该URL随后通过TCP被发送到WebSense服务器上。可以使用url-block url-mempool命令来配置可供长URL使用的最大缓存。使用url-block url-size和url-block url-mempool这两个命令的no格式可以删除它们。 PIX防火墙不支持用于WebSense UDP服务器的长URL。 如果一个URL的长度仍然超出所允许的最大长度或者URL缓存不可用,可以在filter url命令中使用其他新选项来控制这种行为。当URL的长度超过了所允许的最大长度时,longurl-truncate选项将使PIX防火墙只向过滤服务器发送URL中的主机名或IP地址作为判断依据,longurl-deny选项用来阻止出站URL流量。 如果一个长URL请求是一个CGI请求,使用filter url命令中的新选项cgi-truncate可以加快其处理过程。当启用cgi-truncate选项时,PIX防火墙只向WebSense服务器传递CGI脚本名及位置作为URL。PIX防火墙省略了可能很长的参数列表。 在版本为6.2的PIX防火墙上,用url-block block命令可以使PIX防火墙在收到过滤服务器的响应前,把来自web服务器的响应记录在缓存中。这将减少客户端等待HTTP响应的时间。而在版本6.1或者更早的PIX防火墙上,来自web服务器的响应在收到过滤服务器的响应之前将被丢弃,从而导致客户端不得不等待web服务器重新发送响应。响应缓存特性是与WebSense和N2H2这两个过滤应用程序一起产生作用的。使用url-block block命令的no格式可以关闭响应缓存特性。 在版本为6.2的PIX防火墙上,用于N2H2过滤服务器时最大可支持1159字节的URL。 url-block命令的语法如下:url-block url-mempool memory_pool_sizeurl-block url-size long_url_sizeurl-block block block_buffer_limit●memory_pool_size--在2到10MB之间的最大可分配内存,取值范围为2到10000之间●long_url_size--允许的最大URL长度,取值范围在2到6KB之间●block_buffer_limit--在HTTP响应缓存中所允许的块数的最大值 下面说明了启用长URL过滤所需要的配置:pixfirewall(config)#url-server (inside) vendor Websense host 10.0.0.30 timeout 5 protocol TCP version 1pixfirewall(config)#filter url http 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 longurltruncate cgi-truncatepixfirewall(config)#url-block url-mempool 1500pixfirewall(config)#url-block url-size 4