Windows 2000 稽核與侵入偵測

Overview

發佈日期: 2004 年 11 月 17 日 | 更新日期: 2006 年 5 月 31 日


本頁內容

本單元內容
目標
適用於
如何使用本單元
稽核
監視侵入與安全性事件
總結
其他資訊

本單元內容

只在適當的地方加上保護系統並不足以維護真正安全的環境。如果您認為不會遭到攻擊,或防護機能足以保護您,這是過於輕忽的假設。為了維護系統的安全,還需要主動監視侵入與攻擊。

有許多理由可說明為何監視與稽核侵入是非常重要的。這些包括:

  • 任何工作中的電腦環境,都可能因為漏洞而有遭受攻擊的潛在危機。不論您的安全性等級有多高,仍有可能遭受攻擊的風險。

  • 往往只要持續嘗試,就能夠攻擊成功。如果不監視攻擊,將無法在侵入者成功之前先偵測出來。

  • 一旦攻擊成功後,您愈早發現,就愈容易控制損害。

  • 您必須知道受到什麼損害,才能在攻擊後修復。

  • 稽核和侵入偵測可以幫助您判斷攻擊者的身份。

  • 稽核與侵入偵測的組合有助於將資訊交互關聯,以找出攻擊模式。

  • 定期檢查安全性記錄可以找出不明的安全性設定問題,例如錯誤的權限,或鬆散的帳戶鎖定設定。

  • 偵測到攻擊後,稽核可幫助判斷受到危害的網路資源。

這個單元會說明如何稽核您的環境,以便找出及追蹤攻擊。這個單元會說明如何監視侵入,包括使用侵入偵測系統 (em dash) 專為找出顯示攻擊跡象的行為而設計的軟體。

目標

透過本單元即可:

  • 使用最佳作法在您的組織中執行稽核。

  • 保護重要的記錄檔,並防止攻擊者破壞證據。

  • 結合被動與主動式偵測方法。

  • 識別必須為檢查和監視人員提供哪些工具和技術,以及如何在稽核程序中使用。


適用於

本單元適用於下列產品及技術:

  • Microsoft® Windows™ 2000 作業系統


如何使用本單元

使用本單元內的指引,以啟動將主動偵測侵入與攻擊的監視方式。這可以讓您在發生攻擊時及早介入,並降低事件的影響和嚴重傷害組織的風險。

若要充分瞭解本單元:

  • 請閱讀回應 Windows 2000 環境中辨識的事件 (Responding to Incidents Identified in a Windows 2000 environment)>單元。


稽核

在任何安全環境中,應該主動地監視侵入和攻擊。加上保全系統,然後就假設不會遭到攻擊而不執行任何稽核,會有不良的後果。

在整體安全性策略中,應該決定適合您環境的稽核等級。稽核應該能識別對網路造成威脅的攻擊,或針對您在風險評估中認為很重要之資源的攻擊 (不論成功或失敗)。

決定要稽核的範圍時,應該記住稽核的範圍愈大,產生的事件就愈多,也就愈難找出關鍵的事件。如果執行大量稽核,應該認真考慮使用其他工具 (例如 Microsoft Operations Manager (MOM)) 來篩選較重要的事件。

稽核事件可以分成兩大類:成功事件和失敗事件。成功事件指出使用者已成功地取得資源的存取權,而失敗事件則顯示使用曾經嘗試,但是失敗了。

失敗事件對於追蹤嘗試對您的環境之攻擊很有用,但是成功事件更難於解讀。大部分的成功稽核事件都只是正常活動的指示,而設法取得系統存取權的攻擊者也會產生成功事件。事件的模式往往和事件本身一樣重要。例如,一連串失敗之後的成功,就會顯示攻擊嘗試最後終於成功。

只要可能,應該將稽核事件與您所擁有的使用者其他相關資訊結合。例如,使用者若是休假,您可以選擇在其離開的這段時間停用其帳戶,並在重新啟用後稽核。

如何啟用稽核

稽核是使用「群組原則」,在站台、網域、組織單位 (OU) 或本機電腦層級啟用。稽核原則設定放在以下位置:

Computer Configuration\Windows Settings\Security Settings\Local Policies\Audit Policy

通常,應該在 Microsoft Active Directory™ 目錄服務階層的高層級執行稽核,因為這樣有助於保持稽核設定的一致性。Contoso 會同時在成員伺服器和網域控制站 OU 層級執行稽核。

您可能已選擇讓某些伺服器與網域分開。在這些電腦上,可以利用編輯本機電腦的群組原則,或使用 Windows 2000 Server Resource Kit 裡的 Auditpol.exe 公用程式,來設定稽核。

注意:若要存取本機電腦的群組原則,請啟動 Microsoft Management Console (MMC),然後加入群組原則嵌入式管理單元,這會讓本機電腦成為嵌入式管理單元的焦點。

定義事件日誌設定

稽核產生的每個事件都會在事件檢視器中顯示。您應該決定事件日誌儲存產生之事件的方式。每一項設定都可以直接在事件檢視器中,或在群組原則中定義。本指引是在群組原則中定義事件檢視器設定。

如果移除群組原則中的事件檢視器設定,就可以改成直接在事件檢視器中定義。但是,建議您在群組原則中定義事件檢視器設定,以確保所有類似電腦的一致設定。

Contoso 的環境裡,群組原則的設定不會在安全性記錄容量滿的時候,將組織中的系統關機。而是設定系統依需要覆寫事件日誌。

稽核事件

Microsoft Windows 2000 提供許多種安全性事件的稽核類別。設計您的企業稽核策略時,必須決定是否要包含下列安全性稽核事件的類別:

  • 登入事件

  • 帳戶登入事件

  • 物件存取事件

  • 目錄服務存取事件

  • 特殊權限使用事件

  • 程序追蹤事件

  • 系統事件

  • 原則變更事件

後面各節會詳細討論針對特定類別啟用稽核後,所傳回之一些較常見的事件識別碼。

注意:搜尋和收集事件日誌資訊所使用的工具,會在本單元後面的<被動偵測方法>一節裡討論。

登入事件

如果您稽核登入事件 (em dash) 每次有使用者登入或登出電腦時 (em dash) 就會在出現登入嘗試之電腦的安全性記錄裡產生一個事件。另外,當使用者連線到遠端伺服器時,會在遠端伺服器的安全性記錄裡產生一個登入事件。建立或摧毀登入工作階段和權杖時,會分別建立登入事件。

在伺服器上互動追蹤登入嘗試,或檢查從特定電腦啟動的攻擊時,登入事件很有用。成功稽核會在登入嘗試成功時產生稽核項目。失敗稽核會在登入嘗試失敗時產生稽核項目。

注意:登入事件包含電腦和使用者的登入事件。如果企圖從 Microsoft Windows NT® 或 Windows 2000 為基礎的電腦進行網路連線,您會看到電腦帳戶和使用者帳戶的個別安全性事件日誌項目。Windows 9x 為基礎的電腦目錄中沒有電腦帳戶,所以不會產生網路登入事件的電腦登入事件項目。

成員伺服器和網域控制站基準線原則中,會啟用成功與失敗登入事件的稽核。因此,您應該會在安全性事件日誌中看到互動登入的下列事件識別碼,以及連線至執行終端機服務之電腦的終端機服務登入。

[表 1]:安全性事件日誌中顯示的登入事件

事件識別碼

說明

528

使用者已成功地登入電腦。

529

有不明的使用者名稱,或已知使用者名稱但密碼錯誤的登入嘗試。

530

已超出允許時間的使用者帳戶嘗試登入。

531

嘗試使用已停用的帳戶登入。

532

嘗試使用已過期的帳戶登入。

533

使用者不允許登入這部電腦。

534

使用者嘗試使用不允許的登入類型登入,例如網路、互動、批次、服務或遠端互動。

535

指定之帳戶的密碼已經過期。

536

Net Logon 服務並未啟動。

537

登入嘗試因為其他原因而失敗。

538

使用者登出。

539

嘗試登入時,帳戶是鎖定的。這個事件表示有人啟動密碼攻擊,但是失敗,因而造成帳戶鎖定。

540

網路登入成功。這個事件表示有遠端使用者已經成功從網路連線到伺服器上的本機資源,產生網路使用者的權杖。

682

使用者重新連線到已中斷連線的終端機服務工作階段。這個事件表示有人連線至先前的終端機服務工作階段。

683

使用者並未登出就中斷了終端機服務工作階段的連線。使用者透過網路連線至終端機服務工作階段時,就會產生這個事件。它會在終端機伺服器上顯示。


