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
可以看到超过了那个速率的包是被丢弃了的。
转载于:https://blog.51cto.com/zenfei/574644