疑難排解:記錄

Microsoft Internet Security and Acceleration Server 2004

發佈日期: 2006 年 1 月 13 日

簡介

這份疑難排解指南說明使用 Microsoft Internet Security and Acceleration (ISA) Server 2004 Standard Edition 和 ISA Server 2004 Enterprise Edition 的記錄功能時常見的問題,並詳細解說解決問題的方法。

本文包含下列部分:

  • 一般記錄問題:說明如何替任何記錄格式常見的記錄問題進行疑難排解,這些格式包括:檔案、Microsoft SQL Server 2000 Desktop Engine (MSDE) 資料庫或 SQL 資料庫。

  • MSDE 記錄問題:說明如何替記錄至 MSDE 資料庫時可能發生的問題進行疑難排解。

  • SQL 記錄問題:說明如何替記錄至 SQL 資料庫時可能發生的問題進行疑難排解。

一般記錄問題

本節說明記錄至任何記錄格式時可能遇到的記錄問題,這些格式包括:檔案、MSDE 或 SQL 資料庫。

記錄顯示來自匿名使用者的要求

問題:明明已經封鎖匿名存取,但是記錄卻顯示有來自匿名使用者的要求。

起因:使用者收到驗證要求時,會以下列方式進行通訊:

  • 使用者傳送匿名要求。ISA Server 以 407 錯誤回應並結束連線。匿名要求會被記錄起來。

  • 使用者以持續作用 (Keep-Alive) 和 NTLM 驗證資訊傳送同樣的要求。ISA Server 再次以 407 錯誤回應,並發出驗證質詢。這時連線並未被終止,會記錄另一個匿名要求。

  • 使用者以驗證回應傳送要求。現在要求已經過驗證並收到服務。

解決方案:您可以檢查匿名要求後面接著的要求是否由確實存在並經過驗證的使用者所發出。

如果為否,即表示防火牆原則的設定可能不正確。

用戶端使用者名稱標示為問號 (?)

問題:記錄檔中的 [用戶端使用者名稱] 欄位顯示問號 (?)。

起因:問號表示用戶端使用者名稱尚未經過驗證。要求若來自 Firewall Client,就會發生這種問題。Firewall Client 總是會傳送使用者名稱,因此使用者名稱會被記錄下來。但如果防火牆的原則不需要驗證,那麼記錄的名稱就是問號。

解決方案:如果您希望出現的是使用者名稱,而不是問號,請更新防火牆原則,使它要求驗證。

記錄的是 IP 位址,而不是使用者名稱

問題:記錄檔中,記錄的是網際網路通訊協定 (IP) 位址,而非使用者名稱。

起因:如果要求是由 SecureNAT 用戶端,而非 (經過驗證的) 網頁 Proxy 或 Firewall Client 所發出,就只會記錄 IP 位址,無從判斷使用者名稱。

解決方案:如果您需要記錄使用者名稱,可以考慮部署 Firewall Client 軟體。

找不到驗證資訊

問題:記錄檔中找不到用戶端驗證資訊 (使用者名稱):

起因:ISA Server 並非一定會要求用戶端驗證本身。如果用戶端未經過驗證,它們可以進行匿名存取,而驗證資訊也就不會被記錄。

解決方案:您可以設定內送和外送 Web 要求的屬性,使 ISA Server 總是要求 Web Proxy 用戶端驗證本身。

若要驗證網頁接聽程式 (對於內送要求) 的驗證方法,請執行下列步驟:

  1. 在 ISA Server 管理主控台樹狀目錄中,按一下 [防火牆原則]:

    • 在 ISA Server 2004 Enterprise Edition 中的陣列層級防火牆原則內,依序展開 [Microsoft Internet Security and Acceleration Server 2004] > [陣列] > 陣列名稱,然後按一下 [防火牆原則]。

    • 在 ISA Server 2004 Standard Edition 中,依序展開 [Microsoft Internet Security and Acceleration Server 2004] > 伺服器名稱,然後按一下 [防火牆原則]。

  2. 在 [工具箱] 索引標籤上,按一下 [網路物件]。

  3. 展開「網頁接聽程式」,然後按一下適用的網頁接聽程式。

  4. 在 [網路物件] 下的工具列上,按一下 [編輯]。

  5. 在 [喜好設定] 索引標籤上,按一下 [驗證]。

  6. 選取 [需要驗證所有使用者],強制規定這個網路的用戶端使用所選取的驗證方式來進行驗證。