下列安全性事件可以使用登入事件項目診斷:

  • 本機登入嘗試失敗
    下列任一個事件識別碼表示有登入嘗試失敗:529、530、531、532、533、534 和 537。如果攻擊者嘗試猜測本機帳戶的使用者名稱與密碼組合,但是失敗,您就會看到事件 529 與 534。不過,若是使用者忘了自己的密碼,或者透過 [網路上的芳鄰] 開始瀏覽,也可能發生這些事件。

    在大型環境中,很難有效地解讀這些事件。通常,如果這些模式重複發生,或和其他不尋常的因素同時發生,就應該檢查這些模式。例如,半夜發生的編號 528 事件之後的編號 529 事件,可能表示密碼攻擊成功 (或系統管理員實在太累了)。

  • 帳戶誤用
    事件 530、531、532 和 533 全都代表使用者帳戶誤用。這些事件表示輸入的帳戶/密碼組合正確,但是其他限制導致無法成功登入。您應儘可能調查這類事件,判斷是否發生誤用,或者需要修改目前的限制。例如,您可能需要延長某些帳戶的登入時間。

  • 帳戶鎖定
    事件 539 表示帳戶已經鎖定。這可能表示密碼攻擊失敗。您應該尋找同一個使用者帳戶更早的 529 事件,試著分辨登入嘗試的模式。

  • 終端機服務攻擊
    終端機服務工作階段可能會留在連線的狀態,讓這些程序在工作階段結束後仍然繼續執行。事件識別碼 683 表示使用者未登出終端機服務工作階段,而事件識別碼 682 則表示連線至先前已中斷連線之工作階段。

Contoso 會監視大量的登入嘗試失敗和大量的帳戶鎖定。在他們的環境中,使用者很可能會因故中斷終端機服務工作階段。

帳戶登入事件

使用者登入網域時,登入是在網域控制站處理。如果您在網域控制站稽核帳戶登入事件,將會看到確認帳戶的網域控制站記錄此一登入嘗試。驗證封裝驗證使用者的認證時,會建立帳戶登入事件。使用網路認證時,只有網域控制站的事件日誌中會產生帳戶登入事件。如果提出的認證是本機安全性帳戶管理員 (SAM) 資料庫認證,則會在伺服器的安全性事件日誌中建立帳戶登入事件。

由於網域中任何有效的網域控制站中都可以記錄帳戶登入事件,因此您必須確定將所有網域控制站的安全性記錄合併,以分析網域中所有的帳戶登入事件。

注意:與登入事件一樣,帳戶登入事件會同時包含電腦與使用者的登入事件。

成員伺服器與網域控制站基準線原則中,會啟用成功與失敗帳戶登入事件的稽核。因此,您應該會看到網路登入和終端機服務驗證的下列事件識別碼。

[表 2]:事件日誌中顯示的帳戶登入事件

事件識別碼

說明

672

驗證服務 (AS) 票證已成功發出,而且也通過驗證。

673

已授與票證授與服務 (TGS) 的票證。

674

安全性主體已更新 AS 票證或 TGS 票證。

675

預先驗證失敗。

676

驗證票證要求失敗。

677

未授與 TGS 票證。

678

帳戶已成功地對應至網域帳戶。

680

識別成功登入嘗試所使用的帳戶。這個事件也會指出用於驗證帳戶的驗證封裝。

681

嘗試進行網域帳戶登入。

682

使用者重新連線到已中斷連線的終端機服務工作階段。

683

使用者並未登出就中斷了終端機服務工作階段的連線。


事件日誌會針對每一個這類事件,顯示每個特定登入的詳細資訊。下列安全性事件可以使用帳戶登入事件項目診斷:

  • 網域登入嘗試失敗
    事件識別碼 675 和 677 表示登入網域的嘗試失敗。

  • 時間同步的問題
    如果用戶端電腦的時間與驗證網域控制站的時間相差達 5 分鐘 (預設值) 以上,安全性記錄中會顯示事件識別碼 675。

  • 終端機服務攻擊
    終端機服務工作階段可能停留在連線狀態,讓程序能在終端機伺服器工作階段結束後仍然繼續執行。事件識別碼 683 表示使用者未登出終端機服務工作階段,而事件識別碼 682 則表示連線至先前已中斷連線之工作階段。為了防止中斷連線,或終止這些中斷的工作階段,請在 [終端機伺服器設定] 主控台中,於 RDP-TCP 通訊協定的內容中定義 [結束中斷連線之工作階段的時間間隔]。

Contoso 目前有監視不尋常的網域登入嘗試失敗的數目。根據其環境,其他事件並無關聯。他們在設定這些設定時,決定最好的方法是先使用相對較嚴格的設定,並且繼續減少,直到錯誤的警示減少為止。目前,他們所監視的是在 10 分鐘的期間內發生 10 次登入失敗的任何情況。這個數目在各環境下可能會不同。

帳戶管理

帳戶管理稽核用來判斷使用者或群組建立、變更或刪除的時間。此稽核可用來判斷建立安全性主體的時間,以及執行工作的使用者。

成員伺服器和網域控制站基準線原則中,會啟用帳戶管理中成功與失敗的稽核。因此,您應會在安全性記錄中看到下列的事件識別碼。

[表 3]:事件日誌中顯示的帳戶管理事件

事件識別碼

說明

624

使用者帳戶建立日期

625

使用者帳戶類型變更

626

啟用使用者帳戶

627

嘗試變更密碼

628

使用者帳戶密碼設定

629

停用使用者帳戶

630

已刪除使用者帳戶

631

已建立安全性啟用的通用群組

632

新增的安全性啟用通用群組成員

633

移除的安全性啟用通用群組成員

634

刪除的安全性啟用通用群組

635

建立的安全性停用本機群組

636

新增的安全性啟用本機群組成員

637

移除的安全性啟用本機群組成員

638

刪除的安全性啟用本機群組

639

變更的安全性啟用本機群組

641

已變更安全性啟用的通用群組

642

已變更使用者帳戶

643

已變更網域原則

644

已鎖定使用者帳戶


下列帳戶管理事件可以使用安全性記錄項目診斷:

  • 建立使用者帳戶
    事件識別碼 624 和 626 會識別建立及啟用使用者帳戶的時間。如果組織內只有限定的一些特定人員才能建立帳戶,您可以使用這些事件來識別是否有未授權的人員建立了使用者帳戶。

  • 使用者帳戶密碼變更
    密碼被使用者以外的人修改,表示帳戶已經遭到其他人接管。尋找是否有事件識別碼 627 和 628,這兩個識別碼指出有人嘗試變更密碼,而且也成功了。檢查詳細資料,判斷是否有其他帳戶執行變更,以及該帳戶是否為技術人員或其他服務團隊在重設使用者帳戶密碼。

  • 使用者帳戶狀態變更
    攻擊者可能會停用或刪除其在攻擊中使用的帳戶,以掩飾其蹤跡。事件識別碼 629 和 630 的所有事件都應該檢查,以確定這些都是授權的異動。同時也要檢查事件識別碼 626 之後不久是否有事件識別碼 629 的事件。這表示某個已停用的帳戶被人啟用,使用過,然後再停用。

  • 修改安全性群組
    網域管理員、系統管理員、任何操作員群組,或者自訂通用、萬用或網域本機群組中擁有委派之管理功能的成員變更,都應該檢查。針對通用群組成員的修改,請尋找事件識別碼 632 和 633。針對網域本機群組成員的修改,請尋找事件識別碼 636 和 637。

  • 帳戶鎖定
    帳戶鎖定時,會在主要網域控制站 (PDC) 模擬器操作主機記錄兩個事件。一個 644 事件,這會指出帳戶名稱已經鎖定,然後再記錄一個 642 事件,指出使用者帳戶已經變更,表示帳戶現在已經鎖定。這個事件只會記錄在 PDC 模擬器中。

由於 Contoso 是一家很大的企業,因此每天會有大量的帳戶維護。監視這一切事件,將會造成環境中有太多的警示需要處理。

物件存取

可以使用系統存取控制清單 (SACL),針對 Windows 2000 為基礎的網路中所有的物件啟用稽核。SACL 包含一份使用者和群組的清單,針對這些成員的物件所執行的動作都必須稽核。使用者可以在 Windows 2000 裡操作的所有物件幾乎都有 SACL。包括 NTFS 檔案系統磁碟上的檔案和資料夾、印表機和登錄機碼。

一個 SACL 是由幾個存取控制項目 (ACE) 所組成。每個 ACE 包含三個資訊:

  • 要稽核的安全性主體。

  • 要稽核的特定存取類型,稱為存取遮罩。

  • 一個旗標,表示是否要稽核失敗的存取事件、成功的存取事件或兩者都要。

如果希望事件能在安全性記錄中顯示,必須先啟用 [稽核物件存取],然後為您要稽核的每個物件定義 SACL。

