廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 3914 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
upside 手機 葫蘆墩家族
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 社區建設獎 優秀管理員勳章
頭銜:反病毒 反詐騙 反虐犬   反病毒 反詐騙 反虐犬  
版主
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[資訊教學] 9種方法診斷Windows 2003的IPsec問題
9種方法診斷Windows 2003的IPsec問題
作者:杜莉 來源:賽迪網 發佈時間:2006.09.06

【原創翻譯,版權所有,如欲轉載,請註明原創翻譯作者,及文章出處(賽迪網)。違者,賽迪網將保留追究其法律責任的權利!】

在你的局域網內實現用IPsec保護網路通信後,儘管你每一步都是認真按照技術文檔來進行的,你還是不確信自己在網路上的通信沒有被監聽。怎樣才能確定IPsec已經真正將你的電腦的網路通信資訊加密了呢?


讓我們來看看怎樣確定一切運轉正常,然後-你應當在進程中發現問題-查看檢修IPsec的大圖-相關的認證問題。在進程中,我會指出一些Windows Server 2003中內置的工具。當你確實發現網路通信資訊沒有被加密的時候,可以用這些工具來診斷出IPsec出現的問題。(但是注意,文中我講到的技術並不適用於一些特殊的IPsec設備,比如IPsec卡以及基於IPsec的VPN。)


1.檢查IPsec是否在工作


即使你已經成功地配置了IPsec,它也可能出現很多錯誤。當Windows XP或者Windows Server 2003連不上網的時候,你可以確定是出了什麼問題。不幸的是,沒有什麼類似的情況可以讓你知道IPsec的狀態。根據IPsec的配置,出問題的時候,你或者會連不上網或者是-這種情況更普遍也更不容易察覺-網路可以照常使用,但是資訊沒有加密。當你確信你的網路通信資訊已經被加密時,卻發現它完全處在不安全的狀態,想像一下,這將多麼令人震驚。


檢查IPsec是否在工作的最快方法就是用網路監視器捕捉到達以及發出電腦的數據包,檢查它們是否有被加密。Windows 2003自帶網路監視器,你可以打開控制面板的添加/刪除程式來安裝它以及訪問windows組件。安裝網路監視器之後,選擇捕捉功能表中的“開始”來開始捕捉數據包。然後,執行一些普通的操作,比如瀏覽另一台電腦上的共用文件夾等,通過類似操作來生成網路活動並產生數據。最後,選擇捕捉功能表中的“停止”和“查看”。




圖1顯示了在電腦沒有使用IPsec情況下對兩個數據包的捕捉結果。在協議欄你可以看到很多協議。右邊是電腦使用IPsec情況下的捕獲情況


。可以看到,列表中只有一項協議:壓縮安全負載(ESP)。當windows 2003 電腦使用默認IPsec政策時,載數據包捕獲過程中只會出現ESP和互聯網控制資訊協議(ICMP)。ICMP會出現是因為默認IPsec策略允許ICMP 通信。因此,如果捕捉數據包的時候看到很多協議,你就有理由斷定IPsec沒有正常起作用。


幾乎所有的IPsec問題都是因為在互聯網密鑰交換(IKE)認證階段出現了認證問題而引起的。當兩台電腦試圖建立安全連接(SA)的時候,他們通過特定的過程來授予對方身份識別憑證。IKE是協商SA形式的演算法。身份識別認證可以是事先共用的密鑰,數字證書或者Kerbero安全認證。Windows 2003默認的IPsec策略使用Kerberos安全認證。絕大多數情況下,檢修IPsec故障就意味著檢修認證的進程。


2.重新啟動IPsec服務


一旦你確定IPsec沒有工作,你應當首先重新啟動IPsec服務。這將完全清零IKE協商的狀態。IPsec在策略有重大更改後不起作用的這種情況下,該措施通常都能夠恢復IPsec的功能。該方案有兩個優點:一是不需要重啟伺服器,另一個是用很短的時間就可以實現。通過執行如下Net命令,你可以在Windows 2003電腦上立刻重啟IPsec服務。


