現在呢,有很多管理上網行為的軟體,那麼ASA作為狀态化防火牆,它也可以進行管理上網行為,我們可以利用ASA防火牆iOS的特性實施URL過濾可以對通路的網站域名進行控制,進而達到某種管理目的。
實施URL過濾一般分成以下三個步驟:
1、建立class-map(類映射),識别傳輸流量。
2、建立policy-map(政策映射),關聯class-map。
3、應用policy-map到接口上。
配置執行個體:
使用下面簡單的網絡拓撲圖,在内網主機上編輯hosts檔案,添加如下記錄(若是生産環境,DNS伺服器等齊全,則可省略這步):
172.16.1.1 :www.kkgame.com 。
172.16.1.1 :www.163.com 。
實作内網網段192.168.1.0/24中的主機禁止通路網站www.kkgame.com 但允許通路其他網站(如www.163.com )。

配置步驟如下(接口等基本配置省略):
(1)、建立class-map,識别傳輸流量:
ciscoasa(config)# access-list tcp_filter1 permit tcp 192.168.1.0 255.255.255.0 any eq www
ciscoasa(config)# class-map tcp_filter_class1
ciscoasa(config-cmap)# match access-list tcp_filter1 #在class-map中定義允許的流量。
ciscoasa(config-cmap)# exit
ciscoasa(config)# regex url1 “.kkgame.com” #定義名稱為urll的正規表達式,
表示URL擴充名是“.kkgame.com”
ciscoasa(config)# class-map type regex match-any url_class1 #建立名稱為
url_class1的clas-map,類型為regex。關鍵字match-any表示比對任何一個。
ciscoasa(config-cmap)# match regex url1
ciscoasa(config)# class-map type inspect http http_url_class1 #建立
名為http-url-class1的class-map,類型為inspect http(檢查http流量)
ciscoasa(config-cmap)# match request header host regex class url_class1 #比對http請求
封包頭中的host域中的URL擴充名“.kkgame.com”,url_class1表示調用名稱為url_class1的class-map。
ciscoasa(config-cmap)# exit
(2)、建立policy-map,關聯class-map。
ciscoasa(config)# policy-map type inspect http http_url_policy1
#建立名稱為 http_url_policy1的policy-map,類型為inspect http(檢查http流量)
ciscoasa(config-pmap)# class http_url_class1 #調用之前建立的class-map
ciscoasa(config-pmap-c)# drop-connection log #drop資料包并關閉連接配接,并發送系統日志。
ciscoasa(config-pmap-c)# exit
ciscoasa(config-pmap)# exit
ciscoasa(config)# policy-map inside_http_url_policy #建立名稱為 inside_http_url_policy 的policy-map,
它将被應用到接口上。
ciscoasa(config-pmap)# class tcp_filter_class1 #調用之前建立的class-map
ciscoasa(config-pmap-c)# inspect http http_url_policy1 #檢查http流量
ciscoasa(config-pmap-c)# exit
ciscoasa(config-pmap)# exit
(3)、應用policy-map到接口上:
ciscoasa(config)# service-policy inside_http_url_policy interface inside
至此,已經實作了需求,需要注意的是,一個接口隻能應用一個policy-map。