在 Windows 2000 中,只要開啟了物件的控制碼,就會產生稽核。Windows 2000 使用核心模式安全性子系統,這個子系統只允許程式透過核心存取物件。這可以防止程式試圖避過安全性系統。由於核心記憶體空間與使用者模式程式是隔離的,因此透過資料結構參考物件的程式稱為控制碼。以下是典型的存取嘗試:

  1. 使用者指示程式存取物件 (例如 [檔案/開啟])。

  2. 程式向系統要求控制碼,指定需要何種存取權限 (讀取、寫入等)。

  3. 安全性子系統會以要求之物件的判別存取控制清單 (DACL) 和使用者的權杖比較,在 DACL 中尋找符合使用者或使用者所屬群組,而且具有程式所要求之存取權限的項目。

  4. 系統會以要求之物件的 SACL 和使用者的權杖比較,在 SACL 中尋找符合傳回程式之有效權限,或程式所要求之權限的項目。如果比對失敗稽核 ACE 符合所要求但是未授與的存取權限,就會產生失敗稽核事件。如果比對稽核成功 ACE 符合授與的存取權限,就會產生稽核成功事件。

  5. 如果授與了任何存取,系統會將一個控制碼傳回給程式,程式再使用該控制碼存取物件。

特別要注意的是,執行稽核及產生事件時,還沒有對物件採取任何動作。這在解釋稽核事件時很重要。寫入稽核會在寫入檔案之前產生,而讀取稽核會在讀取檔案之前產生。

進行任何稽核時,都應該採取一種目標方法來稽核物件存取。在您的稽核計劃中,決定必須稽核的物件類型,然後決定您要針對每一種稽核物件監視的存取嘗試類型 (成功、失敗或兩者皆要)。範圍太廣的稽核方法會大為影響您系統的效能,且收集的資料會遠超過真正必要或有用的資料。

通常您需要稽核對您所選物件的所有存取,包括來自不受信任帳戶的存取。為了達到這一點,請在您要稽核之物件的 SACL 上加入 Everyone 群組。您應該斟酌是否要稽核成功的物件存取,因為這會在安全性記錄中建立非常大量的稽核項目。但是,如果您調查的是刪除重要檔案,則必須檢查稽核成功事件,以判斷哪個使用者帳戶刪除了檔案。

設定成員伺服器和網域控制站基準線原則,以稽核成功和失敗的物件存取。但是,物件本身並沒有設定 SACL,您必須根據環境的需求設定這些。SACL 可以直接在物件定義,或使用群組原則定義。如果需要稽核的物件存在於多部電腦上,應該在群組原則中定義 SACL。

稽核物件存取會使下列事件在安全性記錄中顯示。

[表 4]:事件日誌中顯示的物件存取事件

事件識別碼

說明

560

已將存取權授與早已存在的物件。

562

已關閉物件的控制碼。

563

嘗試開啟物件,目的是要刪除該物件 (如果指定了 FILE_DELETE_ON_CLOSE 旗標,檔案系統會使用這個)。

564

已刪除受保護的物件。

565

已將存取權授與早已存在的物件類型。


如果要尋找特定的物件存取事件,主要必須研究事件識別碼 560 的事件。事件詳細資料中包含實用的資訊,您必須搜尋事件詳細資料,以找出所搜尋的特定事件。下表顯示必須執行的一些動作和執行方式。

[表 5]:如何執行物件存取事件 560 的主要稽核動作

稽核動作

如何完成

尋找特定的檔案、資料夾或物件

在事件 560 詳細資料中,搜尋要檢查其動作之檔案或資料夾的完整路徑。

判斷特定使用者的動作

定義篩選器,在 560 事件中識別特定的使用者。

判斷在特定電腦上執行的動作

定義篩選器,識別 560 事件中執行工作的特定電腦帳戶。


Contoso 並不會特別監視所有的物件存取事件,而是稽核某些檔案的物件存取。在回應安全性事件時,這項資訊非常有用。

目錄服務存取

Active Directory 物件有關聯的 SACL,因此可以稽核。前面提過,稽核 Active Directory 使用者與群組帳戶的方式,是稽核帳戶管理。但是,您若是要稽核其他命名內容中的物件修改,例如設定和架構命名內容,則必須稽核物件存取,然後為您要稽核的特定容器定義 SACL。Active Directory 物件之 SACL 上所列的使用者嘗試存取該物件時,會產生稽核項目。

您可以使用 ADSIEDIT MMC 嵌入式管理單元,修改在設定命名內容 (和其他命名內容) 裡之容器與物件的 SACL。這是在 ADSIEDIT 主控台裡顯示必要的內容,然後在 [進階安全性設定] 對話方塊中修改物件的 SACL來完成。

因為發生的事件量很大 (通常是無害的),所以很難找到目錄服務存取的特定事件。基於此理由,成員伺服器和網域控制站基準線原則只會稽核目錄服務存取的失敗事件。這會幫助您識別攻擊者何時嘗試未經授權地存取 Active Directory。

嘗試的目錄存取在安全性記錄中會以識別碼 565 的目錄服務事件顯示。只有檢查安全性事件的詳細資料,才能判斷事件所對應的物件。

Contoso 並不會特別監視所有的目錄服務存取事件,而是稽核某些檔案的物件存取。在回應安全性事件時,這項資訊非常有用。

特殊權限使用

使用者在資訊科技 (IT) 環境中工作時,運用的是已定義的使用者權利。如果您稽核成功和失敗的特殊權限使用,每次有使用者嘗試行使使用者權利時,就會產生一個事件。

即使稽核特殊權限使用,也不是稽核所有的使用者權利。依照預設,會排除下列使用者權利:

  • 略過周遊檢查

  • 偵錯程式

  • 建立權杖物件

  • 取代處理序層級權杖

  • 產生安全性稽核

  • 備份檔案和目錄

  • 還原檔案和目錄

您可以在群組原則中啟用 [稽核備份和還原權限的使用] 安全性選項,來覆蓋預設行為 (不稽核備份和還原使用者權利)。

稽核成功的特殊權限使用會在安全性記錄中建立非常大量的項目。基於此理由,成員伺服器和網域控制站基準線只會稽核特殊權限使用失敗。

如果啟用稽核特殊權限使用,會產生下列事件。

[表 6]:事件日誌中顯示的特殊權限使用事件

事件識別碼

說明

576

指定的特殊權限已加入使用者的存取權杖 (這個事件是在使用者登入時產生)。

577

使用者嘗試執行需要特殊權限的系統服務作業。

578

在已經開啟受保護的物件上使用特殊權限。


以下是使用特定的使用者權利時,會出現的一些事件日誌項目的範例:

  • 作為作業系統的一部分
    尋找有 SeTcbPrivilege 存取權限的事件識別碼 577 或 578。使用使用者權利的使用者帳戶會在事件詳細資料中識別。這個事件會指出使用者嘗試作為作業系統的一部分,來提昇安全性特殊權限。例如 GetAdmin 攻擊,在這種攻擊中,使用者嘗試使用這個特殊權限,將自己的帳戶加入系統管理員群組。只有系統帳戶,以及指定了此一使用者權利的任何服務帳戶,才會有這個事件的項目。

  • 變更系統時間
    尋找有指出 SeSystemtimePrivilege 存取權限的事件識別碼 577 或 578。使用這種使用者權利的使用者帳戶會在事件詳細資料中識別。這個事件表示,使用者嘗試變更系統時間,以隱藏事件發生的真正時間。

  • 強制從遠端系統關機
    尋找有指出使用者權利 SeRemoteShutdownPrivilege 存取權限的事件識別碼 577 和 578。事件詳細資料中包含指定了使用者權利的特定安全性識別元 (SID),以及指定了權利之安全性主體的使用者名稱。

  • 載入及卸載裝置驅動程式
    尋找有指出 SeLoadDriverPrivilege 存取權限的事件識別碼 577 或 578。事件詳細資料中會識別使用此一使用者權利的使用者帳戶。這個事件表示,使用者嘗試載入未經授權或特洛伊木馬 (一種惡意的程式碼) 版本的裝置驅動程式。

  • 管理稽核與安全性記錄
    尋找有指出 SeSecurityPrivilege 存取權限的事件識別碼 577 或 578。事件詳細資料中會識別使用此一使用者權利的使用者帳戶。事件日誌遭到清除,以及將特殊權限使用事件寫入安全性記錄時,都會發生此事件。

  • 將系統關機
    尋找有指出 SeShutdownPrivilege 存取權限的事件識別碼 577。事件詳細資料中會識別使用此一使用者權利的使用者帳戶。有人嘗試將電腦關機時,就會發生此事件。

  • 取得檔案或其他物件的擁有權
    尋找有指出 SeTakeOwnershipPrivilege 存取權限的事件識別碼 577 或 578。使用這種使用者權利的使用者帳戶會在事件詳細資料中識別。這個事件表示攻擊者嘗試取得物件的擁有權,以避過目前的安全性設定。

Contoso 會特別監視指出正常關機或強制從遠端系統關機,以及指出稽核和安全性記錄曾遭到修改的所有事件。

程序追蹤

如果您稽核在 Windows 2000 為基礎之電腦上執行之程序的詳細追蹤資訊,事件日誌會顯示建立程序和終止程序的嘗試事件。另外也會記錄程序何時嘗試產生物件的控制碼,或取得物件的間接存取權。

由於建立的稽核項目數量非常大,因此成員伺服器和網域控制站基準線原則不會啟用程序追蹤的稽核。但是,您若選擇稽核成功和失敗,則會在事件日誌中記錄下列事件識別碼。