net stop policyagent

net start policyagent


現在,再次執行捕捉數據包的程式,或者運行我下文要講到的Netsh命令測試。


3.在時間日誌中診斷IKE問題


如果重啟IPsec服務不能解決故障,你可以繼續檢查安全時間日誌。網路登錄日誌監聽各個SA的建立和刪除。如果你啟用了監聽登錄事件策略的成功失敗監聽,這些事件就會被記錄在日誌中。一切運轉正常的時候,成功代碼顯示為541,542和543。然而,我們討論的是IPsec不工作的時候該怎麼辦,所以我們要找失敗代碼,表1中顯示了各個失敗代碼。圖2顯示的是失敗事件547。






SA事件記錄有一個問題是這些事件很快會填滿你的日誌。如果你只是要監聽登錄事件而不想讓安全事件填滿IKE條目的話,你可以創建 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Audit\DisableIKE Audits subkey然後把它的值設為1來停止IKE監聽。


4.使用共用密鑰認證


由於它是依靠共用字符串而不是諸如Kerberos或者證書那樣更複雜的方法,共用密鑰認證方法能夠很有效的使IPsec工作起來。當然,如果你已經使用共用密鑰,但還是出現故障的話,你應該核實一下每台電腦上事先共用的密鑰是否匹配。如果你的事先共用密鑰有錯誤,IPsec是不會工作的。


如果用共用密鑰認證方法可以使IPsec工作,你就會知道該檢查Kerberos或者證書認證機制了。在默認的IPsec策略中,從共用密鑰認證方式切換到Kerberos安全認證方式需要執行以下幾個步驟:

1.關閉所有的IPsec可能應用到的Active Directory(AD)服務

2.點擊“開始”,“運行”,然後輸入gpedit.msc來開始編輯本地策略。

3.進入路徑 電腦配置\系統設置\安全設置\IP安全策略的組策略對象編輯節點。

4.右鍵點擊導致故障的策略然後選擇”屬性“

5.在規則標簽中,選擇過濾列表中“所有IP通信”,並點擊“編輯”。

6.在“編輯規則屬性”對話方塊中,選擇“認證方法”標簽然後單擊“添加”來添加新的認證方法。

7.選擇“使用該字符串發報”按鈕並輸入一個事先共用的密鑰。然後單擊“確定”。

8.使用“認證方法”標簽中的“上移”按鈕來把事先共用密鑰移到列表頂端。


這些說明是假設你沒怎麼定制IPsec策略的。總的來說,你應當總是創建新的策略而不要編輯已經存在的策略。但是,在當前這種情況下,你只是添加一種認證方法,解決故障之後,可以將它降級。變換到共用密鑰認證方法會顯著的簡化認證過程,所以它很有可能使IPsec對你的網路起作用。


5.確定哪種IPsec策略是有效的


IPsec不工作很有可能是因為網路上的電腦被指定了互補相容的策略。例如,一個策略可能試圖使用證書認證,然而其他策略則只接受共用密鑰認證。有兩種方法來確定當前主導的是哪種IPsec策略。第一種方法是用IP安全監聽器。如圖3所示,內置的微軟管理平臺(MMC)IP安全監聽器替代了Windows2000的Ipsecmon.exe功能。它能確定當前電腦上哪種策略是起作用的。




第二種方法是運行Netsh命令 netsh ipsec dynamic show all|more 從命令行得到相同的資訊。該命令將所有的IPsec資訊放到剪切板上。你可以把該資訊粘貼到文本文檔中,如圖4所示。在文本中,可以看到一個策略應用到了本地級別(例如,客戶端:只響應)以及通過AD應用(例如,伺服器:安全請求)。一旦你得到了這些資訊,你就可以很快發現IPsec不工作的原因是:或者電腦沒有指定策略,或者指定了不相容的策略。解決策略不相容問題之後,IPsec可能就正常工作了。




