入門 硬件知識 電腦基礎 上網入門 故障 電腦修護 電腦健康 精通電腦 網站 DIV+CSS 建站知識 SEO知識
教程 電腦操作 平面設計 路由設置 技巧 Word Excel QQ技巧 壁紙 自然風景 酷車美女 系統桌面
系統 安裝系統 系統技巧 系統設置 安全 木馬查殺 黑客防御 安全資訊 美女 明星寫真 清純美女 性感美女

主頁 > 服務器 > ISA2006 > INTRODUCE

深入剖析ISA2006防火墻策略的執行過程:ISA圖文教程六

發布時間:2013-10-25 作者:電腦知識網 來源:www.2994509.live 字號:

很多初次接觸ISA的管理員,經常會發現自己的管理意圖沒有得到貫徹。自己明明禁止用戶使用QQ聊天,可你看這個老兄正在和多個MM聊得熱火朝天;早就禁止在上班時間訪問游戲網站,可這個家伙不正在和別人下棋嗎?最郁悶的是就連簡單的禁止訪問百度搜索引擎都做不到,照樣有很多人用百度搜來搜去……不少深感智力受到侮辱的網管憤怒地發出了“ISA就是不靈”的吼聲。ISA真是不靈嗎?不是的,其實發生這些的主要原因是ISA管理員并沒有真正理解防火墻策略的執行過程。今天我們就來好好地分析一下ISA防火墻策略的執行過程,避免在以后的工作中犯類似的錯誤。

首先聲明,我們今天討論的是ISA2006標準版的策略執行過程,企業版比標準版要復雜一些,以后我們再討論。我們可以把ISA當作是信息高速公路上的一個檢查站,當有數據包要通過ISA時,ISA就會利用策略對數據包進行檢查,檢查通過就放行,否則就拒絕。ISA檢查數據包的順序是:

一 檢查是否符合網絡規則

二 檢查是否符合系統策略

三 檢查是否符合防火墻策略

 

網絡規則

一個數據包通過ISA時,ISA首先要檢查的就是網絡規則。網絡規則是ISA中非常重要而又很容易被忽視的一個因素。ISA檢查數據包時首先要考慮的就是這個數據包是從哪個網絡到哪個網絡,這兩個網絡間的網絡規則是什么。也就是說ISA是基于網絡進行控制,而不是很多朋友認為的基于主機進行控制。網絡規則只有兩種,路由或NAT。如果A網絡到B網絡的網絡規則為路由,那么數據包從A網絡到B網絡或者從B網絡到A網絡都有可能;如果A網絡到B網絡的網絡規則為NAT,那么數據包只有可能從A到B,而不可能從B到A。我們可以把兩個網絡比喻為兩個城市,網絡規則就象是城市之間的高速公路,如果兩個網絡之間的網絡規則為路由,那就象是兩個城市之間有一條雙向高速公路;如果網絡規則為NAT,則就相當于兩個城市之間有一條單行高速公路。

明白了網絡規則的作用,有些問題就很好解釋了。有些ISA管理員問過這樣一個問題:“我在ISA的防火墻策略中已經允許外網訪問內網,為什么外網機器還是訪問不進來?”現在來看這個問題就很簡單了,因為ISA認為內網和外網之間的網絡規則是NAT,如下圖所示,NAT規則決定了只有可能從內網到外網而不可能從外網到內網,因此當外網訪問內網時,ISA只需檢查網絡規則就。因此如果你確實需要外網訪問內網,你就應該先把內網和外網之間的網絡規則改為路由。

 

 

還有一個網絡規則的例子,有一個管理員用ISA把DMZ區的一個FTP服務器發布到了外網和內網,結果外網用戶訪問正常,內網用戶卻無法訪問。為什么,因為DMZ和外網是NAT關系,而DMZ和內網是路由關系。由于從DMZ到外網是NAT關系,外網用戶無法通過訪問規則直接訪問,所以通過發布規則訪問是合理的;而內網和DMZ是路由關系,因此內網用戶就應該通過訪問規則而不是發布規則來訪問。