[表 7]:事件日誌中顯示的程序追蹤事件

事件識別碼

說明

592

已建立新的程序。

593

程序已結束。

594

已複製物件的控制碼。

595

已取得物件的間接存取權。


Contoso 並不會監視任何的程序追蹤事件,也沒有在任何伺服器原則中啟用這些事件。

系統事件

使用者或程序改變電腦環境的狀態時,會產生系統事件。您可以稽核對系統變更的嘗試,例如將電腦關機或改變系統時間。

如果稽核系統事件,也應該在清除安全性記錄時進行稽核。這點非常重要,因為攻擊者在環境中做過變更後,往往會嘗試清除其蹤跡。

成員伺服器和網域控制站基準線原則會稽核成功與失敗的系統事件。這會在事件日誌中記錄下列事件識別碼。

[表 8]:事件日誌中顯示的系統事件

事件識別碼

說明

512

Windows 正在啟動。

513

Windows 正在關機。

514

驗證封裝已由「本機安全性授權」載入。

515

受信任的登入程序已經向「本機安全性授權」註冊。

516

配置給安全性事件訊息佇列的內部資源已用盡,造成某些安全性事件訊息遺失。

517

安全性記錄已清除。

518

通知封裝軟體已由「安全性帳戶管理員」載入。


您可以使用這些事件識別碼記錄許多安全性問題:

  • 電腦關機/重新啟動
    事件識別碼 513 顯示 Windows 關機的每一個例項。知道伺服器何時關機或重新啟動很重要。有許多正當的理由,例如安裝的驅動程式或應用程式需要重新啟動,或因為維護而關機或重新啟動。但是,攻擊者也可能強制重新啟動伺服器,以便在啟動過程中取得系統的存取權。電腦關機的所有情況都必須記下來,和事件日誌做比較。

    許多攻擊都牽涉到重新啟動電腦。調查事件日誌可以判斷伺服器何時重新啟動過,以及重新啟動究竟是計劃的或未計劃的重新啟動。事件識別碼 513 顯示 Windows 正在啟動,而且也會顯示在系統記錄中自動產生的其他一連串的事件。其中包括事件識別碼 6005,表示事件日誌服務已經啟動。

    除了這個項目之外,請尋找系統記錄中是否有下列兩個事件日誌項目的其中之一。如果先前的關機已清除,例如系統管理員重新啟動電腦時,系統記錄中會記錄事件識別碼 6006,事件日誌服務已中止。檢查項目的詳細資料,就可以判斷哪個使用者啟動了關機。

    如果是意外重新啟動造成的重新啟動,系統記錄裡會記錄事件識別碼 6008,<日期> <時間> 的系統上次發生意外的關機。這可能代表造成電腦關機的拒絕服務 (DoS)。但是請記住,這也可能是斷電或裝置驅動程式故障造成的。

    如果是因為會出現藍色螢幕的停止錯誤造成重新啟動,則系統記錄中會記錄事件識別碼 1001,儲存傾印的來源。實際的停止錯誤訊息可以在事件詳細資料中檢查。

    注意:若要包含事件識別碼 1001 項目的記錄,必須選取 [將事件寫入系統記錄檔中] 核取方塊,以啟用系統控制台小程式的修復設定區段。

  • 修改或清除安全性記錄
    攻擊者可能會嘗試修改安全性記錄、在攻擊期間停用稽核,或清除安全性記錄以防止偵測。如果您發覺安全性記錄中有一大段時間沒有項目,應該尋找事件識別碼 612 和 517,以判斷哪個使用者修改了稽核原則。事件識別碼 517 的所有事件,都應該和指出安全性記錄被清除之所有時間的實體記錄做比較。未經授權清除安全性記錄,可能是為了要隱藏上次安全性記錄裡的事件。事件詳細資料中會包含清除記錄之使用者的名稱。

Contoso 會同時監視電腦的關機或重新啟動,以及安全性記錄的清除。

原則變更

您的稽核原則定義了要稽核哪些環境變更,幫助您判斷是否有人嘗試攻擊您的環境。但是,所找出的攻擊者也會想要改變稽核原則本身,使其所做的變更不會受到稽核。

如果您稽核原則變更,則除了其他原則與使用者權利變更以外,還會顯示改變稽核原則的嘗試。成員伺服器和網域控制站基準線原則會稽核成功和失敗的原則變更。您會看到事件日誌中記錄了這些事件。

[表 9]:事件日誌中顯示的原則變更事件

事件識別碼

說明

608

已指派使用者權利。

609

已移除使用者權利。

610

已建立與另一個網域的信任關係。

611

已移除與另一個網域的信任關係。

612

已變更稽核原則。

768

偵測到某個樹系中的命名空間元素和另一個樹系中的命名空間元素衝突 (某個樹系中的命名空間元素元素與另一個樹系中的命名空間元素元素重疊時就會發生)。


這裡要檢查的兩個最重要的事件是事件識別碼 608 和 609。有許多嘗試攻擊都可能會導致這些事件被記錄下來。下列範例都會產生事件識別碼 608 (如果指定了使用者權利) 或 609 (如果移除了使用者權利)。在各情況下,事件詳細資料中會包含指定了使用者權利的特定 SID,以及指定了權利的安全性主體的使用者名稱:

  • 作為作業系統的一部分
    在事件詳細資料中尋找有使用者權利 seTcbPrivilege 的事件識別碼 608 和 609。

  • 將工作站加入網域
    在事件詳細資料中尋找有使用者權利 SeMachineAccountPrivilege 的事件。

  • 備份檔案和目錄
    在事件詳細資料中尋找有使用者權利 SeBackupPrivilege 的事件。

  • 略過周遊檢查
    在事件詳細資料中尋找有使用者權利 SeChangeNotifyPrivilege 的事件。這個使用者權利允許使用者即使沒有存取某個目錄的其他權限,一樣能夠周遊該樹狀目錄結構。

  • 變更系統時間
    在事件詳細資料中尋找有使用者權利 SeSystemtimePrivilege 的事件。這個使用者權利允許安全性主體變更系統時間,很可能是在事件發生時遮罩。

  • 建立永久共用物件
    在事件詳細資料中尋找有使用者權利 SeCreatePermanentPrivilege 的事件。這個使用者權利的持有者可以建立檔案和列印共用。

  • 偵錯程式
    在事件詳細資料中尋找有使用者權利 SeDebugPrivilege 的事件。這個使用者權利的持有者可以連接到任何程序。依照預設,這個權利只指定給系統管理員。

  • 強制從遠端系統關機
    在事件詳細資料中尋找有使用者權利 SeRemoteShutdownPrivilege 的事件。

  • 提高排程優先順序
    在事件詳細資料中尋找有使用者權利 SeIncreaseBasePriorityPrivilege 的事件。有這個權利的使用者可以修改程序優先順序。

  • 載入及卸載裝置驅動程式
    在事件詳細資料中尋找有使用者權利 SeLoadDriverPrivilege 的事件。有這個使用者權利的使用者可以載入特洛伊木馬版本的裝置驅動程式。

  • 管理稽核與安全性記錄
    在事件詳細資料中尋找有使用者權利 SeSecurityPrivilege 的事件。有這個使用者權利的使用者可以檢視及清除安全性記錄。

  • 取代處理序層級權杖
    在事件詳細資料中尋找有使用者權利 SeAssignPrimaryTokenPrivilege 的事件。有這個使用者權利的使用者可以變更與啟動之子處理關聯的預設權杖。

  • 還原檔案和目錄
    在事件詳細資料中尋找有使用者權利 SeRestorePrivilege 的事件。

  • 將系統關機
    在事件詳細資料中尋找有使用者權利 SeShutdownPrivilege 的事件。有這個使用者權利的使用者可以將系統關機,以初始化新裝置驅動程式的安裝。

  • 取得檔案或其他物件的擁有權
    在事件詳細資料中尋找有使用者權利 SeTakeOwnershipPrivilege 的事件。有這個使用者權利的使用者可以取得 NTFS 檔案系統磁碟上之物件或檔案的擁有權,存取任何物件或檔案。

注意:這些稽核事件只會識別使用者權利指定給了特定的安全性主體。並不表示安全性主體利用使用者權利執行了工作。稽核事件可以判斷修改使用者權利原則的時間。

Contoso 目前並未監視任何原則變更事件。這些事件將用於任何疑難排解或事件回應。

監視群組原則的變更很困難,會產生很多不需要的警示。這主要是因為用來編輯群組原則的 MMC 嵌入式管理單元 (gpedit.msc),一定會同時以讀取和寫入的權限來開啟原則。即使沒有變更原則,事件 578 還是會寫入網域控制站的安全性記錄,如下所示。

Windows Server 2003 推出後不久,就發行供自由下載的群組原則管理主控台,讓授權使用者不必在 gpedit.msc 中開啟群組原則設定,以克服這些問題。如需群組原則管理主控台的詳細資訊,請參閱:http://www.microsoft.com/windowsserver2003/gpmc/gpmcwp.mspx

