在以前,我寫過一篇“別再隨便上網的文章”,介紹了使用ISA Server 2006、Windows Server 2003的Active Directory,主要內容是讓網絡中的計算機加入到域、然後安裝ISA Server防火牆客戶端、使用ISA Server作“代理服務器”後,才能讓用戶上網的文章。這是在奧運期間,給幾個政府做的網絡安全中的一部分。這個方案在很長的一段時間應用都沒有問題,但隨着用戶水平的提高,有以下問題:
(1)一些用戶發現,即使不加入到域,而在IE瀏覽器中指定代理服務器的地址(ISA Server的地址)與防火牆的端口,也能上網。
(2)在使用代理服務器後,除了要在IE中指定代理服務器的地址、端口外(這個是由ISA Server防火牆客戶端自動設置好的),其他的一些軟件,也需要指定代理服務器與端口,這樣就造成了用戶的負擔。雖然可以在ISA Server中設置策略(排除對HTTP之外協議的身份認證-創建策略,允許“所有用戶”從“內部”到“外部”使用除HTTP協議之外的所有協議),但這樣一來又與我們的初衷不相符合(只有域用戶或只有認證用戶才能上網)
1 實驗拓撲
爲了解決這兩個問題,我搭建了圖1的實驗環境,並實驗成功(由於現在許多單位的網絡已經升級到Windows Server 2008與Forefront TMG 2010,本實驗用TMG 2010,ISA Server與此配置相同)。現簡單介紹一下。
圖1 實驗拓撲
在圖1中,有兩臺Windows Server 2008,其中一臺作Active Directory服務器,計算機名稱爲ad,域名爲msft.com,IP地址爲192.168.1.2,網關爲192.168.1.1,DNS爲192.168.1.2;另一臺計算機安裝Windows Server 2008 X64(或Windows Server 2008 R2),加入到msft.com域,其中內網IP地址爲192.168.1.1,外網IP地址爲192.168.88.100(用路由器連接到Internet,這是路由器的“內網”地址),DNS爲192.168.1.2。另外,在ad.msft.com計算機中安裝並配置了DHCP服務器,爲網絡中的工作站分配IP地址等參數。
網絡中有兩臺工作站,分別安裝Windows XP與Windows 7,這兩臺計算機都加入到域。
2 服務器配置
實驗的主要步驟如下:
(1)在192.168.1.2的計算機中,安裝並配置DHCP服務器,設置作用域的地址範圍爲192.168.1.100~192.168.1.120,子網掩碼爲255.255.255.0,設置作用域的網關地址爲192.168.1.1,DNS爲192.168.1.2。同時添加“選項名”爲“WPAD”、值爲“http://tmg2010.msft.com:80/wpad.dat”的選項,如圖2所示。這是爲DHCP的客戶端自動指派Forefront TMG防火牆服務器的配置。
圖2 配置DHCP
(2)在Forefront TMG 2010的管理控制檯中,在“網絡連接”中,雙擊右側的“內部”,在“web代理”選項卡中,取消“爲此網絡啓用web代理客戶端連接”的選擇,如圖3所示。
圖3 取消Web代理客戶端連接
【說明】禁用Web代理客戶端後,用戶再手動設置“ISA Server或Forefront TMG做代理”將不起作用,因爲Forefront TMG代理服務器沒有啓用。
(3)在“Forefront TMG客戶端”選項卡中,選中“啓用此網絡的Forefront TMG客戶端支持”,並且指定Forefront TMG的名稱,在本例中爲“tmg2010.msft.com”,然後取消“自動檢測設置”、“使用自動配置腳本”、“使用Web代理服務器”的選擇,如圖4所示。
圖4 啓用Forefront TMG客戶端支持
(4)然後返回到“防火牆策略”,創建訪問規則,允許“msft”用戶以“所有協議”從“內部”訪問“外部”,如圖5所示。
圖5 創建訪問規則
其中“msft”是在Forefront TMG中創建的“用戶集”,代表“msft.com整個域”中的“domain users”用戶組(表示域中所有用戶),如圖6所示。
圖6 添加域用戶集
(5)然後應用策略即可。
3 工作站驗證
接下來在Windows XP與Windows 7計算機上進行設置。主要步驟如下:
(1)在Windows XP與Windows 7中,分別設置爲“自動獲取IP地址與DNS地址”,然後加入到域並以域用戶登錄,安裝Forefront TMG的防火牆客戶端,安裝完成之後,進入“Forefront TMG客戶端”配置,在“設置”選項卡中,選中“啓用Forefront TMG客戶端”並選中“自動檢測到的Forefront TMG”,將會檢測到Forefront TMG服務器的地址,在本例中爲tmg2010.msft.com,如圖7所示。
圖7 安裝Forefront TMG客戶端並檢查配置
(2)然後在客戶端中瀏覽網頁、登錄QQ、UC、MSN等,使用其他網絡軟件,這些不用配置都可以使用,如圖8所示。
圖8 上網、QQ、UC正常
(3)在Windows 7客戶端測試也正常,如圖9所示。
圖9 Windows 7測試正常
(4)如果以“本地用戶”登錄到計算機,不能上網,也不能用其他軟件(例如QQ),如圖10所示。即使設置了代理服務器也不行。
圖10 不加入到域則不能上網
4 後記
下表列出了Forefront TMG幾種客戶端的要求與支持身份驗證級別、協議支持。
功能 |
Forefront TMG 客戶端/防火牆客戶端 |
Web 代理客戶端 |
SecureNAT 客戶端 |
安裝詳細信息 |
必須在客戶端計算機上安裝 Forefront TMG 客戶端或其他防火牆客戶端軟件 |
不需要安裝。 |
不需要安裝。 |
操作系統支持 |
Windows 操作系統。 |
運行與 CERN 兼容的應用程序的任何平臺。 從這類應用程序發出請求的 SecureNAT 和防火牆客戶端還作爲 Web 代理客戶端。 |
可以使用支持 TCP/IP 的任何操作系統。 |
協議支持 |
支持所有 Winsock 應用程序。 |
支持將 HTTP、HTTPS 和 FTP 用於下載請求。 |
支持所有簡單協議。 需要多個主要連接或輔助連接的複雜協議需要使用 Forefront TMG 應用程序篩選器。 |
用戶級身份驗證 |
向 Forefront TMG 服務器自動發送客戶端憑據,並根據需要進行身份驗證。 |
如果 Forefront TMG 請求憑據,則可以進行身份驗證。 如果啓用匿名訪問,則不提供任何憑據。 |
無法提供憑據,並且無法通過 Forefront TMG 進行身份驗證。 |
建議 |
當需要 Forefront TMG 中的身份驗證規則以改進 Forefront TMG 的自動恢復時,用於用戶名登錄和支持輔助協議。 |
用於通過代理的基於用戶的 Web 訪問和發送到上游代理的鏈 Web 請求。 由於 Web 請求被直接轉發到 Web 代理篩選器,因此性能良好。 |
用於非 Windows 客戶端。 在需要支持非 TCP 或 UDP 協議(如 ICMP 或 GRE)時使用。 如果要將客戶端原始的源 IP 地址轉發到已發佈服務器,應將已發佈的非 Web 服務器配置爲 SecureNAT 客戶端。 |
Forefront TMG服務器在TCP的1745端口偵聽Forefront TMG客戶端的請求,你可以在防火牆客戶端使用netstat –an –p tcp命令,來查看防火牆客戶端與服務器端的連接,如圖11所示。
圖11 防火牆客戶端與服務器端的連接