綜上所述,網絡規則是ISA進行訪問控制時所要考慮的第一要務,只有從源網絡到目標網絡被網絡規則許可了,ISA才會繼續檢查系統策略和防火墻策略;如果網絡規則不許可,ISA會直接拒絕訪問,根本不會再向下檢查系統策略和防火墻策略。大家寫訪問規則時一定要注意這點。

系統策略

如果一個數據包通過了網絡規則的檢查,ISA接下來就要看看它是否符合系統策略了。ISA2006標準版中預設了30條系統策略,系統策略應用于ISA本地主機,控制著從其他網絡到本地主機或者從本地主機到其他網絡的通訊,系統策略中啟用了一些諸如遠程管理,日志,網絡診斷等功能。一般情況下,我們對系統策略只能允許或禁止,或對少數策略的某些屬性作一些修改。

以前曾經有朋友問我,為什么ISA安裝后防火墻策略中明明禁止了所有通訊,但ISA主機還是可以ping到其他計算機,是否ISA本機有某些特權呢?不是的,ISA能對其他網絡進行有限訪問完全是由系統策略決定的,只是由于系統策略沒有顯示出來,因此安裝完ISA后我們并沒有注意到它。

我們來看看系統策略到底有哪些內容,打開ISA服務器管理,右鍵點擊防火墻策略,如下圖所示,在查看中選擇“顯示系統策略規則”。


 

如下圖所示,我們看到了30條系統策略的內容。

 

 

編輯系統策略也可以用系統策略編輯器,系統策略編輯器為管理員提供了更為友好的管理界面,如下圖所示,右鍵點擊“防火墻策略”,選擇“編輯系統策略”。

 

如下圖所示,我們可以在系統策略編輯器中編輯系統策略。

 

 

系統策略的優先級比防火墻策略高,因此如果任務可以用系統策略完成,就不要用防火墻策略。例如有時候我們為了測試需要,允許從內網ping ISA服務器,這種需求完全可以用系統策略完成,如下圖所示,我們只要把內部網絡添加到允許ping本地主機的集合中,就可以完成任務了。

 

 

防火墻策略

防火墻策略用來控制源網絡和目標網絡的通訊,是ISA管理員控制網絡訪問的常規武器,也是本文討論的重點所在。防火墻策略的優先級就是按照規則排列的順序,而不是按照拒絕優先原則。由于系統策略優先級也是按照序號排列,和防火墻策略優先級完全一樣,我們甚至可以把防火墻策略看成是從31開始編號的系統策略。

數據包通過網絡規則的檢查后,就要面臨系統策略和防火墻策略的考驗了。ISA將從第一條策略開始檢查,檢查數據包的訪問請求是否匹配策略,如果匹配,就按照策略的規定執行,結果無非是禁止或允許。如果不匹配,ISA就將按順序檢查下一條策略,從第一條系統策略一直檢查到最后一條防火墻策略。那有人要問了,如果把所有策略都檢查完了還不匹配怎么辦?呵呵,這是不可能的,ISA自帶的最后一條防火墻策略內容是禁止所有網絡間的一切通訊,如下圖所示,這條防火墻策略可以與所有的網絡訪問相匹配,因此ISA實際上使用了隱式拒絕,也就是說如果某個訪問請求如果沒有被策略顯式允許,那肯定會被最后一條防火墻策略所拒絕。

 

 

看了上面的介紹,我們要注意兩點,一是策略順序,二是策略匹配。

 

A 策略順序

防 火墻策略的排列順序決定了優先級,排在前面的策略優先執行,根據這個原則,我們要好好設計一下防火墻策略的順序。例如,我們寫了兩條防火墻策略,一條是允 許內網用戶任意訪問,另外一條是拒絕內網用戶訪問聯眾游戲網站。如果排列順序如下圖所示,允許策略排在拒絕策略之前,那就是個錯誤的決定。拒絕訪問聯眾的 策略永遠不會被執行,因為當用戶訪問聯眾時,訪問請求匹配第一條防火墻策略,用戶就被防火墻放行了,第二條策略根本沒有執行的機會。正確的做法是將拒絕策 略放到允許策略之前!

 

 