保護事件日誌

為了確保維護事件日誌項目以供日後參考,應該採取一些步驟來保護事件日誌的安全。這些包括:

  • 定義儲存、覆寫及維護所有事件日誌的原則。原則應該定義所有必要的事件日誌設定,並且由群組原則強制執行。

  • 確定原則包含如何處理完整的事件日誌,尤其是安全性記錄。建議完整的安全性記錄需要將伺服器關機。這在某些環境下並不可行,但是您一定要列入考慮。

  • 啟用安全性原則設定,防止本機來賓存取系統、應用程式及安全性記錄,以防止來賓存取事件日誌。

  • 確定成功與失敗的系統事件都有稽核,以判斷是否有任何消除安全性記錄內容的嘗試。

  • 強制能夠檢視或修改稽核設定的所有安全性主體使用複雜的密碼或雙重驗證方法 (例如智慧卡登入),以防止針對這些帳戶的攻擊以及稽核資訊的不當存取。

Contoso 在成員伺服器與網域控制站群組原則物件中執行這些設定。

除了這些步驟以外,還應該採取下列實際措施,儘可能確保事件日誌資訊的安全:

  • 確定您的安全性計劃包含所有伺服器的實體安全性,以防止攻擊者取得執行稽核之電腦的實際存取權。攻擊者可以修改或刪除本機磁碟子系統上的 *.evt 檔案,以移除稽核項目。

  • 執行一種方法,將事件日誌移除或儲存在與實體伺服器不同的位置。包括使用排定的工作,定期將事件日誌寫入 CD 或一次性寫入、多次讀取媒體,或寫入至與伺服器分隔的其他網路位置。如果備份複製到外部媒體,例如備份磁帶或 CD-R 媒體,應在發生火災或其他自然災害時,將媒體從場地移走。

注意:防止來賓存取事件日誌只會限制非網域成員存取事件日誌。依照預設,網域中所有使用者都可以存取系統和應用程式記錄。只有安全性記錄的存取權會有限制。指定了使用者權利管理稽核與安全性記錄的安全性主體可以存取安全性記錄。依照預設,這只會指定給系統管理員和 Exchange Enterprise Server。

其他稽核的最佳作法

除了設定稽核以外,還必須執行其他作法,才能有效地稽核您的伺服器環境的安全性。這些包括:

  • 排定事件日誌的定期檢查。

  • 複查其他應用程式記錄檔。

  • 監視已安裝的服務與驅動程式。

  • 監視開啟的連接埠。

排定事件日誌的定期檢查

前面提過,安全性記錄 (可能還有其他事件日誌) 必須寫入卸除式材料,或合併到便利的位置以供複查。複查記錄往往是最常遺漏的稽核步驟。

Contoso 已完成大量的工作,確定會有一個人或一個團隊負責定期複查事件日誌。可以根據安全性記錄中收集的資料量,將這種事件日誌的複查排定為每日或每週的事件。通常是以網路上執行的稽核層級為準。稽核中包含的事件愈多,記錄項目的量就愈大。如果排定定期事件日誌複查,將有助於下列事項:

  • 更快偵測出安全性的問題
    如果執行每日複查事件日誌,安全性事件就絕不會超過 24 小時。這樣可以更快偵測及修復安全性弱點。

  • 確定責任
    如果需要定期複查事件日誌,負責複查記錄檔的人員最後必須負責找出可能的攻擊。

  • 降低事件遭到覆寫或伺服器停擺的風險
    複查事件日誌後,記錄檔中的事件可以備份起來以供日後複查,並且從目前的事件日誌中移除。這種作法可以降低事件日誌變滿的風險。

複查其他應用程式記錄檔

除了複查 Windows 2000 事件日誌中的安全性事件以外,還應該複查應用程式所建立的記錄。應用程式記錄可能包含潛在攻擊的重要資訊,可以補充事件日誌裡的資訊。根據您的環境,可能需要檢查下列一或多個記錄檔:

  • 網際網路資訊服務 (IIS)
    IIS 會建立追蹤嘗試連線到 Web、檔案傳輸通訊協定 (FTP)、網路時間通訊協定 (NTP) 及 Simple Mail Transfer Protocol (SMTP) 服務的記錄檔。在 IIS 底下執行的每一項服務都個別維護一個記錄檔,並以 World Wide Web Consortium (W3C) 擴充記錄檔格式,將記錄檔儲存在 %WinDir%\System32\Logfiles 資料夾裡。每一項服務都單獨維護一個資料夾,將記錄資訊更加細分。或者,您可以設定 IIS 將記錄儲存到 Open Database Connectivity (ODBC) 相容的資料庫,例如 Microsoft SQL Server™。

  • Microsoft Internet Security and Acceleration (ISA) Server
    ISA Server 提供封裝篩選器、ISA Server Firewall Service 和 ISA Server Web Proxy Service 的記錄。使用 IIS 時,記錄預設會以 W3C 擴充記錄檔格式儲存,但是也可以選擇記錄成 ODBC 相容的資料庫。ISA Server 記錄檔預設儲存在 C:\Program Files\Microsoft ISA Server\ISALogs 資料夾裡。

  • 網際網路驗證服務 (IAS)
    IAS 提供集中的驗證與帳戶處理,供使用遠端驗證撥號使用者服務 (RADIUS) 通訊協定來執行遠端存取驗證。依照預設,帳戶處理要求、驗證要求及週期狀態要求都會記錄到 %WinDir%\System32\Logfiles 資料夾裡的 IASlog.log 檔案。或者,可以選擇將記錄檔儲存成資料庫相容的檔案格式,而不存成 IAS 格式。

  • 第三方廠商軟體
    許多第三方廠商軟體都會執行本機記錄功能,以提供應用程式的詳細資訊。如需詳細資訊,請參閱應用程式的說明檔。

注意:維護記錄檔的所有電腦都應使用同步時鐘。這可以讓系統管理員比較各電腦與服務之間的事件,確定攻擊者採取了何種動作。如需時間同步化的詳細資訊,請參閱本單元後面的<時間同步化的重要性>。

監視已安裝的服務與驅動程式

許多對於電腦的攻擊方式,都是攻擊目標電腦上已安裝的服務,或以包含特洛伊本馬版本的驅動程式取代正確的驅動程式,讓攻擊者能夠存取目標電腦。

下列工具可用於監視您電腦上已安裝的服務與驅動程式:

  • 服務主控台
    [服務 MMC] 主控台用於監視本機電腦或遠端電腦的服務,並允許系統管理員設定、暫停、停止、啟動及重新啟動所有已安裝的服務。使用這個主控台,判斷設定應自動啟動的任何服務目前是否並未啟動。

  • Netsvc.exe
    Windows 2000 Server Resource Kit 包含的這個命令列工具,可以讓系統管理員從遠端的命令列啟動、停止、暫停、繼續及查詢服務的狀態。

  • SvcMon.exe
    服務監視工具會監視本機與遠端電腦上的服務狀態變更 (啟動或停止)。工具為了偵測這些變更,會執行一個輪詢系統。所監視的服務停止或啟動時,工具會傳送電子郵件通知您。您必須使用服務監視設定工具 (smconfig.exe) 設定伺服器、輪詢間隔及要監視的服務。

  • Drivers.exe
    這個工具會顯示執行工具之電腦上安裝的所有裝置驅動程式。工具的輸出包括驅動程式的檔案名稱、磁碟上的驅動程式大小,以及驅動程式的連結日期等資訊。連結日期可用於識別任何新安裝的驅動程式。如果更新的驅動程式並非最近才安裝的,表示驅動程式已經被取代。此一資訊一定要和事件檢視器中的系統重新啟動事件有相互關係。

注意:雖然您可以查詢所有的服務,但是並非所有的服務 (例如工作站服務) 都可以直接停止。如果使用者有許多使用中的連線,雖然您可以暫停或查詢其服務,但是不能從遠端強制關閉服務。有些服務是其他服務所依存的服務;除非先關閉依存其上的服務,否則將無法關閉這些服務。

監視開啟的連接埠

攻擊往往是從執行連接埠掃描開始,以識別在目標電腦上執行的任何已知服務。您一定要仔細監視伺服器上有哪些連接埠是開啟的,這通常表示自行掃描連接埠,瞭解可以存取的內容。

執行連接埠掃描時,應該在目標電腦本機上執行,同時也要從遠端電腦執行。如果電腦可以從公用網路存取,則應從外部電腦執行連接埠掃描,以確定您的防火牆軟體只允許存取所要的連接埠。

Netstat.exe 是一個命令列公用程式,可以顯示傳輸控制通訊協定 (TCP) 和使用者資料包通訊協定 (User Datagram Protocol,UDP) 的所有開啟的連接埠。Netstat 命令使用以下語法:


NETSTAT [-a] [-e] [-n] [-s] [-p proto] [-r] [interval]