若要驗證網頁 Proxy 用戶端的驗證方法,請執行下列步驟:

  1. 在 ISA Server 管理主控台樹狀目錄中,按一下 [網路]:

    • 在 ISA Server 2004 Enterprise Edition 中,依序展開 [Microsoft Internet Security and Acceleration Server 2004] > [陣列] > 陣列名稱 > [設定],然後按一下 [網路]。

    • 在 ISA Server 2004 Standard Edition 中,依序展開 [Microsoft Internet Security and Acceleration Server 2004] > [伺服器名稱] > [設定],然後按一下 [網路]。

  2. 在詳細資料窗格中,選取 [網路] 索引標籤並選取適用的網路。

  3. 在 [工作] 索引標籤上,按一下 [編輯選取網路 (Edit Selected Network)]。

  4. 在 [網頁 Proxy] 索引標籤上,按一下 [驗證]。

  5. 選取 [需要驗證所有使用者],強制規定這個網路的用戶端使用所選取的驗證方式來進行驗證。

記錄的 IP 位址為 0.0.0.0

問題:網頁 Proxy 記錄中,某些要求目的地的 IP 位址為 0.0.0.0。

起因:有時候目的地主機只有一個 URL 可用。這種情況下,IP 位址會顯示為 0.0.0.0。如果要求被拒絕,而且未替要求查閱網域名稱系統 (DNS) 的名稱解析,就會出現這種問題。

解決方案:若要判斷特定 URL 的 IP 位址為何,請在命令提示字元鍵入下列內容:

ping URL_name

記錄顯示空的規則拒絕要求

問題:記錄的 [規則] 欄位顯示 "-" (空),表示規則拒絕了要求。

起因:如果 ISA Server 因防火牆原則規則之外的因素,而拒絕連線,這時 [規則] 欄位就會標示為空,並在 [結果碼] 欄位中標示原因。舉例來說,規則可能因為下列因素遭到拒絕:

  • 來源與目的地之間的網路關聯性尚未經過定義。

  • ISA Server 認為流量含詐騙陷阱。

  • 要求的來源用戶端具有過多的開放連線。

記錄顯示空的內容類型

問題:記錄中,用於顯示多用途網際網路郵件延伸標準 (MIME) 類型的 [MINE 類型] 欄位為 "-" (空)。

起因:如果目的地伺服器不回應 Content-Type 標題,[MINE 類型] 欄位就會標示為空 (也就是 "-")。ISA Server 只有在伺服器的回應包含 Content-Type 標題時,才會記錄內容類型資訊。

錯誤的記錄項目

問題:記錄顯示有一個「掃瞄所有連接埠」警訊,來源 IP 地址為內部網路。這時就會發出一個假警訊。

起因:如果 Microsoft Windows Internet (WinINet) 的應用程式發展介面 (API) 與 Windows HTTP Services (WinHTTP) 採取重設連線的方式,而非妥當地關閉工作階段來減少網路封包,就會產生一些假警訊。如果上游伺服器發出的回應仍未抵達目的地,最容易發生這種問題。發生這種情況時,ISA Server 就會發出「掃瞄所有連接埠」警訊。

解決方案:若要驗證警訊的真假,請檢查下列項目:

  • ISA Server 記錄是否包含前往 IP 地址的流量。

  • 將記錄項目中所載的日期與時間與一個封包進行對應,以反轉方式 (來源和目的地 IP 與通訊埠皆反轉) 檢查是否與上次從 ISA Server 至上游伺服器的連線相符。

