對于防火牆産品來說,最重要的一個功能就是對事件進行日志記錄。本篇部落格将介紹如何對ASA進行日志管理與分析、ASA透明模式的原理與配置、利用ASA防火牆的IOS特性實施URL過濾。
一、URL過濾
利用ASA防火牆IOS的特性URL過濾可以對通路的網站域名進行控制,進而達到某種管理目的。
實施URL過濾一般分為以下三個步驟:
(1)建立class-map(類映射),識别傳輸流量。
(2)建立policy-map(政策映射),關聯class-map。
(3)應用policy-map到接口上。
案例:如下圖所示,實作網段192.168.1.0/24中的主機禁止通路www.4399.com,但允許通路其他網站,如www.163.com
<a href="http://yangshufan.blog.51cto.com/13004230/1968241" target="_blank"></a>
配置步驟如下:
(1)配置接口IP,實作全網互通(略)
(2)建立class-map(類映射),識别傳輸流量。
1
2
3
4
5
6
7
8
9
10
11
12
13
<code>asa(config)</code><code># access-list aaa permit tcp 192.168.1.0 255.255.255.0 any eq www //建立ACL</code>
<code>asa(config)</code><code># class-map aaa1 //建立class-map</code>
<code>asa(config-cmap)</code><code># match access-list aaa //在class-map中定義允許的流量</code>
<code>asa(config-cmap)</code><code># exit</code>
<code>asa(config)</code><code># regex urla "\.4399\.com" //定義名稱為urla的正規表達式,表示URL擴充名是"4399.com"</code>
<code>asa(config)</code><code># class-map type regex match-any urla1 //建立class-map,類型為regex,match-any表示比對任何一個</code>
<code>asa(config-cmap)</code><code># match regex urla //定義URL</code>
<code>asa(config)</code><code># class-map type inspect http urla2 //建立class-map,類型為inspect http(檢查http流量)</code>
<code>asa(config-cmap)</code><code># match request header host regex class urla1 </code>
<code>//</code><code>在http請求封包頭中的host域中的URL擴充名如果是</code><code>"4399.com"</code><code>,将被丢棄。regex class urla1表示調用名稱為urla1的class-map</code>
(3)建立policy-map(政策映射),關聯class-map。
<code>asa(config)</code><code># policy-map type inspect http policy1 //建立policy-map,類型為inspect http(檢查http流量)</code>
<code>asa(config-pmap)</code><code># class urla2 //調用之前建立的class-map</code>
<code>asa(config-pmap-c)</code><code># drop-connection log //drop資料包且關閉連接配接,并發送系統日志</code>
<code>asa(config)</code><code># policy-map policy2 //建立policy-map,将應用到接口</code>
<code>asa(config-pmap)</code><code># class aaa1 //調用之前建立的class-map</code>
<code>asa(config-pmap-c)</code><code># inspect http policy1 //檢查http流量</code>
(4)應用policy-map到接口上。
<code>asa(config)</code><code># service-policy policy2 interface inside</code>
注意:一個接口隻能應用一個policy-map。
二、日志管理
對于任何防火牆産品來說,最重要的功能之一就是對事件進行日志記錄,ASA使用同步日志(syslog)來記錄在防火牆上發生的所有事件。
1.日志資訊的安全級别
日志資訊的安全級别分為八個等級,如圖所示:
資訊的緊急程度按照重要性從高到低排列,emergencies(非常緊急)的重要性最高,而debugging(調試)的重要性最低。
2.配置日志
日志資訊可以輸出到Log Buffer(日志緩沖區)、ASDM和日志伺服器。
在配置日志前,一般需要先配置時區和時間,配置如下:
(1)配置時區,指令如下:
<code>asa(config)</code><code># clock timezone peking 8</code>
其中peking用來指明所在時區的名字,8是指相對于國際标準時間的偏移量,這個值的取值範圍為-23…23。
(2)配置時間,指令如下:
<code>asa(config)</code><code># clock set 19:30:00 24 Sep 2017</code>
然後可以分别配置Log Buffer、ASDM和日志伺服器。
(3)配置Log Buffer,指令如下:
<code>asa(config)</code><code># logging enable</code>
<code>asa(config)</code><code># logging buffered informational //配置日志的級别,也可以寫6,表示6以上的級别(0-6級别)</code>
注:Log Buffer(日志緩沖區) 的預設大小是4KB。
<code>asa(config)</code><code># show logging //檢視Log Buffer</code>
<code>asa(config)</code><code># clear logging buffer //清除Log Buffer</code>
(4)配置ASDM日志,指令如下:
<code>asa(config)</code><code># logging asdm informational //表示6以上的級别 ,informational可用6表示 </code>
<code>asa(config)</code><code># clear logging asdm //清除ASDM</code>
(5)配置日志伺服器
目前,有很多日志伺服器軟體。Firewall Analyzer是一款基于Web的防火牆日志分析軟體,利用該軟體能夠監控網絡周邊安全裝置、收集和歸檔日志,并生成報表。Firewall Analyzer能夠幫助網絡安全管理者有效監控帶寬和防火牆安全事件,全面了解網絡的安全狀況;監控使用/未使用的防火牆政策并優化政策;通過趨勢分析規劃網絡容量等。Firewall Analyzer支援多種裝置/廠商,支援Windows和Linux平台。
案例:如下圖所示,在win 2008上安裝Firewall Analyzer 6
①在ASA防火牆的配置如下:
<code>asa(config)</code><code># logging timestamp //啟用時間戳</code>
<code>asa(config)</code><code># logging trap informational</code>
<code>asa(config)</code><code># logging host inside 192.168.0.1 //定義日志伺服器的IP位址以及ASA的接口</code>
ASA與日志伺服器的通信預設使用UDP協定514端口。
②Firewall Analyzer 6安裝後,預設會啟用兩個SyslogServer,分别監聽UDP的514端口和1514端口。首先使用Firewall Analyzer 啟動服務程式,然後使用“Firewall Analyzer Web Client”進入使用者端界面,輸入初始使用者名和密碼。
③在主機Windows7上運作指令ping 192.168.0.1 -l 10000 -t 模拟攻擊,然後在Firewall Analyzer的Web界面上就可以檢視到相應的事件。
在“安全統計”下單擊“檢視Syslogs”可以檢視詳細的日志資訊。
④可以通過Firewall Analyzer的事件概要報表、安全報表生成報告。
三、透明模式
ASA安全裝置可以工作在兩種模式下,即路由模式和透明模式,預設情況下ASA處于路由模式。
1.透明模式
ASA從7.0版本開始支援透明模式。
在路由預設下,ASA充當一個三層裝置,基于目的Ip位址轉發資料包;在透明模式下,ASA充當一個二層裝置,基于目的MAC位址轉發資料桢(沒有配置NAT時)。
在8.0之前的版本中,透明模式下不支援NAT,8.0及其後續版本支援NAT配置。如果配置了NAT,ASA轉發資料包仍然使用路由查找。
處于透明模式下的ASA雖然是一個二層裝置,但與交換機處理資料桢存在着不同。
* 對于目的MAC位址未知的單點傳播資料桢,ASA不會泛洪而是直接丢棄。
* ASA不參與STP(生成樹協定)。
透明模式下預設允許穿越的目的MAC位址如下:
* 廣播MAC位址:FFFF.FFFF.FFFF
* Ipv4多點傳播MAC位址從0100.5E00.0000到0100.5EFE.FFFF。
* Ipv6多點傳播MAC位址從3333.0000.0000到3333.FFFF.FFFF。
* BPDU多點傳播MAC位址:0100.0CCC.CCCD (Cisco私有)。
* AppleTalk多點傳播MAC位址從0900.0700.0000到0900.07FF.FFFF。
透明模式下預設允許的三層流量如下:
* 允許Ipv4流量自動從進階别接口到低級别接口,而不必配置ACL。
* 允許ARP流量雙向穿越,而不必配置ACL。
ASA在透明模式下運作時,繼續使用應用層智能執行狀态檢測和各項正常防火牆功能,但隻支援兩個區域。
透明模式下不需要再接口上配置Ip位址,這樣就不用重新設計現有的Ip網絡,友善部署。
2.透明模式的配置
(1)切換到透明模式,指令如下:
<code>asa(config)# firewall transparent</code>
<code>ciscoasa(config)#</code>
需要注意的是:切換時會清除目前的配置。
檢視目前的工作模式的指令如下:
<code>ciscoasa(config)</code><code># show firewall</code>
如果要重新切換到路由模式,需要使用指令:no firewall transparent。
(2)管理IP位址
需要為ASA配置設定一個IP位址用于管理目的,管理Ip位址必須處于同一個連接配接子網。ASA将管理IP位址用作源于ASA的分組的源IP位址,如系統消息、AAA或SYSLOG伺服器。
管理IP位址的配置指令如下
<code>ciscoasa(config)</code><code>#ip address ip [mask]</code>
(3)MAC位址表及學習
<code>ciscoasa</code><code># show mac-address-table //檢視MAC位址表</code>
<code>ciscoasa(config)</code><code># mac-address-table aging-time minutes //設定動态MAC條目的過期時間(預設5分鐘)</code>
<code>ciscoasa(config)</code><code># mac-address-table static logical_if_name mac_address //設定靜态MAC條目</code>
<code>ciscoasa(config)</code><code># mac-learn logical_if_name disable //禁止特定接口的MAC位址學習</code>
案例1:如圖所示,公司為了網絡安全,新增了一台防火牆,為了友善部署,将ASA配置為透明模式,管理IP位址配置為192.168.1.253
ASA的配置如下:
<code>ciscoasa(config)# firewall transparent</code>
<code>ciscoasa(config)# hostname asa</code>
<code>asa(config)# </code><code>int</code> <code>e0/0</code>
<code>asa(config-</code><code>if</code><code>)# no sh</code>
<code>asa(config-</code><code>if</code><code>)# nameif outside</code>
<code>asa(config-</code><code>if</code><code>)# security-level 0</code>
<code>asa(config)# </code><code>int</code> <code>e0/1</code>
<code>asa(config-</code><code>if</code><code>)# nameif inside</code>
<code>asa(config-</code><code>if</code><code>)# security-level 100</code>
<code>asa(config-</code><code>if</code><code>)# </code><code>exit</code>
<code>asa(config)# ip add 192.168.1.253 255.255.255.0 </code><code>//配置管理IP位址</code>
案例2:如下圖所示,為了增強托管伺服器的安全,增加了一台ASA并配置為透明模式,管理IP位址為209.165.201.1/28
14
15
16
17
<code>ciscoasa(config)</code><code># firewall transparent</code>
<code>ciscoasa(config)</code><code># hostname asa</code>
<code>asa(config)</code><code># int e0/0</code>
<code>asa(config-</code><code>if</code><code>)</code><code># no shut</code>
<code>asa(config-</code><code>if</code><code>)</code><code># int e0/0.10</code>
<code>asa(config-</code><code>if</code><code>)</code><code># vlan 10</code>
<code>asa(config-</code><code>if</code><code>)</code><code># nameif inside</code>
<code>asa(config-</code><code>if</code><code>)</code><code># int e0/0.20</code>
<code>asa(config-</code><code>if</code><code>)</code><code># vlan 20</code>
<code>asa(config-</code><code>if</code><code>)</code><code># nameif outside</code>
<code>asa(config)</code><code># ip add 209.165.201.1 255.255.255.240</code>
<code>asa(config)</code><code># access-list ysf permit icmp any any </code>
<code>asa(config)</code><code># access-list ysf permit tcp any any eq 80</code>
<code>asa(config)</code><code># access-list ysf permit tcp any any eq 21</code>
<code>asa(config)</code><code># access-list ysf permit tcp any any eq 25</code>
<code>asa(config)</code><code># access-list ysf deny ip any any</code>
<code>asa(config)</code><code># access-group ysf in interface outside</code>
本文轉自 楊書凡 51CTO部落格,原文連結:http://blog.51cto.com/yangshufan/1968241,如需轉載請自行聯系原作者