其中:

  • -a。顯示所有連線和聽候連接埠。

  • -e。顯示乙太網路 (Ethernet) 統計資料。這可以和 -s 選項結合使用。

  • -n。以數字格式顯示位址和連接埠編號。

  • -p proto 。顯示 proto 指定之通訊協定的連線;proto 可能是 TCP 或 UDP。如果配合 -s 選項使用以顯示每個通訊協定的統計資料,proto 可以是 TCP、UDP 或網際網路通訊協定 (IP)。

  • -r。顯示路由表。

  • -s。顯示各通訊協定的統計資料。依照預設,會顯示 TCP、UDP 及 IP 的統計資料;可以使用 -p 選項來指定預設值的子集合。

  • interval。重新顯示所選的統計資料,每次顯示之間的暫停間隔秒數。按 CTRL+C 停止重新顯示統計資料。如果省略,Netstat 會列印一次目前的設定資訊。

您在本機電腦列出開啟的 TCP 和 UDP 連接埠時,連接埠編號會根據 \%WinDir%\System32\Drivers\Etc\ 資料夾中服務檔案裡的項目,轉譯為名稱。若您偏好只看到連接埠編號,可以使用 -n 參數。

如果發覺無法辨識的任何開啟的連接埠,應該檢查這些連接埠,以判斷電腦上是否需要對應的服務。如果不需要,應該停用或移除關聯的服務,以防電腦接聽該連接埠。本指引所包含的成員伺服器和網域控制站基準線原則裡,已停用了許多服務。

由於許多伺服器都受到防火牆或封包篩選路由器的保護,因此也建議您從遠端電腦執行連接埠掃描。有許多第三方廠商工具 (包括一些免費軟體) 可以執行遠端連接埠掃描。遠端連接埠掃描可以揭露當外部使用者嘗試連線到電腦時,有哪些連接埠可以使用。

注意:也可以使用連接埠掃描來測試您的侵入偵測系統,以確定發生連接埠掃描時它偵測得到。如需侵入偵測系統的詳細資訊,請參閱本單元後面的<主動偵測方法>。

監視侵入與安全性事件

監視侵入與安全性事件包括被動和主動的工作。許多侵入都是在攻擊發生後,檢查記錄檔時偵測到的。這種攻擊後偵測通常稱為被動侵入偵測。只有檢查記錄檔,才能檢查到攻擊,並根據記錄資訊重建。

其他侵入嘗試可以在攻擊發生時偵測到。這種方法稱為主動 侵入偵測,會尋找已知的攻擊模式或命令,並阻擋這些命令的執行。

這一節會討論能用來執行這兩種侵入偵測,以保護您的網路免受攻擊的工具。

時間同步化的重要性

監視多部電腦間的侵入與安全性事件時,各電腦的時鐘必須同步。同步的時間可以讓系統管理員重建針對多部電腦進行攻擊時發生的事件。時間若不同步,就很難判斷特定事件發生的確實時間,以及事件的前後關聯性。

被動偵測方法

被動侵入偵測系統牽涉到手動檢查事件日誌和應用程式記錄。檢查包括分析和偵測事件日誌資料裡的攻擊模式。有許多工具、公用程式和應用程式能夠協助檢查事件日誌。這一節會概述可以如何使用每一種工具來協調資訊。

事件檢視器

Windows 2000 安全性記錄當然可以使用 Windows 2000 [事件檢視器 MMC] 主控台檢視。事件檢視器可以讓您檢視應用程式、安全性及系統記錄。您可以定義篩選器,在事件檢視器中尋找特定的事件。

  • 若要在事件檢視器中定義篩選器

    1. 在主控台樹狀目錄中選取特定的事件日誌。

    2. 從檢視功能表中選取 [篩選器]。

    3. 選取篩選的參數。

在 [內容] 對話方塊的 [篩選器] 索引標籤中,您可以定義下列屬性來篩選事件項目:

  • 事件類型。篩選器可以限制在資訊、警告、錯誤、稽核成功、稽核失敗或事件類型的任何組合。

  • 事件來源。產生事件的特定服務或驅動程式。

  • 類別。篩選器可以限制在特定的事件類別。

  • 事件識別碼。如果您知道所搜尋的特定事件識別碼,篩選器就可以限制接聽該特定事件識別碼。

  • 使用者。您可以限制只顯示由特定使用者產生的事件。

  • 電腦。您可以限制只顯示由特定電腦產生的事件。

  • 日期間隔。您可以限制只顯示介於特定開始與結束日期之間的事件。

套用篩選器時,可以將篩選過的事件清單匯出到以逗號分隔或以定位點分隔的清單,以匯入資料庫應用程式。

前面提過,Contoso 的每個系統管理角色,都有許多人負責檢查事件日誌。他們的工作包含每日檢查監視系統未記錄之任何安全性相關事件的記錄。

傾印事件日誌工具 (Dumpel.exe)

傾印事件日誌是 Windows 2000 Server Resource Kit, Supplement One (Microsoft Press,ISBN: 0-7356-1279-X) 裡包含的一個命令列工具。它會將本機或遠端系統的事件日誌傾印到以定位點分隔的文字檔案。然後這個檔案可以匯入試算表或資料庫,以供進一步研究。這個工具也可以用來篩選出或濾除某些事件類型。

dumpel.exe 工具使用以下語法:


dumpel -f file [-s \\server] [-l log [-m source]] [-e n1 n2 n3...][-r] [-t]
[-d x] 

其中:

  • -f file 。指定輸出檔案的檔案名稱。-f 沒有預設值,所以您必須指定檔案。

  • -s server 。指定您要傾印事件日誌的伺服器。伺服器名稱前面的反斜線是選擇性的。

  • -l log 。指定要傾印的記錄 (系統、應用程式、安全性)。如果指定不正確的記錄名稱,會傾印應用程式記錄。

  • -m source 。指定要傾印記錄的來源 (例如重新導向器 (rdr)、序列等)。只能提供一個來源。如果未使用這個參數,會傾印所有的事件。如果使用未在登錄中登錄的來源,會搜尋應用程式記錄中這種類型的記錄。

  • -e n1 n2 n3 。事件識別碼 nn (最多可以指定 10 個) 的篩選器。如果未使用 -r 參數,只會傾印這些類型的記錄;如果使用 -r ,則會傾印這些類型以外的所有記錄。如果未使用這個參數,會選取指定之 sourcename 裡的所有事件。這個參數一定要和 -m 參數一起使用。

  • -r。指定要篩選出特定的來源或記錄,或者將之濾除。

  • -t。指定使用定位點分隔的個別字串。如果未使用 -t,則以空格分隔字串。

  • -d x 。傾印過去 x 天的事件。

注意:Dumpel 只能從系統、應用程式及安全性記錄檔抓取內容。不能使用 Dumpel 查詢檔案複寫服務、網域名稱系統 (DNS) 或目錄服務事件日誌的內容。

EventCombMT

EventCombMT 是一個多執行緒工具,會同時分析許多伺服器的事件日誌,分別為搜尋條件中包含的每個伺服器產生一個執行緒。EventCombMT 包含在 Microsoft Windows Server 2003 Resource Kit Tools 中,如需詳細資訊,請參閱:

http://www.microsoft.com/windowsserver2003/techinfo/reskit/resourcekit.mspx

這個工具可以讓您:

  • 定義要搜尋的單一事件識別碼,或多個事件識別碼。
    您可以包含單一事件識別碼,或包含多個以空格分隔的事件識別碼。

  • 定義要搜尋的事件識別碼範圍。
    包含開始和結束的識別碼。例如,您若要搜尋介於和包含事件識別碼 528 與事件識別碼 540 之間的所有事件,要將範圍定義為 528 > ID < 540。這項功能很實用,因為寫入事件日誌的大部分應用程式都使用循序的事件範圍。

  • 將搜尋限制在特定的事件日誌。
    您可以選擇搜尋系統、應用程式及安全性記錄。如果在網域控制站本機執行,還可以選擇搜尋 FRS、DNS 及 AD 記錄。

  • 將搜尋限制在特定的事件訊息類型。
    可以選擇將搜尋限制在錯誤、資訊、警告、稽核成功、稽核失敗或成功事件。

  • 將搜尋限制在特定的事件來源。
    可以選擇將搜尋限制在特定的事件來源。

  • 在事件描述內搜尋特定的文字。
    每個事件都可以搜尋特定的文字。如果想要追蹤特定的使用者或群組,這項功能很有用。

    注意:特定文字中不能包含搜尋邏輯,例如 AND、OR 或 NOT。此外,也不要使用引號來分隔文字。

  • 定義從目前日期與時間往回掃描的特定時間間隔。
    這可以將搜尋限制在過去的週、日或月。

安裝工具

若要安裝工具,請將本指引所附的自動解壓縮檔 SecWin2k.exe 的內容解壓縮。這會建立 C:\SCI\scripts\EventComb 資料夾。將檔案解壓縮後,可以按兩下 EventCombMT.exe 檔案來執行 EventCombMT 工具。

