Cisci ASA上的URL過濾
一 URL過濾
利用ASA防火牆IOS的特性實施URL過濾可以對通路的網站域名進行控制
·實施URL過濾一般分為三個步驟
1建立class-map(類映射),識别傳輸流量
2建立policy-map(政策映射),關聯class-map
3應用policy-map到接口上
·實施URL過濾的模拟實驗
實驗要求:
1要求PC1不能通路www.baidu.com
2要求PC2不能通路www.sina.com.cn
2過了一段時間,公司要求内網所有主機都不能通路www.qq.com
實驗環境:如圖所示
GNS3模拟環境中PC1和PC2使用雲裝置分别連接配接兩台虛拟機,且在hosts檔案中分别添加三條要求中的主機記錄;Web伺服器使用路由器模拟,開啟http服務即可
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYWan5SZsRGZp1mYfN3X0xWdhZWZk9CXzV2Zh1Wavw1M29CXsBXb09CXn9Gbi9CXuNmLt92YuEmbpNnLyU2Zh1Wavw1LcpDc0RHaiojIsJye.gif)
實驗步驟
1 ASA上的基本配置
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYWan5SZsRGZp1mYfN3X0xWdhZWZk9CXzV2Zh1Wavw1M29CXsBXb09CXn9Gbi9CXuNmLt92YuEmbpNnLyU2Zh1Wavw1LcpDc0RHaiojIsJye.gif)
配置動态PAT,讓内網主機可以通路網際網路(ISP)
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYWan5SZsRGZp1mYfN3X0xWdhZWZk9CXzV2Zh1Wavw1M29CXsBXb09CXn9Gbi9CXuNmLt92YuEmbpNnLyU2Zh1Wavw1LcpDc0RHaiojIsJye.gif)
2配置ISP
用路由器模拟ISP,這裡隻需配置好接口位址即可(不用配置路由條目)
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYWan5SZsRGZp1mYfN3X0xWdhZWZk9CXzV2Zh1Wavw1M29CXsBXb09CXn9Gbi9CXuNmLt92YuEmbpNnLyU2Zh1Wavw1LcpDc0RHaiojIsJye.gif)
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYWan5SZsRGZp1mYfN3X0xWdhZWZk9CXzV2Zh1Wavw1M29CXsBXb09CXn9Gbi9CXuNmLt92YuEmbpNnLyU2Zh1Wavw1LcpDc0RHaiojIsJye.gif)
3配置web伺服器
用路由器模拟web伺服器,進行以下配置(配置好ip)
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYWan5SZsRGZp1mYfN3X0xWdhZWZk9CXzV2Zh1Wavw1M29CXsBXb09CXn9Gbi9CXuNmLt92YuEmbpNnLyU2Zh1Wavw1LcpDc0RHaiojIsJye.gif)
4配置PC機,并測試通路
分别配置兩台虛拟機的ip和網關,并在hosts檔案中添加三條解析條目
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYWan5SZsRGZp1mYfN3X0xWdhZWZk9CXzV2Zh1Wavw1M29CXsBXb09CXn9Gbi9CXuNmLt92YuEmbpNnLyU2Zh1Wavw1LcpDc0RHaiojIsJye.gif)
分别在兩台pc機上測試通路
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYWan5SZsRGZp1mYfN3X0xWdhZWZk9CXzV2Zh1Wavw1M29CXsBXb09CXn9Gbi9CXuNmLt92YuEmbpNnLyU2Zh1Wavw1LcpDc0RHaiojIsJye.gif)
開始配置URL過濾(ASA)
要求1 :PC1不能通路www.baidu.com
步驟1:建立class-map,識别傳輸流
1定義要控制的網段(ACL),并建立第一個class-map
建立一個名為tcp_filter1的ACL
asa(config)# access-list tcp_filter1 permit tcp 192.168.1.0 255.255.255.0 any eq www
再建立一個名為tcp_filter1_class1的class-map,并将ACL添加到這個class-map
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYWan5SZsRGZp1mYfN3X0xWdhZWZk9CXzV2Zh1Wavw1M29CXsBXb09CXn9Gbi9CXuNmLt92YuEmbpNnLyU2Zh1Wavw1LcpDc0RHaiojIsJye.gif)
3設定要控制的url位址,并建立第二個且類型為regex的class-map
建立一個url,再建立一個名為url_class1的class-map,并将url添加到這個class-map
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYWan5SZsRGZp1mYfN3X0xWdhZWZk9CXzV2Zh1Wavw1M29CXsBXb09CXn9Gbi9CXuNmLt92YuEmbpNnLyU2Zh1Wavw1LcpDc0RHaiojIsJye.gif)
4建立第三個且類型為inspect http的class-map
建立一個名為http_url_class1的class-map,并調用第二個clas-map,即表示在http請求封包頭中的url字尾是baidu.com的将被丢棄
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYWan5SZsRGZp1mYfN3X0xWdhZWZk9CXzV2Zh1Wavw1M29CXsBXb09CXn9Gbi9CXuNmLt92YuEmbpNnLyU2Zh1Wavw1LcpDc0RHaiojIsJye.gif)
其中regex class表示調用class-map
步驟2:建立policy-map,關聯class-map
1建立第一個類型為inspect http的policy-map
建立一個名為http_url_policy1的policy-map,并調用第三個class-map;設定的規則為drop資料包并關閉連接配接,發送系統日志
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYWan5SZsRGZp1mYfN3X0xWdhZWZk9CXzV2Zh1Wavw1M29CXsBXb09CXn9Gbi9CXuNmLt92YuEmbpNnLyU2Zh1Wavw1LcpDc0RHaiojIsJye.gif)
2建立第二個policy-map
建立一個名為inside_http_url_policy的policy-map(用來應用在接口);并調用第一個class-map。設定檢查http流量
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYWan5SZsRGZp1mYfN3X0xWdhZWZk9CXzV2Zh1Wavw1M29CXsBXb09CXn9Gbi9CXuNmLt92YuEmbpNnLyU2Zh1Wavw1LcpDc0RHaiojIsJye.gif)
步驟3:應用policy-map到接口上
隻能應用在inside接口上,且一個接口隻能應用一個policy-map
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYWan5SZsRGZp1mYfN3X0xWdhZWZk9CXzV2Zh1Wavw1M29CXsBXb09CXn9Gbi9CXuNmLt92YuEmbpNnLyU2Zh1Wavw1LcpDc0RHaiojIsJye.gif)
最後進行測試,發現pc1不能通路www.baidu.com
要求二:PC2不能通路
重複前面的步驟即可,但是要注意一下幾點
重新建立一個ACL,即名稱不能和第一個相同(PC2屬于2網段)
asa(config)# access-list tcp_filter2 permit tcp 192.168.2.0 255.255.255.0 any eq www
重新建立第一個class-map、第二個class-map、第三個class-map和第一個policy-map;然後将這個policy-map應用到第二個policy-map中(因為一個接口隻能應用一個policy-map,是以這裡不需要再建立第二個policy-map)
要求3:公司要求内網所有主機都不能通路www.qq.com
當還需要禁止其他url時,隻需進行以下操作即可
建立url2,應用到url_class1
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYWan5SZsRGZp1mYfN3X0xWdhZWZk9CXzV2Zh1Wavw1M29CXsBXb09CXn9Gbi9CXuNmLt92YuEmbpNnLyU2Zh1Wavw1LcpDc0RHaiojIsJye.gif)
再将url2應用到url_class2上即可滿足要求