過多資訊

問題:記錄中有過多資訊。

起因:您依預設建立規則時,所有符合規則的要求都會被記錄起來。由於「預設」規則會拒絕所有流量,只要有不符合規定的要求都會被記錄下來,也因此記錄檔內包含大量資訊。

解決方案:若您注意到有大料資料來自特定的通訊協定或來源,您可以建立一個新的規則,指定遇到這類流量時不加以記錄。舉例來說,假定您的原則不允許動態主機設定通訊協定 (DHCP) 要求,使得許多 DHCP 要求遭到拒絕,您可以建立一個新的存取規則,拒絕 DHCP 要求但不加以記錄,不用全然依賴「預設」規則。

若要記錄符合規則的要求,請執行下列步驟

  1. 在 ISA Server 管理主控台樹狀目錄中,按一下 [防火牆原則] (適用於 Standard Edition,以及 Enterprise Edition 的陣列層級要求),或是按一下 [企業原則] (適用於 Enterprise Edition 版的企業層級要求):

    • 在 ISA Server 2004 Enterprise Edition 中的特定企業原則內,依序展開 [Microsoft Internet Security and Acceleration Server 2004] > [企業] > [企業原則],然後按一下 企業原則

    • 在 ISA Server 2004 Enterprise Edition 中的陣列層級防火牆原則內,依序展開 [Microsoft Internet Security and Acceleration Server 2004] > [陣列] > 陣列名稱,然後按一下 [防火牆原則]。

    • 在 ISA Server 2004 Standard Edition 中,依序展開 [Microsoft Internet Security and Acceleration Server 2004] > 伺服器名稱,然後按一下 [防火牆原則]。

  2. 在詳細資料窗格中,按一下記錄需啟用的規則。

  3. 在 [工作] 索引標籤上,按一下 [編輯選取規則 (Edit Selected Rule)]。

  4. 在 [動作] 索引標籤上,選取 [記錄符合這個規則的要求] 核取方塊。

    [存取規則內容]

查詢因錯誤而停止

問題:出現一個錯誤訊息,指出「因為執行時發生錯誤,所以已經停止查詢」。

起因:SQL Server 資料庫資料表上的權限設定不正確。

解決方案:在執行 SQL Server 的電腦上,檢查相關資料表上的 SELECT 權限所授與的使用者是否經過執行 SQL Server 的電腦驗證。

顯示未選取的記錄欄位

問題:雖然某些欄位您沒有選擇要在記錄中顯示出來,但是防火牆和網頁 Proxy 等的記錄中卻予以顯示。

起因:這是一個已知問題。有些欄位即使在記錄設定時沒被選取,也會顯示出來。

防火牆記錄檔中會記錄下列欄位:

  • 動作

  • 伺服器

  • 結果碼

網頁 Proxy 記錄檔中會記錄下列欄位:

  • 伺服器名稱

  • 傳輸

  • 接收的位元組數

  • 送出的位元組數

  • 服務

  • 驗證的用戶端

  • HTTP 狀態碼

  • 動作

解決方案:目前沒有變通方式。

記錄檔刪除失敗事件

問題:產生記錄檔刪除失敗事件。

起因:刪除記錄失敗,可能是因為資料庫已經鎖定。

解決方案:執行 osql 工具程式。這個程式可以在執行 SQL Server 電腦的 \Program Files\Microsoft SQL Server\80\Tools\Binn\ 資料夾中找到。在命令提示字元中,鍵入下列內容:

OSQL.EXE" –E –S <server name>\msfw

接著在命令提示字元中,鍵入:

sp_who2
Go

會顯示 SQL 物件的工作階段清單。

執行該程序後,如果沒有列出任何 SQL 物件,請前往 \Program Files\Microsoft SQL Server\MSSQL$MSFW\LOG 資料夾,按一下 MSDE 錯誤記錄 (名為 ERRORLOG),檢查是否沒列出任何 ISA Server 資料庫。請特別檢查下列項目:

  • "udopen: Operating system error 32(The process cannot access the file because it is being used by another process.) during the creation/opening of physical device d:\logfiles\ISALOG_20041120_FWS_000.mdf."

  • "FCB::Open failed: Could not open device d:\logfiles\ISALOG_20041120_FWS_000.mdf for virtual device number (VDN) 1."

