打從Windows Server 2008正式上市以來,網路隔離控管的安全技術話題就變得十分熱門,因為無論用戶端是來自於網際網路、內部有線或無線網路,或是從終端機服務閘道的遠端連線,除了帳戶密碼之外,還必須確認電腦的健康狀態,才會予以通行。
在本文所整理的NAP秘訣內容中,許多都是筆者在實務上的經驗分享,而其中所提到的各項不同應用,例如NAP for 802.1x、NAP for TS Gateway,相信在現今的企業IT環境資訊安全規劃中都將陸續根據不同的環境需求而被採用。隨著資訊科技的快速發展,企業面對各種資訊安全威脅所要防範的,不再只是強行入侵的駭客、木馬、病毒,還包括裡裡外外所有的網路連線存取。以下就開始介紹筆者精心整理的十大NAP管理秘訣。
TOP1 Windows Server 2008的VPN安全規劃
Q:我想在公司建置一個可以讓在外工作員工以VPN連線登入來存取公司內部網路的網路資源,就以Windows Server 2008內建的VPN伺服器建置來說,何種規劃方式可以兼顧方便與安全呢?
A:建議參考如下圖所示的架構規劃方式,來部署Windows Server 2008的VPN網路,不過在這個架構範例中筆者還分別整合了以下幾項相關的解決方案。
|
▲Windows Server 2008整體VPN安全規劃 |
|
|
|
藉由NAP架構中的網路原則伺服器(NPS)所定義的安全檢驗原則,可以讓遠端的使用者電腦連線VPN網路時進行原則比對。若發現在剛連線登入或已登入的連線存取過程中,有任何違反企業安全政策的狀況,將自動把這些用戶端進行有限資源的網路隔離。 |
|
|
|
SSTP(安全通訊端通道通訊協定)是Windows Server 2008在VPN網路的解決方案中的一項全新安全連線機制,由於它是將PPTP通訊流量封裝在HTTPS協定的SSL通道中,因此對於企業邊際的防火牆來說,便毋須特別為PPTP或L2TP的VPN連線需求而開放特定的連接埠(例如GRE與TCP 1723),而且經由SSL的443埠來建立連線,更能夠藉由傳輸層級的加密機制和一致性檢查,來達到更加安全的VPN網路通訊環境,不過遠端電腦的用戶端作業系統必須是Windows Vista Service Pack 1才行。 |
|
|
|
目前在全世界各大知名企業網路安全規劃中,對於遠端使用者身分驗證的最熱門首選,莫過於智慧卡(Smart Card)或RSA雙因子動態密碼技術。前者以結合數位憑證與晶片卡的方式進行驗證,而後者則是藉由一部專屬的RSA伺服器與RSA SecurID的Token演算技術來產生隨身的即時密碼,而所謂的雙因子是只需要擁有一組固定的PIN碼加上30秒或60秒自動同步變化的密碼來進行登入,而這個通行密碼還必須與使用者的身分相符合才可以。 |
|
|
|
當必須開放VPN連線給許多使用者時,為了方便部署VPN用戶端連線設定,可以透過Windows Server 2008內建的「連線管理員系統管理組件」功能,來統一設定VPN連線網路的組態設定,並將預設連線程式上的圖片置換成公司的Logo與相關連線資訊。而在大量安裝部分,系統管理員可以透過分享資料夾或群組原則(GPO)的方式大量部署到VPN的用戶端電腦上。用戶端使用者不僅毋須設定任何公司VPN網路的連線組態,也無法自行修改其中的相關設定。 |
TOP2 完全手動設定Windows XP SP3的NAP用戶端
Q:在某場技術研討會中曾經提及,NAP用戶端的各項設定都可以透過群組原則來配置,只是我們公司目前的用戶端大多為Windows XP SP3,而且有一些並沒有加入Active Directory網域中,在這種情況下,我可以手動設定這些用戶端的NAP組態嗎?
A:當然可以,況且在Windows XP SP3的用戶端電腦中並沒有提供隔離強制用戶端(QEC)的MMC管理介面,如果不透過AD群組原則來管理,那麼唯一的方法就是手動進行設定了。
首先是NAP代理程式(Network Access Protection Agent)服務的設定,可以透過以下命令或透過服務的管理介面來將其設定為自動啟動。
sc config napagent start= auto |
接著可以直接啟動,可從服務的管理介面或透過以下命令來完成設定啟動。
至於各種NAP隔離強制用戶端元件的啟用,則必須透過執行登錄檔編輯程式Regedit的方式來進行,如下圖所示先切換到「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\napagent\LocalConfig\Qecs」路徑下,接著在Qecs節點上按下滑鼠右鍵,然後依序點選快速選單中的【新增】→【機碼】。至於機碼的編號,不同的NAP用戶端類型都有各自的機碼值,請參考以下說明:
新增所需的NAP用戶端類型機碼之後,接著在這個機碼中新增一個DWORD命名為Enable的設定,其值則設定為1。
|
▲手動設定NAP隔離強制用戶端登錄檔 |
最後特別提醒讀者,如果設定的是終端機閘道的NAP用戶端,除了可以直接執行官方網站上所提供的tsgqecclientconfig.cmd自動設定程式之外,還可以透過登錄檔編輯程式(Regedit)來設定。首先切換到「HKLM\Software\Microsoft\Terminal Server Client\TrustedGateways」的機碼位置,接著新增一個名為「GatewayFQDN」的多字串值類型,然後一一輸入所信任全部開放連線的終端機服務閘道的FQDN即可。
TOP3 802.1x網路環境整合NAP架構
Q:我在一些技術研討會上所看到有關於Windows Server 2008中的NAP架構設計,都只是NAP for DHCP整合上的功能展示,或是其理論運作架構上的介紹。但我真正想知道的是,NAP架構在802.1x網路環境的系統整合上的運作原理與必要條件有哪些?
A:在IEEE 802.1X-2001與802.1X-2004的標準定義中,說明了以連接埠為主(Port-based)的安全驗證機制,這一項安全保護機制便是針對企業中的有線與無線網路的連線而設計的。在802.1X部署架構中主要由三個元件所構成,如下圖所示分別說明:
|
▲802.1x運作元件 |
|
|
|
當有用戶端在受保護的網路環境中需要連線存取的時候,這部電腦便會以802.1X的支援連線方式先行連線到通行驗證器。 |
|
|
|
這裡所謂的通行驗證器,指的便是以有線方式連接的網路交換器,或是以無線連線方式連接的無線基地台(AP),而兩者都必須支援802.1x的組態配置功能。 |
|
|
|
當欲連線存取網路的用戶端剛連接到通行驗證器時,通行驗證器必須與一部驗證伺服器共同確認此用戶端電腦是否合法,而此部驗證伺服器一般所指的就是RADIUS主機(Remote Authentication Dial-In User Service),而它們之間的通訊方式便是透過延伸的驗證協定(Extensible Authentication Protocol,EAP),無論驗證結果如何,RADIUS主機都會將訊息回報給通行驗證器,再由通行驗證器決定是否給予基本的連線。 |
802.1X的驗證處理方式,是藉由EAP over LAN(EAPoL)的元件來負責處理通行驗證器與連線要求用戶端之間的通訊內容。
在802.1x的隔離驗證控管的網路架構中,Windows Server 2008所提供的網路原則伺服器角色(Network Policy Server,NPS),取代了原有在Windows Server 2003中的網際網路驗證服務(Internet Authentication Service,IAS),透過此角色來提供網路交換器或無線基地台RADIUS連線的驗證服務,讓不合法的用戶端連線自動被隔離到另一個特定的VLAN網路中,或是透過IP篩選器(IP Filter)封鎖其所能存取的網路資源,或是直接斷除實體的網路連線,直到用戶端電腦下一次重新插上網路線時,再檢查與比對健康原則。
TOP4 快速配置802.1x架構下的NAP用戶端設定
A:關於設定802.1x的NAP用戶端組態方法,最快速簡單的方法就是透過群組原則進行配置。在建立群組原則設定之前,建議最好先將所要套用的用戶端對象集中存放在相同的組織單位中(OU),然後將所要建立的群組原則物件(GPO)套用在這個組織單位上。
如下圖所示,在「群組原則管理的編輯器」內先展開至「電腦設定」→「原則」→「Windows設定」→「Network Access Protection」→「增強型用戶端」節點上,然後將「EAP隔離強制用戶端」設定為「已啟用」。
|
▲啟用EAP隔離強制用戶端 |
接下來展開至「電腦設定」→「原則」→「Windows設定」→「安全性設定」→「系統服務」節點上,然後分別將「Wired AutoConfig」與「Network Access Protection Agent」這兩個服務設定為「自動」。隨後切換到「系統管理範本」→「資訊安全中心」節點上,將唯一的「開啟資訊安全中心」項目設定為「啟用」。
完成NAP用戶端的群組原則套用設定之後,接著到用戶端電腦的「控制台」中開啟「網路連線」,然後針對區域連線項目連續按兩下滑鼠左鍵,開啟如下頁圖所示的「區域連線內容」。在此視窗內勾選〔驗證〕活頁標籤內的「啟用IEEE802.1x驗證」項目,並且在「選擇網路驗證方法」下拉選單中選取【Microsoft Protected EAP(PEAP)】,然後按下〔設定〕按鈕。
|
▲區域連線驗證設定 |
接著來到「受保護的EAP內容」頁面,勾選其中的「確認伺服器憑證」選項,然後勾選「受信任的根憑證授權單位」中的公司憑證,並且將下方的「啟用隔離檢查」設定加以勾選,最後在「選擇驗證方法」下拉選單點選【Secured password(EAP-MSCHAP v2)】即可。
TOP5 NAP架構設計中的其他兩種802.1x網路隔離法
Q:在微軟官方文件中所介紹的802.1x網路交換器的NAP部署實作,是將不同健康原則檢驗結果的NAP用戶端,以動態VLAN的方式置放到不同的網路區段中,但是我們公司的網路交換器不支援動態VLAN功能。請問在此種的網路區段之下,除了採用這種規劃方式之外,是否還有其他的方式可以有效隔離不合法的NAP用戶端呢?
A:就以802.1x網路交換器與NAP的整合來說,採用動態VLAN配置的隔離方式是最佳的規劃方式,但如果不採用這種方式進行隔離,則可以使用以下的兩種方式來隔離不合法的NAP用戶端。
以IP篩選器設定有限制的網路資源存取
這是NAP規劃中最常見的隔離方法,讓不符合安全規定而被隔離的電腦只夠連線存取特定的資源,例如網域控制站(用以套用群組原則)、防毒伺服器(更新病毒碼)、WSUS或SCCM 2007(進行修正程式更新)等等,而無法存取其他網路資源。這一部分的規劃通常必須在NPS主機原則設定上啟用自動修復用戶端功能,才能夠在用戶端完成安全性矯正之後,自動回到合法資源存取的網路中。
以IP篩選器設定有限制的網路資源存取方法是,先開啟現有不符合網路原則要求的設定項目,然後切換到「設定」頁面中選取「IP篩選器」,接著按下〔輸入篩選器〕按鈕,即可開啟如下圖所示的設定頁面。緊接著將篩選器動作設定成「只允許以下列出的封包」,然後按下〔新增〕按鈕設定每一筆讓NAP隔離用戶端可以存取的IP位址和通訊協定。
|
▲以IP篩選器限制資源存取 |
以拒絕存取的方式直接中斷實體線路的連接
採用這種方式的優點在於,可以直接從實體的NAP用戶端連線中將不符合安全規定的用戶端直接斷線,等到使用者自認為已經符合NAP安全規定,將自己的網路連線重新拔起重插,再進行安全驗證,否則縱使修正了安全性也將無法獲得合法存取。這也是這種方法在802.1x設備整合的唯一缺點,因此事先務必先做好用戶端使用者的教育訓練。
想要採用直接中斷的方式來阻止不符合安全規定的用戶端,只要在NPS管理介面中開啟不符合NAP要求的那一條原則項目,然後在「概觀」頁面中將存取權限區域中的設定改選為「拒絕存取」即可。如下圖所示,當NAP網路偵測到剛開機進行連線的NAP用戶端或是已經在合法存取網路中的NAP用戶端,出現了不符合NAP安全原則的資訊,該網路連接將會直接被中斷,並且會出現「驗證失敗」提示訊息,等到用戶端使用者確認符合安全規定後,再重新連接實體網路。
|
▲無法進行驗證 |
TOP6 限制被隔離的NAP用戶端連線逾期時間
Q:我已經完成了一個Windows Server 2008在VPN架構上的NAP建置,所制定的安全原則也能夠自動將不符合安全規定的NAP用戶端,進行有限資源存取的隔離措施。而現在除了限制這些被隔離的用戶端存取資源之外,還想限制他們可連線的時間,禁止無限期連線,該如何設定呢?
A:這可以從「網路原則伺服器」管理介面中的「原則」→「網路原則」節點頁面進行設定。先在不符合NAP標準的原則項目上按下滑鼠右鍵,然後點選快速選單中的【內容】。接著,如下圖所示切換至〔限制〕活頁標籤內,然後點選「工作階段逾時」。在此,可以分鐘為單位,設定最大允許的連線時間限制,用戶端在連線時,只要到達此限制時間長度,系統便會自動進行中斷連線。
|
▲工作階段逾時限制設定 |
TOP7 設定NPS事件記錄與RADIUS連接埠
Q:請問在網路原則伺服器的管理中,是否可以針對運作中產生的錯誤,以及被拒絕與成功獲得連線的事件進行記錄控管的動作?此外,在與RADIUS的整合應用部分,是否可以自行調整其預設的連接埠呢?
A:以上提到的管理需求基本上都可以做到。先開啟網路原則伺服器管理介面,在本機節點項目上按下滑鼠右鍵,然後點選快速選單中的【內容】,接著會開啟「網路原則伺服器(本機)內容」視窗。先切換至〔一般〕活頁標籤內,在此除了可以變更預設的伺服器描述之外,也可以決定是否要在事件檢視器中記錄被拒絕和成功通過驗證的事件,須特別注意的是網路原則伺服器(NPS)的錯誤事件,在系統預設的狀態下都將被記錄下來。
接下來切換到〔連接埠〕活頁標籤中,如下圖所示這裡可以設定預設的RADIUS服務、其驗證連接埠(1812,1645)以及負責帳戶處理的連接埠(1813,1646)。有一點需要特別注意,如果修改任何預設的連接埠號碼,除了與其整合的裝置必須變更成相同的設定之外,還必須在本機的Windows防火牆內將這些連接埠號碼設定在「例外」清單中。
|
▲NPS的RADIUS連接埠設定 |
TOP8 在使用者遭受NAP網路隔離時通知IT人員
Q:Windows Server 2008所提供的網路存取保護(NAP)的安全機制雖然好用,但是對於一些重要的用戶端遭到網路隔離時(例如總經理的電腦),我們IT一致希望能夠有一個自動通知系統管理員的機制(透過E-mail或IM),或是能夠有一個即時監控的動態數位儀表板畫面,讓管理人員可以即時監控到目前有哪些使用者正受到網路隔離,以便立即前往處理與解決。
A:筆者曾經也想過如果在NAP架構中的NPS主機,能夠提供一個即時監看的管理介面那該有多好,這樣系統管理人員就可以掌控全局,清楚得知目前有哪些使用者電腦被隔離、哪些電腦正進行矯正等等,只可惜目前並沒有這樣的工具可以使用。不過,可以採用另一種還算不錯的替代方法。可以透過Windows Server 2008內建的事件檢視器管理功能,在第一時間將所產生的NAP隔離事件自動E-mail通知系統管理人員。詳細內容請參考以下的操作說明。
首先,在Windows Server 2008的「系統管理工具」選單中點選開啟「事件檢視器」介面,接著切換到「自訂檢視」→「伺服器角色」節點下,然後展開至「網路原則與存取服務」項目。假設目前已經有NAP的用戶端通過健康原則的檢查,那麼在這一部NPS主機上便會出現一個稽核成功的事件項目,其中記錄檔名稱=安全性、來源=Microsoft Windows Security Auditing、事件識別碼=6278、層級=資訊、工作類別=網路原則伺服器。
藉由NPS主機上的事件檢視器,可以得知經過原則檢驗後被允許的電腦連線,將在其中產生相關的事件項目,那麼理所當然也會產生拒絕連線的電腦事件。仔細查看,果然有一個事件識別碼為6273的事件項目,而它的關鍵字便是說明稽核失敗,可以連續點選滑鼠左鍵開啟此事件查看究竟。如下頁圖所示,展開該事件之後,瀏覽到內容的下方時,便可以查看到被隔離的用戶端電腦名稱、使用者名稱、IP位址、遭隔離的理由描述,以及所使用的網路原則名稱為何等資訊。
|
▲檢視事件完整內容 |
既然Windows Server 2008的NPS主機預設會自動產生驗證合法與不合法的事件紀錄,那麼接下來只要讓系統在失敗事件發生時自動透過E-mail的方式來通知系統管理員就可以了。方法很簡單!只需要在事件檢視器的管理介面中,選取目前現有的NPS失敗稽核事件項目,然後點選「動作」窗格中的「附加工作到此事件」即可,執行之後將會開啟「建立基本工作精靈」頁面,建議先將預設的工作名稱修改成容易識別的中英文名稱,必要的話最好輸入更完整的描述,完成輸入後按下〔下一步〕繼續。
接著來到「執行」設定頁面,在此直接選擇「傳送點子郵件」設定即可。如果希望結合外部簡訊盒來發送手機簡訊給系統管理人員,請選擇「啟動程式」。設定好了之後按下〔下一步〕按鈕。緊接著來到「傳送電子郵件」頁面,如下圖所示輸入寄件者、收件者和SMTP伺服器的欄位資料,至於主旨與本文內容最好也完整輸入,之後按下〔下一步〕繼續完成設定即可。
在NPS相關事件項目上所設定的附加執行工作,如果往後想要變更,可以從「系統管理工具」下拉選單中開啟「工作排程器」來修改。在此介面中,只要展開至「事件檢視器工作」節點上,便可以看見目前這一部主機上所有的執行工作。此外,也可以根據需求針對這些工作項目,在「動作」窗格內點選「執行」、「結束」、「停用」、「匯出」、「內容」或「刪除」等等。
|
▲傳送電子郵件設定 |
TOP9 監視NAP運作中的各項統計數據
Q:當我完成Windows Server 2008的NAP環境部署之後,該如何得知目前被隔離的電腦數量、成功合法連線的電腦數量、被拒絕連線的電腦數量等相關數據呢?
A:想要監視NAP架構環境中的各項統計數據,可以利用Windows Server 2008系統管理工具中所提供的「可靠性和效能監視器」工具。開啟此工具之後,只要點選工具列中的〔+〕圖示按鈕,就會開啟「新增計數器」頁面。
先從下拉選單中挑選本機電腦或網域中的其他網路原則伺服器,然後再挑選所有以NPS字眼開頭的計數器物件,接著將它們新增到右方的窗格內,這些可用的物件包括NPS系統健康狀態驗證、NPS遠端驗證伺服器、NPS遠端帳戶處理伺服器、NPS原則引擎、NPS驗證伺服器、NPS驗證Proxy、NPS驗證用戶端、NPS帳戶處理伺服器、NPS帳戶處理Proxy,以及NPS帳戶處理用戶端。
下圖所示便是筆者自行加入的各種計數器物件,從中可以清楚得知目前已被隔離的電腦數量、已獲得合法存取的電腦數量以及遭受拒絕存取的電腦數量。這些數據全部都是網路原則伺服器(NPS)中原則設定執行後的結果。
|
▲以報告方式檢視 |
而NAP統計數據的監視,除了以報告的方式來檢視外,也可切換成長條圖或曲線圖的檢視方式。
TOP10 終端機服務閘道的NAP用戶端設定
Q:目前我已經在DMZ網路上建置Windows Server 2008的終端機服務閘道主機,也設定好中央網路原則伺服器(NPS)的連線,可是不知道在用戶端電腦上要完成哪些設定,因為始終無法成功完成連線。
A:終端機服務閘道NAP用戶端的設定方法比較特別,首先必須到網址「http://go.microsoft.com/fwlink/?LinkId=103093」下載專屬的設定手稿檔Tsgqecclientconfig.cmd。此手稿在官方網站上的副檔名是txt,完成下載之後請將其變更為cmd。建議儲存在用戶端電腦的磁碟根目錄之下,然後透過命令提示列來執行即可。先來看看這個手稿檔執行時會完成的工作有哪些。
●將指定的終端機服務閘道名稱(FQDN)加入到信任的伺服器清單中。
●啟動Network Access Protection Agent服務,並且將啟動類型設定為「自動」,而此服務便是用來將用戶端系統目前的健康狀態回報給NAP管理主機,必須注意的是,如果此服務沒有正常啟動,NAP網路原則將視其為不支援的NAP用戶端。
●啟用TS閘道隔離強制用戶端設定
明白了Tsgqecclientconfig.cmd手稿檔所會完成的設定工作有哪些之後,接下來必須以管理員的身分登入到用戶端的電腦中,然後開啟命令提示列視窗如下圖所示執行Tsgqecclientconfig.cmd。
接著,便可以看到此命令工具參數的用法說明,在原文範例中清楚提到,當終端機服務閘道只有一部時,只要輸入「Tsgqecclientconfig.cmd tsg01.msft.com」,假設有多部終端機服務閘道時,則必須輸入類似「Tsgqecclientconfig.cmd tsg01.msft.com\0 tsg02.msft.com\0 tsg03.msft.com」的命令。
|
▲執行tsgqecclientconfig設定程式 |