B 策略匹配

策略匹配是ISA管理員關注的核心問題。前面我們一直在提如果網絡訪問和防火墻策略匹配,則按防火墻策略執行允許或禁止的操作。那么,問題是,怎么才算和防火墻策略匹配呢?

只有把這個問題搞清楚了,才能寫出符合你設計初衷的策略。

當ISA檢測到訪問請求時,ISA會檢查訪問請求能否匹配防火墻策略中的策略元素,策略元素的檢查順序為 協議,從(源網絡),計劃時間,到(目標網絡),用戶,內容類型。如果和這些元素都能匹配,ISA就認為訪問請求匹配防火墻策略。

從被檢查的策略元素來看, 到(目標網絡)元素最容易出問題。

目標網絡元素的問題容易出在哪兒呢?容易出現在DNS上,確切地說是出現在DNS的反向解析上!這個結論估計是很多管理員始料未及的,還是舉個例子加以說明吧,假設我們要禁止內網訪問百度,我見過很多管理員的處理方法都是這樣的,首先創建一個域名集,將[url]www.baidu.com[/url]包含進去,如下圖所示。

 

 

然后就寫出一條拒絕內網訪問百度的訪問規則,如下圖所示

 

 

我們在一臺內網計算機Denver上測試一下,Denver使用Web代理訪問百度,如下圖所示,錯誤信息表明ISA拒絕了Denver訪問百度的請求。這說明訪問請求和拒絕百度訪問的防火墻策略匹配成功,哈哈,看樣子大功告成了?且慢,再向下看。

 

 

我們在Denver上換用IP訪問,在IE中輸入202.108.22.5,如下圖所示,熟悉的百度界面已經出來了,哈哈,貌似嚴謹的訪問規則竟如此不堪一擊!這說明這次的訪問請求沒有和拒絕百度訪問的防火墻策略匹配成功,而是和第二條允許內網用戶任意訪問的防火墻策略匹配成功了。

 

 

看到這兒,有些朋友可能得出結論了,哦,原來用域名禁止訪問某個網站是不成立的。錯!如果202.108.22.5的反向解析結果為[url]www.baidu.com[/url],那么拒絕百度的防火墻策略就是成立的!

還是來認真分析一下原理吧,當客戶機用HTTP協議訪問目標網絡時,ISA判斷目標網絡的根據是HTTP主機頭,主機頭的內容顯然源自我們在瀏覽器中的輸入。當我們在瀏覽器中輸入[url]www.baidu.com[/url]時,ISA開始檢查訪問請求能否匹配第一條防火墻策略,也就是拒絕內網訪問百度的那條策略。ISA先檢查協議,從(源網絡),計劃時間三個元素,這三個元素都能和訪問請求匹配,然后ISA檢查到(目標網絡)元素,ISA根據主機頭內容判斷訪問請求中的目標網絡是[url]www.baidu.com[/url],而防火墻策略中的目標網絡元素也包含了[url]www.baidu.com[/url],因此ISA判斷訪問請求和到(目標網絡)元素也能匹配上。然后ISA檢查用戶和內容類型兩個元素也可以匹配,所以ISA判斷訪問請求和拒絕訪問百度的防火墻策略完全匹配,于是按照防火墻策略的要求拒絕了這次訪問請求。