6.檢查Kerberos認證的問題


Kerberos認證依靠AD。如果產生了Kerberos問題,很可能跟電腦帳戶的問題有關。你可能需要重置電腦帳戶的密碼或者重啟電腦帳戶。如果繼續有故障,可能就需要將Kerberos網路通信與域控制器(DC)上的IPsec隔離。運行命令 netsh ipsec dynamic set config ipsecexempt value=0Win2000容許Kerberos認證通信,但是Windows2003不容許。該Netsh命令強制Windows2003如Win2000一樣操作。


7.檢查證書認證的問題


如果基於證書的認證系統有問題,很大可能是如下三種情況之一:沒有安裝證書,證書過期,或者證書撤銷列表(CRL)不完整。默認的IPsec證書有效期是2年,這對大多數忘了該有效期的組織來說都足夠長了。不像一些證書模板,默認情況下,IPsec證書模板沒有設置成自動註冊模式。


確定證書認證到底是上述哪種問題的最簡便方法就是打開本地電腦的證書記憶體。你也可以使用內置MMC證書工具來請求一個新的IPsec證書。當你創建了內置MMC證書來檢查已安裝的IPsec證書的過期數據時,需要確認你選擇了“電腦帳戶”選項,如圖5所示。如果選擇的是“我的用戶帳戶”或者“伺服器帳戶”選項的話,你就無法在定位到該找的IPsec 證書。




從長遠角度來看,最好的解決方法是創建一個支援自動註冊(僅限于Windows2003 企業版)的新的IPsec模板。這樣,IPsec證書就可以自動更新,並且只要你選擇了自動更新選項你就不需要記住IPsec證書有效期是2年了。


證書正在使用時,IPsec檢查CRL來確定證書是否已被廢除。IPsec要花一定的時間來做這個檢查,並且很有可能在得到結果之前,系統就被關閉了。可以運行 netsh ipsec dynamic set config strongcrlcheck 0 來取消CRL檢查。


8.檢查是否所有人都使用客戶端策略


IPsec的新的管理員有時候對網路上的所有電腦都應用客戶端(只響應)策略,然後納悶為什麼沒有加密任何資訊。對開始生效的IPsec來說,搭檔中的一個需要請求使用IPsec的策略。如果所有的主機都指定的是客戶端(只響應)策略,那麼沒有主機會請求使用IPsec。要解決該問題,可以在電腦上激活各種伺服器策略中的一個,然後運行GPU更新。


9.檢查IKE日誌


如果所有的前述措施都沒有解決IKE問題,你就不得不按照更詳細的步驟來決定方案。這種情況下,你需要有互聯網安全連接和密鑰管理協議RFC 2408和IKE RFC 2409(ISAKMP)方面的更進一步的知識。運行 netsh ipsec dynamic set config ikelogging 1來開始追蹤IKE的協商。可以將ikelogging的值增加至7(記錄所有可能的數據)來增加記錄下來的資訊量。IKE跟蹤日誌位於\%systemroot%\Debug\Oakley.log,可以用文本編輯器來查看。需要注意的是,記錄文檔的內容很密集,剛接觸IPsec的人很可能很快就受不了了。


慎用自定義


Windows2003帶的IPsec策略是可以直接使用的。只有你自定義它們使用基於證書或者基於共用密鑰的認證系統的時候,才會產生問題。如果需要修改IPsec的認證方法,你應該創建新策略而不是對已存在的策略進行修改。只要遵從這個建議,在調查各種突然出現的問題時,都能夠迅速切換到起作用的配置上。


===================================================


文章鏈結:http://www.windowsitpro.com/WindowsSecurity/Article/ArticleID/92907/WindowsSecurity_92907.html

作者:Orin Thomas



爸爸 你一路好走
獻花 x0 回到頂端 [樓 主] From:台灣 和信超媒體寬帶網 | Posted:2006-11-05 03:53 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.010216 second(s),query:15 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言