執行 EventComb 工具

使用 EventComb 工具的第一步,是定義事件日誌搜尋中要包含哪些電腦。

  • 若要將電腦加入搜尋

    1. 在 EventCombMT 公用程式裡,確定網域方塊中已自動偵測到正確的網域。如果想要搜尋另一個網域中的事件日誌,請在 [網域] 方塊中手動鍵入新的網域名稱。

    2. 若要將電腦加入搜尋清單,請以滑鼠右鍵按一下 [選取搜尋/按右鍵加入 (Select To Search/Right Click to Add)] 底下的方塊。下圖中顯示其快顯功能表:

      使用 EventCombMT 對話方塊設定,將未自動偵測到的電腦加入搜尋清單

      [圖 1]
      使用 EventCombMT 對話方塊設定,將未自動偵測到的電腦加入搜尋清單

      可用的選項如下:

      • 取得網域中的 DC。將目前網域中所有的網域控制站加入清單。

      • 加入單一伺服器。可以讓您依照名稱將伺服器或工作站加入清單。

      • 加入這個網域中所有的 GC。可以讓您加入所選網域中設定為通用類別目錄伺服器的所有網域控制站。

      • 取得所有伺服器。加入使用瀏覽器服務在網域中找到的所有伺服器。伺服器會排除所有網域控制站。

      • 從檔案取得伺服器。可以讓您匯入列出要包含在搜尋範圍中之所有伺服器的檔案。文字檔案中,每個伺服器都應輸入成單獨的一行。

    3. 將伺服器加入清單後,必須選取要執行搜尋的目標伺服器。選取之後,伺服器就會在清單中反白顯示。可以使用 CTRL + 按一下的組合選擇多部伺服器。

指定要搜尋的事件日誌和事件類型

您選取了要包含在事件日誌搜尋中的伺服器後,可以選取要包含的事件日誌和事件類型,來縮小搜尋的範圍。

在 EventCombMT 公用程式中,可以從下列事件日誌中選取要搜尋的日誌:

  • 系統

  • 應用程式

  • 安全性

  • FRS (檔案複寫服務記錄)

  • DNS (DNS 伺服器記錄)

  • AD (目錄服務記錄)

也可以選取要在搜尋中包含下列事件類型:

  • 錯誤。這個事件會記錄在應用程式和系統記錄中,也會在 FRS、DNS 及目錄服務記錄中顯示。

  • 資訊。這個事件會記錄在應用程式和系統記錄中,也會在 FRS、DNS 及目錄服務記錄中顯示。

  • 警告。這個事件會記錄在應用程式和系統記錄中,也會在 FRS、DNS 及目錄服務記錄中顯示。

  • 稽核成功。這個事件會在安全性記錄裡,如果應用程式在應用程式記錄中登錄稽核成功,則會在應用程式記錄裡。例如,Active Directory 遷移工具 (ADMT) 會將稽核成功事件記錄在應用程式記錄裡。

  • 稽核失敗。這個事件會在安全性記錄裡,如果應用程式在應用程式記錄中登錄稽核失敗,則會在應用程式記錄裡。例如,ADMT 會將稽核失敗事件記錄在應用程式記錄裡。

  • 成功。這個事件非常罕見,會出現在應用程式或系統記錄裡,也會在 FRS、DNS 及目錄服務記錄裡顯示。在事件檢視器裡,成功的事件會顯示為資訊事件類型。

注意:如果您知道的詳細資訊,例如事件識別碼出現於那個事件日誌以及事件識別碼的事件類型,請務必要在搜尋條件中包含這些資訊,因為如此可以縮減搜尋時間。

儲存搜尋

EventCombMT 可以讓您儲存搜尋,以後再重新載入。如果您時常使用 EventCombMT 在 IIS 伺服器搜尋某組事件,而在網域控制站搜尋另一組事件,這很有用。

搜尋條件會儲存在以下的登錄裡:

HKLM\Software\Microsoft\EventCombMT,而且可以輕易編輯。

搜尋結果檔案

搜尋的結果預設會儲存到 C:\Temp 資料夾。結果會產生一個名為 EventCombMT.txt 的摘要檔案,並且會為事件日誌搜尋中包含的每一部電腦,產生一個名為 ComputerName-EventLogName_LOG.txt 的文字檔案。這些個別文字檔案包含從事件日誌中抓取,符合您搜尋條件的所有事件。

使用 EventCombMT 的範例

為了示範 EventCombMT 的使用方式,我們將示範如何設定此工具來偵測網域控制站重新啟動和帳戶鎖定。

  • 若要使用 EventCombMT 搜尋網域控制站的重新啟動

    1. 在 EventCombMT 工具中,確定已將網域設定為正確的網域名稱。

    2. 在網域名稱底下的 [選取搜尋/按右鍵加入 (Select to Search/Right Click to Add)] 方塊上按一下滑鼠右鍵,然後按一下 [取得網域中的 DC (Get DCs in Domain)]。

      注意:搜尋如帳戶登入和帳戶管理的事件時,請確定有搜尋所有的網域控制站。因為 Windows 2000 的帳戶管理使用多重主檔 (Multimaster) 模型,因此可以在網域中任一個網域控制站加入、修改或刪除帳戶。同樣地,也可以由網域中任一個網域控制站確認驗證。因此,您無法確定特定的更新或驗證嘗試發生在何處。

    3. 以滑鼠右鍵按一下 [選取搜尋/按右鍵加入 (Select to Search/Right Click to Add)] 方塊,然後按一下 [選取清單中所有伺服器 (Select All Servers in List)]。

    4. 在工具的 [選擇要搜尋的記錄檔 (Choose Log Files to search)] 區段中,僅選取 [系統 (System)] 記錄。

    5. 在工具的 [事件類型] 區段中,選取 [錯誤] 和 [資訊]。

    6. 在 [事件識別碼] 方塊中鍵入下列事件識別碼:1001 6005 6006 6008。

    7. 按一下 [搜尋] 按鈕之前,請確定搜尋條件已如下圖所示定義,然後按一下 [搜尋]。

      在 [Event Comb MT] 對話方塊中定義搜尋條件

      [圖 2]
      在 [Event Comb MT] 對話方塊中定義搜尋條件

搜尋完成後,可以在記錄目錄中檢視結果,這個目錄應會在搜尋完成後自動開啟。

  • 若要檢視記錄項目

    1. 從 [檔案] 功能表中,選取 [開啟記錄檔目錄 (Open Log Directory)]。

    2. 在 C:\Temp 資料夾中,按兩下某個網域控制站的輸出檔案,以檢視 EventCombMT 工具所記錄的特定事件。您應該會看到類似以下的輸出:

      1001,INFORMATIONAL,Save Dump,Wed Nov 28 05:45:50 2001,, 
      電腦已經在檢查錯誤後重新啟動。檢查的錯誤是: 
      0x000000d1 (0x00000004, 0x00000002, 0x00000000, 0x84c983dc). 
      資料傾出已存到: C:\WINDOWS\MEMORY.DMP.
      6005,INFORMATIONAL,EventLog,Wed Nov 28 05:45:46 2001,,
      事件日誌服務已啟動。
      6008,ERROR,EventLog,Wed Nov 28 05:45:46 2001,,
      11/28/2001 上 5:33:47 AM 的系統上次發生
      意外的關機。6005,INFORMATIONAL,EventLog,Tue Nov 
      27 14:10:53 2001,,事件日誌服務已啟動。
      6006,INFORMATIONAL,EventLog,Tue Nov 27 14:09:26 2001,,
      事件日誌服務已中止。6005,INFORMATIONAL,
      EventLog,Tue Nov 27 10:11:37 2001,,事件日誌服務
      已啟動。
      
      

6006 事件表示由具有關閉網域控制站使用者權利的使用者啟動的計劃性關機。6005 事件表示已啟動事件日誌服務。這會在啟動時發生。

6008 與 1001 事件表示電腦並未關機就關閉電源,或者因為鎖定或遇到停止錯誤而重新啟動。如果有 1001 事件,表示發生停止錯誤,而且會包含關聯的偵錯資訊和偵錯檔案的參考。

EventCombMT 工具傳回的事件應該和已知的關機時間交叉比對,並且研究不符的事件,以確定伺服器並未遭到攻擊。

EventCombMT 包含許多預先設定的搜尋,可以用來搜尋安全性事件。例如,有一個預先定義的搜尋會搜尋帳戶鎖定事件。

  • 若要使用 EventCombMT 搜尋帳戶鎖定

    1. 在 EventCombMT 工具中,確定已將網域設定為正確的網域名稱。

    2. 在網域名稱底下的 [選取搜尋/按右鍵加入 (Select to Search/Right Click to Add)] 方塊上按一下滑鼠右鍵,然後按一下 [取得網域中的 DC (Get DCs in Domain)]。

    3. 以滑鼠右鍵按一下 [選取搜尋/按右鍵加入 (Select to Search/Right Click to Add)] 方塊,然後按一下 [選取清單中所有伺服器 (Select All Servers in List)]。

    4. 從 [搜尋] 功能表中按一下 [內建搜尋 (Built In Searches)],然後按一下 [帳戶鎖定]。EventCombMT 公用程式的設定如下圖所示:

    5. 按一下 [搜尋]。

    6. 搜尋完成後,可以在記錄目錄中檢視結果,這個目錄應會在搜尋完成後自動開啟。

