MPF 模块化策略框架
MPF( modular policy framework),模块化策略框架,类似于Qos里面的MQC(modular Qos command)模块化的QOS命令行。我们可以通过MPF来做一些QOS或者内容过滤,***防范,协议监测,高级TCP设置,限速等流量控制。能过对一些流量分类做标记,针对这些流量再依次制定相应的policy,然后调用生效。
Class-map:流量分类,
Policy-map:定义策略
Service-policy: 策略调用
在防火墙里面, class-map只能match一个,一个接口只能调用policy,而一个policy却能调用多个class。
Top:
 

1,         http的检测:对 uri含有vdm字段的http连接reset掉。
命令:
regex http vdm//定义正则表示,以便深度检测 URLhttp请求中的vdm字段。
      Class-map type inspect http match-all htt//定义层七的 class-map,进行流量内容匹配,调用regex
      Match request url regex http
      Policy-map type inspect http match-all htt
//创建层七的 policy-map关联层七的class-map,并reset含有vdmURL的HTTP请求。
      Class htt
      Reset
Class-map http/层三的 class-map
Match port tcp eq 8888 /也可以定义 ACL来匹配8888HTTP流量
Policy-map mpf /层三的 policy-map
Class http
Ip inspect http htt调用了层七的 policy-map
Service-policy mpf interface outside//策略应用于出接口
可以看见,已经不能使用 vdm ***设备管理这个页面了。
2,         dns监测:如果发出有 www.hao123.com的DNS查询则认为是禁止访问的流量。
R2#ping www.hao123.com
 
Translating "www.hao123.com"...domain server (192.168.1.1)
% Unrecognized host or address, or protocol not running.
 
R2#
访问不了啊,
。。。
3,         限制 TCP连接数以及速率限制
配置:
Access-list outtcp permit icmp any any
class-map tcp-num
 match access-list outtcp
高级 TCP
tcp-map tcp
 syn-data drop//如果 syn里面带有数据时被认为具有危害性的数据或连接,drop掉连接
policy-map mpf
class tcp-num
 set connection conn-max 1000 embryonic-conn-max 400 per-client-max 500 per-client-embryonic-max 200
 set connection advanced-options tcp//高级 tcp
 police input 8000 1500
 
 
R2#ping 192.168.1.1 size 8100 repeat 20
Type escape sequence to abort.
Sending 20, 8100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:
!!!!!!!!!!!!!!!!!!!!
Success rate is 100 percent (20/20), round-trip min/avg/max = 48/67/128 ms
R2#ping 192.168.1.1 size 8100 repeat 20
Type escape sequence to abort.
Sending 20, 8100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:
!!.!.!!.!.!!.!.!!.!.
Success rate is 60 percent (12/20), round-trip min/avg/max = 76/103/144 ms
可以看到超过了那个速率的包是被丢弃了的。