ISA防火牆同時是網絡防火牆和Web代理服務器
ISA Server的防火牆組件允許它同時執行數據包過濾和應用層狀態識別
而Web代理組件允許它作為CERN兼容的HTTP
Web代理服務器
Web代理組件(實際上是ISA Server
防火牆內部的Web代理過濾器)可以對HTTP通信進行解碼
執行應用層狀態過濾
然後在轉發給外部的目的Web服務器時重建HTTP通信
可是
對於在受ISA防火牆保護的網絡中的主機和一台外部網絡的Web服務器間建立的SSL連接有點不一樣
當內部主機通過ISA防火牆的Web代理組件發起SSL請求時
ISA防火牆可以檢查HTTP頭或者根據訪問規則來執行過濾
但是
當它們之間的SSL連接建立後
由於在它們之間傳輸的數據實行了SSL隧道加密
ISA防火牆將不能再檢查它們之間傳輸的數據
在內部Web客戶和目的Web服務器之間建立SSL隧道的過程如下所示
內部的Web客戶通過在Web浏覽器的地址欄中發起一個對目的Web服務器的SSL對象的請求
如
https:URL_Name
用戶將把這個請求發送到ISA防火牆的
端口(默認的Web代理偵聽端口)
CONNECT URL_name:
HTTP/
ISA防火牆連接目的Web服務器的
端口
當連接建立後
ISA防火牆返回數據給Web客戶
HTTP/
connection established
從此時開始
客戶直接和外部的Web服務器通信
而不再經過ISA防火牆的Web代理組件
因此
ISA防火牆不能再對封裝在SSL隧道中的數據和命令執行應用層狀態識別
當外部Web服務器使用標准的SSL端口TCP
時
一切都是很正常的
但是
有時候你的Web代理客戶也會使用其他的端口來訪問SSLWeb站點
例如
Web代理客戶可能會使用端口
替代
來訪問銀行的Web站點
這樣會導致SNAT客戶和防火牆客戶產生錯誤
因為ISA防火牆默認會轉發SNAT客戶和防火牆客戶的HTTP連接到Web代理過濾器
客戶可能會看見空白頁或者指出該頁面不能訪問的錯誤頁
這個問題就是Web代理過濾器會轉發SSL連接到TCP端口
如果客戶想連接其他不使用TCP
端口的SSL站點
那麼連接嘗試將會失敗
你可以通過擴展SSL隧道端口范圍來解決這個問題
為了做到這一點
你需要下載Jim Harrison的腳本
然後運行時輸入你想讓ISA防火牆Web代理組件使用的SSL隧道端口范圍
執行以下步驟以擴展SSL隧道端口范圍
下載 isa_tpr
js 文件
(_tpr
js)
然後將其復制到ISA防火牆計算機上
注意
不要使用ISA防火牆上的浏覽器
也不要在ISA防火牆上運行其他客戶端程序
如電子郵件客戶端等等
雙擊運行 isa_tpr
js
在第一個對話框上你可以看到你當前的狀態信息
This is your current Tunnel Port Range list
點擊確定
此時
NNTP端口顯示出來了
點擊確定
然後
SSL端口顯示出來了
點擊確定
現在復制isa_tpr
js這個文件到C盤根目錄
然後打開一個命名提示符窗口
輸入以下命令
isa_tpr
js /?
你會看到以下對話框
為了添加一個新的SSL隧道端口
例如
則輸入以下命名行
敲回車
Cscript isa_tpr
js /add Ext
此時
你可以看到如下的信息
提示你命令運行成功
另外
你還可以下載Steven Soekrasno編寫的
NET程序
ISATpre
zip()
然後在ISA防火牆上安裝
這個程序提供了一種更為簡單的方法來允許你修改SSL隧道端口范圍
下圖是此程序的運行界面
輸入你想定義的端口范圍和名字
然後點擊Add Tunnel Range按鈕
再點擊Refresh
你就可以看見列表中新的SSL隧道端口范圍
注意
以上的情況都只是通過Web代理過濾器訪問HTTP協議的情況
如果你對HTTP協議取消了Web代理過濾器的識別
SNAT客戶和防火牆客戶通過ISA防火牆的HTTP訪問將不會轉發到Web代理過濾器
此時
你可以通過定義一個使用其他SSL端口的協議和允許訪問此協議的出站訪問規則來實現客戶對外部非標准SSL端口(TCP
)的Web站點的訪問
From:http://tw.wingwit.com/Article/os/fwq/201311/29775.html