思科ASA防火墙filter命令配置与功能介绍

思科的filter过滤可以分为内容过滤和URL地址过滤两个大的方面。

内容过滤包括ActiveX和JavaApplet的过滤,功能是阻止用户浏览器获取到HTML标准的网页中的ActiveX控件或JavaApplet小程序,因为这些控件可能会在浏览器客户端运行而带来不可预知的风险。

先来了解一下HTMl中包含ActiveX和JavaApplet等对象的标准,只有知道他的标准格式,才能对其进行完美的过滤。

http://www.w3.org/TR/WD-object-970218
http://htmlhelp.com/reference/html40/special/object.html

W3C的标准文档http://www.w3.org/TR/WD-object-970218介绍了如何在HTML文档中插入多媒体对象(Multimedia object. 包括Java applet、微软的组件对象模型COM-例如一些Activex控件、或其他一些媒体插件)的标准方式。该标准定义了一个新的元素”<OBJECT>”,这个元素为嵌入各种多媒体对象提供了通用的解决方案。

插入JavaApplet例子

??? <OBJECT
?????? CODETYPE=”application/java-vm”
?????? CODEBASE=”http://host/somepath/”
?????? CLASSID=”java:program.start”
?????? HEIGHT=100
?????? WIDTH=100
??? >
??? <PARAM NAME=”options” VALUE=”xqz”>
??????? Your browser does not know how to execute Java applications.
??? </OBJECT>

ActiveX例子

??? <OBJECT
?????? id=clock1
?????? classid=”clsid:663C8FEF-1EF9-11CF-A3DB-080036F12502″
?????? data=”http://www.acme.com/ole/clock.stm”
??? >
??? fall back …
??? </OBJECT>

所以,防火墙对ActiveX或JavaApplet对象的过滤,实际就是检查HTTP协议流中的HTML字符串,解析其中的<Object> 、classid、codebase、codetype等字段,一旦发现嵌入ActiveX和JavaApplet的语句,就将其用<!–? –>符号注释掉。

下面介绍思科ASA防火墙的ActiveX和JavaApplet过滤的配置命令:

  1. filter activex
    使能(或去使能)activex过滤功能,并指定检视的端口范围和源地址网段及目的地址网段。
    配置命令
    [no] filter activex <port> [-<port>] | except <local_ip> <mask> <foreign_ip> <foreign_mask>
    参数说明
    port:0-65535
  2. ?

  3. filter java
    使能(或去使能)java applet过滤功能,并指定检视的端口范围和源地址网段及目的地址网段。
    配置命令
    [no] filter java <port> [-<port>] | except <local_ip> <mask> <foreign_ip> <foreign_mask>
    参数说明
    port:0-65535

?