當我們在瀏覽器中輸入202.108.22.5時,ISA是這么檢查的。首先還是判斷 協議,從(源網絡),計劃時間三個元素匹配策略,然后檢查到(目標網絡)元素,ISA判斷訪問請求的目標是202.108.22.5,而防火墻策略的目標網絡是包含[url]www.baidu.com[/url]的域名集,這時ISA會對202.108.22.5進行DNS反向解析,如果解析的結果等于[url]www.baidu.com[/url]。,ISA就認為訪問請求的目標網絡和策略的目標網絡也是匹配的。如果反向解析的結果不等于[url]www.baidu.com[/url](解析的結果確實不是百度的域名),ISA就認為訪問請求的目標網絡和防火墻策略的目標網絡不匹配。這樣ISA就會停止匹配第一條拒絕訪問百度的防火墻策略,轉而匹配第二條允許內網任意訪問的防火墻策略,匹配結果是完全成功,因此ISA執行第二條防火墻策略規定的動作,允許了對202.108.22.5的訪問。

如果客戶機不是用HTTP協議訪問目標網絡,那么匹配的過程又稍微有些不同。例如客戶機用FTP協議訪問[url]www.baidu.com[/url],那么客戶機在發送訪問請求時不會把[url]www.baidu.com[/url]作為目標網絡,而是先對[url]www.baidu.com[/url]進行域名解析,然后把解析出來的IP作為目標網絡發送給ISA。ISA對訪問請求進行匹配時,如果被匹配的防火墻策略用域名描述目標網絡,ISA就會對訪問請求發來的IP進行反向解析,看解析出的域名能否和防火墻策略的目標網絡相匹配。根據這個結論,我們用IE訪問[url]www.baidu.com[/url]會被拒絕,因為剛才分析過了,此時客戶機將域名[url]www.baidu.com[/url]作為訪問請求中的目標網絡發送給ISA,ISA認為訪問請求和拒絕訪問百度的防火墻策略完全匹配,因此客戶機被拒絕訪問。但如果客戶機在命令行下輸入telnet [url]www.baidu.com[/url] 80,如下圖所示,直接連接百度的80端口,ISA會如何處理呢?

 

 

如下圖所示,ISA對訪問請求放行了,顯然這次的訪問請求沒有和拒絕訪問百度的策略匹配上,原因是什么呢?

 

 

客戶機telnet百度80端口時,我在ISA上啟用了實時日志,日志記錄的結果如下圖所示。從日志上我們很清楚地看到,客戶機先對[url]www.baidu.com[/url]進行了DNS解析,解析結果為202.108.22.5,然后客戶機把202.108.22.5作為訪問請求的目標網絡發送給ISA,ISA對202.108.22.5進行反向解析,解析出的域名并不是[url]www.baidu.com[/url],因此ISA認為訪問請求和第一條防火墻策略并不匹配。然后ISA將訪問請求和第二條策略進行匹配,匹配成功后正從我們在日志中看到的那樣,訪問請求被第二條允許內網用戶任意訪問的策略放行了。

 

 

我們可以總結一下,客戶機使用HTTP協議訪問時,目標網絡取決于主機頭,而訪問者輸入的主機頭既可能是域名也有可能是IP(一般以域名居多);?蛻魴C使用其他協議訪問時,目標網絡一定是以IP進行描述!

現在我們考慮一下應該如果用ISA禁止用戶訪問某個目標網絡,那這個目標網絡應該如何描述,顯然只用域名描述是不嚴謹的,除非你確信DNS反向解析的結果對你有利(大部分情況下你會失望的)。如果保險一些,我們應該用域名+IP來描述目標網絡。以剛才的限制百度為例,用nslookkup查出[url]www.baidu.com[/url]的域名解析結果為202.108.22.43和202.108.22.5。創建一個計算機集將這兩個地址包含進去,如下圖所示。

 

 

然后就可以在拒絕訪問百度的策略中加入剛創建的計算機集,如下圖所示,這樣做效果如何大家可以自己試試看,肯定比只用域名要好得多。

 

 

 


文章: 深入剖析ISA2006防火墻策略的執行過程:ISA圖文教程六
地址:http://www.2994509.live/server/201310/8037.html
------分隔線----------------------------
------分隔線----------------------------
熱門ISA2006文章推薦
神武菜农怎么赚钱