实施URL过滤一般分为以下三个步骤:
1.创建class-map(类映射),识别传输流量;
2.创建policy-map(策略映射),关联class-map;
3.应用policy-map到接口上。
创建class-map,识别传输流量
ASA(config)# access-list 100 permit tcp 192.168.1.0 255.255.255.0 any eq www
ASA(config)# class-map 100
#创建类映射
ASA(config-cmap)# match access-list 100
#在class-map中定义允许的流量
ASA(config)# regex url1 "\.kkgame\.com"
#定义名称为url1的正则表达式,表示URL扩展名是“.kkgame.com”
ASA(config)# class-map type regex match-any url_class1
#创建名称为url_class1的class-map,类型为regex
ASA(config-cmap)# match regex url1
#关键字match-any表示匹配任何一个
ASA(config)# class-map type ×××pect http http_url_class1
#创建名称为http_url_class1的class-map,类型为×××pect http(检查http流量)
ASA(config-cmap)# match request header host regex class url_class1
#匹配http请求报文中的host域中的URL扩展名“kkgame.com”,
url_class1表示调用名称为url_class1的class-map
创建policy-map,关联class-map
ASA(config)# policy-map type ×××pect http http_url_policy1
#创建名称为http_url_policy1的policy-map,类型i n spect http(检查http流量)
ASA(config-pmap)# class http_url_class1
#调用之前创建的class-map
ASA(config-pmap-c)# drop-connection log
#drop数据包并关闭连接,并发送系统日志
ASA(config)# policy-map ×××ide_http_url_policy
#创建名称为i n side_http_url_policy的policy-map,它将应用到接口上
ASA(config-pmap)# class 100
#调用之前创建的class-map
ASA(config-pmap-c)# ×××pect http http_url_policy1
#检查http流量
应用policy-map到接口上
ASA(config)# service-policy ×××ide_http_url_policy interface ×××ide
#应用policy-map到×××ide区域
这个配置有点麻烦,所以整理了一个文档
access-list tcp_filter1 permit tcp 192.168.1.0 255.255.255.0 any eq www
class-map tcp_filter_class1
match access-list tcp_filter1
exit
regex url1 "\.kkgame\.com"
class-map type regex match-any url_class1
match regex url1
exit
class-map type ×××pect http http_url_class1
match request header host regex class url_class1
exit
policy-map type ×××pect http http_url_policy1
class http_url_class1
drop-connection log
exit
policy-map ×××ide_http_url_policy
class tcp_filter_class1
×××pect http http_url_policy1
exit
service-policy ×××ide_http_url_policy interface ×××ide
(和谐的字符为 i n s)大致能看懂就好,稍微修改一下就可以满足自己的基本需求了