如果您認為不需要某個可疑的資料庫,請循上述步驟啟用 osql 公用程式。接著鍵入:

drop database <databaseName>
go

這樣就可以移除特定資料庫,您可以安心地進行移除。

產生異常大的記錄檔

問題:產生異常大的防火牆記錄檔,有些記錄檔甚至高達 1 GB 或更大。這些記錄檔可能將存放的硬碟資源佔用殆盡。根據預設,防火牆記錄檔是以壓縮格式存放在 C:\Program Files\Microsoft ISA Server\ISALogs 資料夾。

起因:如果以 ISA Server 為基礎的電腦的外部介面卡所連接的網路暴露在過多的 NetBIOS 廣播流量,就會發生這種情況。

解決方案:若要避免上述情況,請遵循下列其中一種方式:

  • 降低外部介面卡與廣播的接觸,其中一種方法是使用交換器連接至網路。

  • 減少所記錄的欄位數目。

  • 關閉記錄功能。

若要變更記錄設定,請遵循下列步驟

  1. 在 ISA Server 管理主控台樹狀目錄中,按一下 [監視]:

    • 在 ISA Server 2004 Enterprise Edition 中,依序展開 [Microsoft Internet Security and Acceleration Server 2004] > [陣列] > 陣列名稱,然後按一下 [監視]。

    • 在 ISA Server 2004 Standard Edition 中,依序展開 [Microsoft Internet Security and Acceleration Server 2004] > 伺服器名稱,然後按一下 [監視]。

  2. 在詳細資料窗格中,選取 [記錄] 索引標籤。

  3. 在工作窗格中,按一下 [設定防火牆記錄] 索引標籤。然後,遵循下列其中一個步驟:

    • 若要減少的欄位數目,請按一下 [欄位] 索引標籤,然後取消勾選不想記錄的欄位旁的核取方塊。

      [防火牆記錄內容]

    • 若要關閉記錄功能,請在 [記錄] 索引標籤上,清除 [啟用這個服務的記錄] 核取方塊。

      [防火牆記錄內容]

建立新的記錄

問題:建立新的防火牆和網頁 Proxy 記錄。

起因:Microsoft Firewall 服務重新啟動後,會建立新的防火牆和網頁 Proxy 記錄,這是產品本身的設計。

解決方案:您可以放心地忽略這些新的記錄,記錄維護原則會處理這些記錄,並依據維護設定刪除它們。

MSDE 記錄問題

本節說明記錄至 MSDE 資料庫時所遇到的問題。

無法移除 MSDE

問題:在控制台中使用 [新增或移除程式] 卻無法修改 ISA Server 的安裝選項,也無法移除 [進階記錄] 功能。

起因: ISA Server (或 Enterprise Edition 中的任何陣列) 裡的記錄設定為使用 MSDE,因此無法移除 [進階記錄] 功能。

解決方案:移除 [進階] 功能前,請先切換至文字檔案記錄。請注意,您必須有適當的陣列層級權限,才能切換記錄格式。

無法遠端連線至 MSDE 資料庫

問題:嘗試遠端連線至 ISA Server 電腦上的 MSDE 資料庫,但失敗了。

起因:ISA Server 所使用的 MSDE 執行個體的網路通訊協定可能已經停用,因而無法遠端連線。如果 ISA Server 電腦上已經安裝有 Enterprise Manager,您只可以使用 SQL Enterprise Manager 進行連線。

解決方案:嘗試使用 ISA Server 電腦上安裝的 SQL Enterprise Manager 連線至 MSDE 資料庫,但失敗了。

離線記錄檢視工具無法執行查詢

問題:離線記錄檢視工具無法執行查詢。

Cause:若您未將 MSDE 2000 資料庫檔案從 MSDE 2000 中斷連線就加以刪除,那麼離線記錄檢視程式可能無法正常地執行查詢。

解決方案:ISA Server 支援自動清除資料庫檔案的功能,您也可以手動刪除 MSDE 2000 資料庫檔案。請記住刪除前要先將資料庫與 MSDE 中斷連線。

SQL 記錄問題

本節說明記錄至 SQL 資料庫時常見的問題。

SQL 版本

問題:使用 SQL Server Workgroup Edition 替 ISA Server 進行記錄,但似乎無法運作。

起因:只要是適用於記錄資料庫的技術 (包括 SQL Server Workgroup Edition),並符合下列條件,ISA Server 都可以用它來記錄至任何資料庫:

  • 技術支援標準的 T-SQL 命令。

  • 可以在系統資料庫來源名稱 (DSN) 中定義資料庫。

  • 技術符合 ISA Server 的效能要求。

解決方案:使用符合上述條件的資料庫技術。SQL Server Workgroup Edition 符合上述所有條件。

SQL Server 逾時錯誤

問題:SQL Server 逾時錯誤,記錄失敗。

起因:SQL Server 電腦的存取設定可能不正確。

解決方案:檢查 SQL Server 電腦的存取設定是否恰當。在 SQL Server 的 [記錄選項] 索引標籤上,按一下 [測試]。如需指示,請參閱《設定至 SQL 資料庫的記錄》(Configure logging to an SQL database)。如果測試失敗:

  • 檢查執行 SQL Server 的電腦是否可用。

  • 檢查 SQL Server 資料庫、資料表和使用者權限是否設定妥當。

  • 檢查遠端 SQL 記錄系統原則是否已經啟用。

  • 如果指定的並非預設的 SQL 連接埠 (不是 1433),請建立存取規則,允許存取連至執行 SQL Server 電腦的連接埠,

  • 檢查是否超出 SQL Server 的記憶體配額。

  • 檢查 DNS 是否能夠成功地查閱執行 SQL Server 的電腦。如果有使用資料加密,請在執行 SQL Server 的電腦上進行反相 DNS 查閱查詢,這應該能由所有的陣列成員解析。

存取 sp_batch_insert 程序時發生錯誤

問題:Firewall 服務可能會報告存取 sp_batch_insert 程序時發生錯誤,造成 Firewall 服務失敗,連帶引起 ISA Server 被鎖定。發生這種情況時,您會看到下面的事件:

The Microsoft Firewall failed to log information to MSDE
Database ISALOG_20041217_FWS_001 in path D:\Program Files\Microsoft
ISA Server\ISALogs. The MSDE Error description is: Could not find
stored procedure 'sp_batch_insert'.. The problem may be resolved by
restarting the MSSQL$MSFW service.

起因:有太多的現用記錄。

解決方案:減少 MSDE 所持有的現用記錄數目。

修改 [Logging] 資料夾的預設位置後,事件檢視工具出現 11002 事件

問題:修改記錄至 MSDE 2000 資料庫或檔案的記錄檔案放置資料夾後,會出現下列事件:事件 11002 Microsoft Firewall 無法啟動。建立記錄模組時發生錯誤,因為組態設定 PropertyName 無效。錯誤描述為:檔案名稱、目錄名稱、或磁碟區標籤的語法不正確。

起因:自訂記錄資料夾的權限設定不正確。

解決方案:確認權限設定是否正確。「網路服務」一定是從根磁碟以及該資料夾的任何一個上層資料夾讀取權限。記錄資料夾本身需要有下列權限:

  • 網路服務:完全控制

  • 系統:完全控制

  • Administrators:完全控制

額外資訊

您可以前往 ISA Server 2004 Guidance 網頁取得其他的 ISA Server 2004。

若您對本文有任何意見或指教,歡迎與我們聯繫

下载

TB_Logging.doc
254 KB
Microsoft Word 文件

取得 Office 檔案檢視器

顯示: