ASA8.2版本组播支持stub组播(即PIX上原有的类似igmp代理的组播)以及PIM组播(真正的组播选路),但是二者不能同时配置,即一台 ASA要么处于stub网络的igmp组播代理模式,要么处于pim功能模式(作为一个组播网络的节点)。本文仅介绍思科ASA8.2的stub multicast功能,不介绍pim功能。

PIX防火墙的组播功能要求比较简单,仅仅是一个类似igmp代理的功能,主要完成两个任务:一是在组播下游接口接收igmp报文,二是向这些接口转发组播报文,至于pim的组播寻路相关功能是没有的。本文仅针对PIX6.3版本。

使能fixup时只有在PIX系统才指定协议的端口号,因为在PIX7.0系统中,还不存在MPF框架机制,配置在全局视图下进行,而在ASA和FWSM的MPF框架中,各Inspection(fixup)在定义之时已经在相应的策略和分类视图下(如上面的TFTP),有的协议还可以指定全局配置的策略视图(如上面的HTTP指定了名为http_pmap_name的策略,H323指定了名为h323_pmap_name的策略,这类协议的策略视图下面可以使用parameters命令配置一些高级参数,后面详细介绍),所以就无需在此再指定端口了,并且,MPF的策略和分类机制提供了更加复杂和灵活的流量分类方法。

MPF(Modular Policy Framework, 模块式策略框架)是思科ASA7.0版本引入的一套“对报文按规则分类并针对各分类灵活的应用不同策略”的机制。它由三部分组成,分类(class)、策略(policy)和应用(service),其中分类是将报文分类的机制,定义各种灵活的规则将报文划分为不同的“流”;策略是对“流”采取的“动作”;应用(service)是将策略在可指定的位置启用起来。思科ASA7.0版本之后的各种filter过滤功能和Inspect(即fixup)功能开始切换到这一框架之中实现并且功能上得到很大的强化和丰富(旧版本的fixup和filter过滤命令依然存在,以向后兼容)。Adreaman尝试通过本文对这一框架机制进行概要地基础性分析和总结。

据我所知,网络浏览的拦截无外乎下列三个方式:IP过滤、内容过滤和DNS劫持。这些过滤的前提就是浏览者的浏览动作的相关IP报文均能被拦截者截获和分析。一次浏览网页的过程就是用户终端浏览器(IE、Firefox等)向网页服务器(例如IIS、Apache等等)发出一个HTTP协议的请求报文(一般是一个HTTP的GET或POST请求),这请求报文中指明了浏览器想要获取的网页内容,网页服务器收到这个请求后就在网页服务器的处理后把相应访问结果以 HTTP响应的方式发回给浏览器(状态码200表示成功,404表示网页不存在,等等类似的一系列状态),如果是可正常处理的访问请求,就把用户请求的网页内容(一般就是HTML字符串)发送回用户的浏览器,浏览器解释HTML后将网页呈现在用户面前。当然,这一系列HTTP协议的交互是以TCP连接为通道通信的,TCP连接的建立和维护是这一切的基础和前提。

我们的实验是:令外网那台linux pc的web浏览器发出http浏览请求,ASA在为其建立HTTP连接时,先向内网的LDAP服务器的认证,通过认证后linux pc即可浏览dmz网络的http服务器上的网页内容。

真是很蹊跷,上篇博客刚刚发布后没两天,公司作出战略转移,路由器开发暂停,集中开发主力主攻防火墙产品线。所以,花两周左右的时间把目前手头上的TCP/IP协议软件开发收尾后,我就将投入防火墙产品的开发了。