URL过滤是指检查用户的网络客户端访问外网时指定的外网URL地址,例如,用户浏览网页时,浏览器地址栏中输入的URL就是防火墙检查的对象,FTP工具访问FTP服务器时,用户指定的服务器地址(域名或IP)就是防火墙检查的URL。思科ASA防火墙并不在防火墙本地进程检查URL,而是将检视请求发送给第三方的外部服务器来检视,第三方服务器检视完毕后再将结果返回给ASA防火墙,然后防火墙再根据检视结果处理网络数据报文。ASA支持的第三方服务器包括Websensesecurecomputing(即原来的N2H2)这两家厂商提供的服务器,securecomputing现在属于McAfee公司。

  1. 指定HTTP过滤使用的WEBSNS提供的URL过滤服务器并配置相关参数
    配置命令:
    [no] url-server [<(if_name)>] [vendor websense] host <local_ip> [timeout <seconds>] [protocol TCP|UDP [version 1|4]] [connections num_conns] ]
    参数说明:
    ifname:接口名(默认inside).
    vendor: 可以不指定,默认为websense.
    Local_ip:也可以为主机名域名.
    Protocal:默认TCP,指定为TCP时可以指定connections,即与服务器的最大连接数(1-100),默认5。
    Version:1或4.默认1,UDP时只能用4.
    timeoute(秒,10-120)? 默认30可以同时最多存在16个同类(要么websns要么n2h2,不可同时存在)服务器.
  2. 指定HTTP过滤使用的N2H2提供的URL过滤服务器并配置相关参数
    配置命令:
    [no] url-server [<(if_name)>] vendor {smartfilter | n2h2} host <local_ip> [port <number>] [timeout <seconds>] [protocol {TCP [connections <number>]} | UDP
    参数说明:
    ifname:接口名(默认inside).
    vendor: 指定为smartfilter即原来的N2H2或secure-computing.
    Local_ip:也可以为主机名域名.
    Port number:1-65535 默认4005.
    Protocal:默认TCP,指定为TCP时可以指定connections,即与服务器的最大连接数(1-100),默认5。
    Version:1或4.默认1,UDP时只能用4.
    timeoute(秒,10-120)? 默认30可以同时最多存在16个同类(要么websns要么n2h2,不可同时存在)服务器.
  3. 检视结果Cache功能。将检视结果缓存下来,供后续检视使用,可减少检视请求的发送次数。
    配置命令
    [no] url-cache { dst |?? src_dst } kbytes [ kb ]
    参数说明
    dst: 指定仅针对目的地址缓存
    src_dst: 针对<源、目的地址>二元组来缓存
    kb: (1-128) 指定cache的大小 单位KB。
  4. 缓存待检视报文(HTTP/FTP)。当检视未完成时,将web服务器或FTP服务器响应的HTTP/FTP数据报文缓存下来,等待得到检视结果后再处理。用户可以设置缓存的大小或关闭缓存功能。
    配置命令
    [no] url-block block block_buffer
    [no] url-block mempool-size memory_pool_size
  5. 参数说明
    block_buffer: (1-128) 指定可以缓存多少个包(每个包1550字节)
    memory_pool_size: (2-10240)指定缓存大小,单位KB。

  6. 缓存报文的最大URL长度。只有URL长度在指定长度之下的报文才可以缓存
    配置命令
    [no] url-block url-size long_url_size
    参数说明
    long_url_size: 报文的URL最大长度,单位KB,范围2-4(websns), 2-3(N2H2) , 默认值2.
  7. 使能HTTP检视并指定检视范围。指定哪些内网主机访问哪些web服务器时需要检视并设置相关选项参数
    配置命令
    [no] filter url <port> [-<port>] | except <local_ip> <mask> <foreign_ip> <foreign_mask> [allow]
    [cgi-truncate] [longurl-truncate | longurl-deny] [proxy-block]
    参数说明
    port:0-65535
    except:指定except范围,在该范围内即跳过filter过程。
    allow: 检视服务器无法连接时允许跳过检视步骤。默认为不允许。
    Cgi-truncate: 移除CGI语句(即将问号之后的内容忽略) 默认关闭。
    longurl-truncate: 当URL长度超过最大值(由url-block url-size long_url_size命令指定)时,仅使用主机名或IP地址作为URL。
    longurl-deny: 当URL长度超过最大值(由url-block url-size long_url_size命令指定)时,禁止该URL地址的流量。
    proxy-block: 阻断代理方式的流量。默认不阻断。常见的代理请求的特征即在http的URL中嵌套URL。
  8. 使能HTTPS检视并指定检视范围。指定哪些内网主机访问哪些web服务器时需要检视。HTTPS将HTTP协议封装在加密的SSL通道中传输,所以防火墙无法监视http协议和数据,只能检视目的web服务器的域名或IP。
    配置命令:
    no filter https <port> [-<port>] | except <local_ip> <mask> <foreign_ip> <foreign_mask> [allow]
    参数说明:
    port:0-65535
    except:指定except范围,在该范围内即跳过filter过程。
    allow: 检视服务器无法连接时允许跳过检视步骤。默认为不允许。
  9. 使能FTP检视并指定检视范围。指定哪些内网主机访问哪些FTP服务器时需要检视。
    配置命令:
    no filter ftp <port> [-<port>] | except <local_ip> <mask> <foreign_ip> <foreign_mask> [allow]
    [interact-block]
    参数说明:
    port:0-65536
    except:指定except范围,在该范围内即跳过filter过程。
    allow: 检视服务器无法连接时允许跳过检视步骤。默认为不允许。
    Interact-block: 禁止交互式客户端的ftp(交互式客户端使用当前相对目录而不是绝对目录作为目录字段)

防火墙的过滤功能建立在对标准协议的透彻解析之上,类似于“中间人”攻击方式,只要防火墙获得了“中间人”的地位,所有的标准协议都是可以解析和修改的,同样一把手枪,在罪犯和警察的手中,功能相同,性质不同。

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>