注意:EventcombMT 內含的其他預先定義搜尋包括檔案複寫服務搜尋、Active Directory 的重複 SID 搜尋及 NETLOGON DNS 登錄失敗、硬體磁碟錯誤,以及 DNS 介面錯誤。您也可以定義及儲存自己的自訂搜尋。

Contoso 使用 EventCombMT,在事件回應時診斷問題或判斷問題的原因。此外,他們還定期檢查所有網域控制站的帳戶鎖定或密碼錯誤。這樣可以手動找出監視系統未偵測到的任何異常模式。

事件收集

稽核的主要目標之一,是識別攻擊者在您的網路上採取的動作。攻擊者可能會嘗試危害網路上的多部電腦和裝置。因此,想要瞭解任何攻擊的範圍,必須能夠從許多部電腦歸納及合併資訊。

如果您的記錄公用程式會匯入資料庫,就比較容易歸納多個記錄的資訊。只要所有電腦上的時間全都同步,就可以按時間欄位排序,根據時間間隔輕鬆追蹤。

後面各節會概述可以將事件日誌資訊收集到中央位置的一些工具和公用程式。

指令檔

可以撰寫指令檔,從遠端電腦收集事件日誌資訊,並將其儲存到中心位置。使用指令檔,可以使用 [排定的工作] 選擇何時執行指令檔,以及事件日誌成功複製到中心位置後,應採取什麼動作。

一個簡單的範例,是建立使用 Windows 2000 Server Resource Kit 裡 Dumpel.exe 的批次檔,並使用 [控制台] 裡的 [排定的工作] 以定期啟動批次檔。

Windows 2000 Resource Kit, Supplement One 包含 Eventquery.pl。這是一個 Perl 指令碼,會顯示執行 Windows 2000 之本機和遠端電腦上事件檢視器記錄裡的事件,並提供許多篩選器幫功您找到特定的事件。

注意:若要使用這個指令檔,必須安裝 Windows 2000 Server Resource Kit 裡的 ActivePerl。

Contoso 目前並未採用事件收集解決方案。不過,正打算採用明年將發行的 Microsoft 稽核收集系統 (Microsoft Audit Collection System,MACS)。MACS 是一套安全性事件收集工具,會利用壓縮、簽章及加密等,以安全的方法收集事件。收集事件之後,事件會載入 SQL 資料庫,並且最佳化以供分析。

Microsoft Operations Manager

Microsoft Operations Manager (MOM) 2000 提供齊全的工具,能夠讓企業徹底分析 Windows 2000 及其應用程式的內建事件報告和效能監視。MOM 2000 可以在遠端電腦使用 Intelligent Agent,將事件與效能資料收集、儲存及報告到單一位置,讓系統管理員能夠集中檢查收集的資訊。

核心 MOM 2000 管理封裝會收集系統、應用程式及安全性事件日誌中出現的事件,將各個結果聚集到中心事件存放庫。

注意:MOM 2000 會將資料儲存在 SQL Server 資料庫中,並提供許多種方法來抓取及分析已儲存的資料。系統管理員可以使用 Operations Manager 管理主控台 (Operations Manager Administrator Console)、Web 主控台 (Web Console) 或 Operations Manager 報告 (Operations Manager Reporting) 來檢視、列印或發行資料。每個檢視都包含分析已儲存的資料的預先定義檢視,並且允許定義自訂檢視和報告。

事件日誌收集的第三方廠商解決方案

有許多第三方廠商產品都提供事件日誌的集中收集和檢查。您評估第三方廠商產品時,請在條件中包含下列功能:

  • 支援所有的 Windows 2000 記錄
    除了應提供應用程式、安全性及系統記錄以外,還要支援 DNS 伺服器、目錄服務及 FRS 記錄。

  • 使用資料庫後端
    工具應允許將事件日誌儲存在特定的資料庫結構中,這種結構允許檢查先前的事件日誌項目,以便分析趨勢和建立多部伺服器間事件的關聯。

  • 搜尋與報告功能
    工具應能夠讓您根據提供的條件,搜尋特定的事件。結果應以可閱讀的方式呈現。

提供事件收集能力的第三方廠商產品包括:

主動偵測方法

主動侵入偵測系統會在應用程式層分析連入的網路流量,尋找熟知的攻擊方法或可疑的應用程式層內容。如果收到可疑的封包,侵入偵測系統一般會丟棄封包,並在記錄檔中記錄一個項目。有些侵入偵測系統也可以在偵測到嚴重的攻擊時警示系統管理員。

第三方廠商的侵入偵測解決方案

第三方廠商的解決方案包括網路和末端侵入偵測系統。這些第三方廠商解決方案提供 Hypertext 傳輸通訊協定 (HTTP) 以外的通訊協定支援,也會掃描網路電腦是否遭到熟知的攻擊。

侵入偵測系統應識別的常見攻擊類型包括:

  • 偵察攻擊
    這會在侵入者監視網路,尋找弱點時發生。可能的攻擊包括 ping 掃描、DNS 區域轉送、電子郵件偵察、連接埠掃描及下載網站內容,以尋找易受侵襲的指令檔和範例頁。

  • 利用攻擊
    這會在侵入者利用隱藏功能或問題,以取得系統的存取權時發生。通常是由先前的利用攻擊找出攻擊點。

  • 拒絕服務 (DoS) 攻擊
    這會在侵入者嘗試造成資源超載,例如網路連結、CPU 或磁碟子系統,使電腦上執行的服務當機時發生。侵入者並非想要取得資訊,而是試圖讓您的電腦無法使用。

良好的侵入偵測系統應該能夠識別上述三種攻擊。有兩種不同的方法可用來識別攻擊:

  • 異常偵測
    這種方法會採用網路上某部電腦的基準線。偏離基準線都可以視為是侵入嘗試。例如,離峰時間嘗試登入的次數如果增加,就可以識別遭到攻擊的電腦。異常偵測的優點在於,不必真正瞭解攻擊如何發生,就能識別攻擊。

  • 簽章辨識
    這種方法會根據熟知的模式來識別攻擊。許多 Web 伺服器攻擊都使用可以很容易識別的一般模式。侵入偵測系統只要將連入應用程式流量與資料庫中的簽章字串做比較,就能識別這些攻擊。這種侵入偵測法的缺點在於,必須頻繁地更新簽章資料庫,才能識別新的攻擊簽章。

可用於測試和調配的一些第三方廠商產品包括:

弱點評估

除了執行被動與主動侵入偵測之外,還應該執行定期的弱點評估。弱點評估會在您的網路上模擬攻擊,偵測攻擊者可能發現的弱點。

執行定期評估可以在攻擊者攻擊之前找出弱點,加強網路的弱處,以保護弱點。

研究弱點評估工具時,請在決策程序中包含下列要求:

  • 自動化資料庫更新裝置
    工具應該提供一種自動化方法,能夠更新弱點的簽章,確保工具不會在短時間後就過時。

  • 減少誤診的篩選器
    工具應該排除誤診,以避免組織浪費時間調查非安全性的事件。

  • 能夠將結果儲存在資料庫中
    工具應該能夠儲存掃描的結果,以執行趨勢分析,並偵測隨時間變動的安全性。

  • 弱點的解決方案
    如果找到弱點,工具應該提供文件,說明如何修正弱點,或提供指令碼,執行保護弱點的工作。

有許多第三方廠商工具可以執行 Windows 2000 網路的弱點評估。這些工具包括:

或者,採用第三方廠商的諮詢服務以執行弱點評估也許會更適合。使用第三方廠商服務的優點在於,廠商以前不瞭解這些網路,因此要和外部攻擊者一樣從頭開始研究。這些外部評估往往能夠根據評估團隊的中立性,提供最有用的資訊。

總結

稽核與侵入偵測是建立有效的環境防衛的主要部分。在您的風險管理程序中,應該決定您的環境適合什麼樣的稽核與侵入偵測層級。如需牽涉多種通訊協定的侵入偵測,您可能要考慮第三方廠商工具。

其他資訊

如需使用使用者權利的詳細資訊,請參閱 Michael Howard 與 David LeBlanc 合著的《Writing Secure Code 》(Microsoft Press,ISBN: 0-7356-1588-8)。

ISA Server 合作廠商的資訊:http://www.microsoft.com/isaserver/partners

ISA Server Solution Developers Kit (SDK):
http://www.microsoft.com/isaserver/techinfo/productdoc/2000/SDKdownload.asp

如需群組原則管理主控台的詳細資訊,請參閱:
http://www.microsoft.com/windowsserver2003/gpmc/gpmcwp.mspx


顯示: