要維護真正安全的環境,只是具備安全系統還遠遠不夠。如果總假設自己不會受到攻擊,或認為防護措施已足以保護自己的安全,都將非常危險。要維護系統安全,必須進行主動監視,以檢查是否發生了入侵和攻擊。
很多方面都說明,監視和審核入侵非常重要,具體原因有:
• |
所有處于運行中的計算機環境都有可能被攻擊。無論系統安全級有多高,總有面臨攻擊的風險。 |
• |
成功的攻擊一般出現在一系列失敗攻擊后。如果不監視攻擊,您將無法在入侵者達到目的前檢測到他們。 |
• |
一旦攻擊成功,越早發現越能減少損失。 |
• |
為了能從攻擊中恢復,需要了解發生了什么損失。 |
• |
審核和入侵檢測有助于確定是誰發起的攻擊。 |
• |
審核和入侵檢測的結合使用有助于將信息進行關聯,以識別攻擊模式。 |
• |
定期復查安全日志有助于發現未知的安全配置問題(如不正確的權限,或者不嚴格的帳戶鎖定設置)。 |
• |
檢測到攻擊之后,審核有助于確定哪些網絡資源受到了危害。 |
本模塊講述如何審核環境,以便發現攻擊并跟蹤攻擊。本模塊還講述了如何監視是否發生了入侵,如何使用入侵檢測系統(入侵檢測系統是專門為發現攻擊行為而設計的軟件)。
目標
使用本模塊可以實現下列目標:
• |
使用最佳做法在組織中進行審核。 |
• |
保護關鍵日志文件,防止攻擊者干預證據。 |
• |
結合使用被動和主動的檢測方法。 |
• |
明確監督和監視員工要具備哪些工具和技術,以及如何在審核過程中使用這些工具和技術。 |
使用登錄事件項可診斷下面的安全事件:
• |
本地登錄嘗試失敗 在大型環境中,可能很難有效說明這些事件。作為一種規則,如果這些模式重復發生,或符合其他一些非正常因素,則應研究這些模式。例如,半夜,在發生若干 529 事件后發生了 528 事件,可能表示密碼攻擊成功(或管理員非常疲憊)。 |
• |
帳戶濫用 |
• |
帳戶鎖定 |
• |
終端服務攻擊 |
Contoso 監視大量的登錄嘗試失敗和大量帳戶鎖定。在這樣的環境中,由于一些合理的原因,常要讓用戶將終端服務會話保持斷開狀態。
帳戶登錄事件
當用戶登錄域時,這種登錄在域控制器中處理。如果在域控制器中審核帳戶登錄事件,則會在驗證該帳戶的域控制器上記錄此登錄嘗試。帳戶登錄事件是在身份驗證程序包驗證用戶的憑據時創建的。只有使用域憑據,才會在域控制器的事件日志中生成帳戶登錄事件。如果提供的憑據為本地安全帳戶管理器 (SAM) 數據庫憑據,則會在服務器的安全事件日志中創建帳戶登錄事件。
因為帳戶登錄事件可能會記錄在域的任何有效域控制器中,所以必須確保將各域控制器中的安全日志合并,以分析該域中的所有帳戶登錄事件。
注意:與登錄事件相同,帳戶登錄事件既包括計算機登錄事件,也包括用戶登錄事件。
作為“成員服務器和域控制器基準策略”的一部分,成功和失敗的帳戶登錄事件都應啟用審核。因此,應能看到網絡登錄和終端服務身份驗證的下列事件 ID。
表 2:事件日志中的帳戶登錄事件
事件 ID | 說明 |
672 |
身份驗證服務 (AS) 票證已成功簽發和驗證。 |
673 |
已授予票證授予服務 (TGS) 票證。 |
674 |
安全主要對象續訂了 AS 票證或 TGS 票證。 |
675 |
預身份驗證失敗。 |
676 |
身份驗證票證請求失敗。 |
677 |
未授予 TGS 票證。 |
678 |
某個帳戶已成功映射到域帳戶。 |
680 |
標識成功登錄的帳戶。此事件還指出了驗證帳戶的身份驗證程序包。 |
681 |
嘗試域帳戶登錄。 |
682 |
用戶重新連接一個已斷開的終端服務會話。 |
683 |
用戶在沒有注銷的情況下斷開了終端服務會話。 |
對于每個這樣的事件,事件日志都會顯示每個特定登錄的詳細信息。使用帳戶登錄事件項可診斷下面的安全事件:
• |
域登錄嘗試失敗 |
• |
時間同步問題 |
• |
終端服務攻擊 |
Contoso 當前要監視數量巨大的失敗域登錄嘗試。根據其環境的不同,其他一些事件無關緊要。配置這些設置時,他們確定的最好方法是,首先以一個相對較嚴格的設置開始,然后持續減少它的嚴格程度,直到一些非實質警告的數量減少。目前,他們監視的是 10 分鐘時間段中發生 10 次失敗登錄的所有情況。這些數字在所有環境中可能都是不同的。
帳戶管理
帳戶管理審核用于確定何時創建、更改或刪除了用戶或組。這種審核可用于確定何時創建了安全主要對象,以及誰執行了該任務。
作為“成員服務器和域控制器基準策略”的一部分,帳戶管理中的成功和失敗都應啟用審核。因此,應該會看到安全日志中記錄的下列事件 ID。
表 3:事件日志中的帳戶管理事件
事件 ID | 說明 |
624 |
創建了用戶帳戶 |
625 |
用戶帳戶類型更改 |
626 |
啟用了用戶帳戶 |
627 |
嘗試進行了密碼更改 |
628 |
設置了用戶帳戶密碼。 |
629 |
禁用了用戶帳戶 |
630 |
刪除了用戶帳戶 |
631 |
創建了啟用安全的全局組 |
632 |
添加了啟用安全的全局組成員 |
633 |
刪除了啟用安全的全局組成員 |
634 |
刪除了啟用安全的全局組 |
635 |
創建了禁用安全的本地組 |
636 |
添加了啟用安全的本地組成員 |
637 |
刪除了啟用安全的本地組成員 |
638 |
刪除了啟用安全的本地組 |
639 |
更改了啟用安全的本地組 |
641 |
更改了啟用安全的全局組 |
642 |
更改了用戶帳戶 |
643 |
更改了域策略 |
644 |
鎖定了用戶帳戶 |
使用安全日志項可診斷下面的帳戶管理事件:
• |
用戶帳戶的創建 |
• |
更改了用戶帳戶密碼 |
• |
更改了用戶帳戶狀態 |
• |
安全組的修改 |
• |
帳戶鎖定 |
因為 Contoso 是一個較大的企業,所以每天有大量的帳戶要維護。監視所有這些事件會導致環境中產生太多的警告,而這些警告不必全部進行合理的解決。
對象訪問
在基于 Windows 2000 的網絡中,使用系統訪問控制列表 (SACL) 可為所有對象啟用審核。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:事件日志中的對象訪問事件
事件 ID | 說明 |
560 |
授予現有對象訪問權限。 |
562 |
對象句柄關閉。 |
563 |
為刪除對象而打開對象。(這是文件系統在指定了 FILE_DELETE_ON_CLOSE 標志時所使用的。) |
564 |
刪除了一個受保護的對象。 |
565 |
授予現有對象類型訪問權限。 |
如果要查找特定的對象訪問事件,主要需研究事件 ID 為 560 的事件。該事件詳細信息中有一些有用的信息,請搜索該事件的詳細信息,找出正在搜索的特定事件。下表顯示了一些可能要執行的操作,以及如何執行這些操作。
表 5:如何執行對象訪問事件 560 的主要審核操作
審核操作 | 如何完成 |
查找特定的文件、文件夾或對象 |
在事件 560 的詳細信息中,搜索要復查其上操作的文件或文件夾的完整路徑。 |
確定特定用戶的操作 |
在 560 事件中定義篩選器來標識特定用戶。 |
確定在特定計算機上執行的操作 |
在 560 事件中定義篩選器來標識在其中執行任務的特定計算機。 |
Contoso 不專門監視任何對象訪問事件,但要審核某些文件的對象訪問。此信息對于響應一個安全事件尤其有用。
目錄服務訪問
Active Directory 對象有相關聯的 SACL,因此可進行審核。正如前面提到的,審核帳戶管理可審核 Active Directory 用戶和組帳戶。但是,如果想審核其他命名上下文中對象的修改(如配置和架構命名上下文),必須審核對象訪問,然后為要審核的特定容器定義 SACL。如果 Active Directory 對象 SACL 中列出的用戶要嘗試訪問該對象,就會生成審核項。
您可以使用 ADSIEDIT MMC 管理單元來修改配置命名上下文(和其他命名上下文)中容器和對象的 SACL。過程如下:在 ADSIEDIT 控制臺中顯示所需的上下文,然后在“高級安全設置”對話框中修改該對象的 SACL。
由于發生了大量事件(通常都是些無關緊要的事件),所以很難找出目錄服務訪問的特定事件。因此,“成員服務器和域控制器基準策略”只審核目錄服務訪問的失敗事件。這有助于弄清攻擊者何時嘗試對 Active Directory 進行了未授權訪問。
嘗試的目錄訪問在安全日志中將顯示為一個 ID 為 565 的目錄服務事件。只有通過查看安全事件的詳細信息,才能確定該事件與哪個對象相對應。
Contoso 不專門監視任何目錄服務訪問事件,但要審核某些文件的對象訪問。此信息對于響應一個安全事件尤其有用。
特權使用
當用戶在信息技術 (IT) 環境中工作時,他們將運用所定義的用戶權限。如果審核特權使用的成功和失敗,每次用戶嘗試運用用戶權限時都會生成一個事件。
即使真的要審核特權使用,也并非所有的用戶權限都會審核。在默認情況下,不包括下列用戶權限:
• |
跳過遍歷檢查 |
• |
調試程序 |
• |
創建令牌對象 |
• |
替換進程級令牌 |
• |
生成安全審核 |
• |
備份文件和目錄 |
• |
還原文件和目錄 |
您可以在組策略中啟用“對備份和還原權限的使用進行審核”安全選項,從而覆蓋不審核“備份”和“還原”用戶權限的默認行為。
審核成功的特權使用會在安全日志中產生大量的項。因此,“成員服務器和域控制器基準策略”只會審核失敗的特權使用。
如果啟用了特權使用審核,將生成下列事件。
表 6:事件日志中的特權使用事件
事件 ID | 說明 |
576 |
指定特權已添加到用戶的訪問令牌中。(此事件在用戶登錄時生成。) |
577 |
用戶嘗試執行授權的系統服務操作。 |
578 |
在已打開的受保護對象上使用了特權。 |
下面是使用某些特定用戶權限時,可能存在的一些事件日志項示例:
• |
作為操作系統的一部分 |
• |
更改系統時間 |
• |
從遠程系統進行強制關機 |
• |
加載和卸載設備驅動程序 |
• |
管理審核和安全日志 |
• |
關閉系統 |
• |
獲取文件或其他對象的所有權 |
Contoso 專門監視表明正常關機或從遠程系統強制關機的所有事件,以及表明已修改了審核和安全日志的所有事件。
進程跟蹤
如果要審核基于 Windows 2000 計算機中運行的進程的詳細跟蹤信息,事件日志會顯示創建進程和結束進程的嘗試。它還會記錄進程嘗試生成對象句柄的行為,或獲取對象間接訪問的行為。
由于生成的審核項很多,所以“成員服務器和域控制器基準策略”不會啟用進程跟蹤審核。但是,如果選擇審核成功和失敗,則事件日志中會記錄下列事件 ID。
表 7:事件日志中的進程跟蹤事件
事件 ID | 說明 |
592 |
創建了新進程。 |
593 |
退出進程。 |
594 |
復制對象句柄。 |
595 |
獲取了對象的間接訪問。 |
Contoso 不監視任何進程跟蹤事件,并且不在任何服務器策略中啟用這些監視。
系統事件
系統事件是在用戶或進程更改計算機環境的部分內容時生成的。您可以審核對系統進行更改的嘗試,如關閉計算機或者更改系統時間。
如果審核系統事件,還應審核何時清除了安全日志。這非常重要,因為攻擊者常會嘗試在對環境進行更改之后清除他們的行蹤。
“成員服務器和域控制器基準策略”會審核系統事件的成功和失敗。這會在事件日志中生成下列事件 ID。
表 8:事件日志中的系統事件
事件 ID | 說明 |
512 |
Windows 正在啟動。 |
513 |
Windows 正在關機。 |
514 |
本地安全機構加載了身份驗證程序包。 |
515 |
本地安全機構注冊了一個受信任的登錄進程。 |
516 |
為了對安全事件消息進行排隊而分配的內部資源已用完,導致某些安全事件消息丟失。 |
517 |
清除了安全日志。 |
518 |
安全帳戶管理器加載了一個通知程序包。 |
您可以使用下面這些事件 ID 來獲取部分安全問題:
• |
計算機關機/重新啟動 很多攻擊都涉及計算機重新啟動。研究這些事件日志可確定服務器何時進行了重新啟動,以及重新啟動是計劃的還是非計劃的。事件 ID 513 顯示 Windows 正在啟動,同時,在系統日志中還會自動生成一系列其他事件。這些其他事件包括事件 ID 6005,表示已啟動了事件日志服務。 除了此項之外,還請查找系統日志中存在的兩個不同事件日志項中的其中一個。如果上一次關機正常(如管理員重新啟動了計算機),系統日志中會記錄事件 ID 6006,“the Event Log service was stopped”(事件日志服務已停止)。通過檢查該項目的詳細信息,可以確定哪個用戶執行了這次關機。 如果這次重新啟動是一種非預期的重新啟動,系統日志中會記錄事件 ID 6008,“the previous system shutdown at <time> on <date> was unexpected”(在 <time> ,<date> 發生的上次系統關機是非預期的。)這可能表明一個拒絕服務 (DoS) 導致了計算機關機。但請記住,這也可能由于電源故障或設備驅動程序故障。 如果由導致藍屏的停止錯誤引發重新啟動,系統日志中會記錄事件 ID 1001,其中帶有 Save Dump 的源數據。在事件詳細信息中可以復查真正的停止錯誤消息。 注意:要將事件 ID 1001 項的記錄包括在內,必須選中“將事件寫入系統日志”選項,啟用“系統控制面板”小程序中的恢復設置部分。 |
• |
修改或清除安全日志 |
Contoso 監視了計算機關機或重新啟動,以及安全日志的清除操作。
策略更改
審核策略定義了要審核哪些環境更改,這可幫助您確定是否存在攻擊環境的企圖。但有心的攻擊者會設法更改該審核策略本身,以便不被審核所進行的任何更改。
如果要審核策略更改,則將顯示更改審核策略的嘗試,以及對其他策略和用戶權限的更改嘗試。“成員服務器和域控制器基準策略”會審核策略更改的成功和失敗。您會在事件日志中看到記錄的下面這些事件。
表 9:事件日志中的策略更改事件
事件 ID | 說明 |
608 |
分配了用戶權限。 |
609 |
刪除了用戶權限。 |
610 |
創建了與另一個域之間的受信任關系。 |
611 |
刪除了與另一個域之間的受信任關系。 |
612 |
更改了審核策略。 |
768 |
檢測到一個目錄林中的命名空間元素與另一目錄林中的命名空間元素的沖突。(當一個目錄林中的命名空間元素與另一目錄林中的命名空間元素發生重疊,則會發生沖突。) |
此處要查找的兩個最重要的事件為事件 ID 608 和 609。一些攻擊嘗試可能會導致記錄這些事件。如果分配了用戶權限,下面的示例都會生成事件 ID 608,如果刪除了用戶權限,則都生成事件 ID 609。在每種情況下,事件詳細信息都會包括該用戶權限分配到的特定 SID,以及分配該權限的安全主要對象的用戶名:
• |
作為操作系統的一部分 |
• |
向該域添加工作站 |
• |
備份文件和目錄 |
• |
跳過遍歷檢查 |
• |
更改系統時間 |
• |
創建永久的共享對象 |
• |
調試程序 |
• |
從遠程系統強制關機 |
• |
提高日程安排優先級 |
• |
加載和卸載設備驅動程序 |
• |
管理審核和安全日志 |
• |
替換進程級令牌 |
• |
還原文件和目錄 |
• |
關閉系統 |
• |
獲取文件或其他對象的所有權 |
注意:這些審核事件只是表示該用戶權限分配到了某個特定的安全主要對象。它并不表示該安全主要對象使用該用戶權限執行了任務。審核事件卻可以確定何時修改了用戶權限策略。
Contoso 要監視所有策略更改事件。這些事件可用于進行任何故障排除或事件響應。
監視組策略的更改可能非常困難,并會提供大量的非實質性警告。這主要是因為,用于編輯組策略的 MMC 管理單元 gpedit.msc 總是既帶有讀取權限又帶有寫入權限打開策略。即使沒有對策略進行更改,也會向域控制器的安全日志寫入策略事件 578,如下所示。
組策略管理控制臺(在 Windows Server 2003 發布后不久以免費下載軟件形式發布)允許授權用戶無需在 gpedit.msc 中打開組策略設置即查看這些設置,從而幫助客服這些問題。有關組策略管理控制臺的詳細信息,請參考:http://www.microsoft.com/windowsserver2003/gpmc/gpmcwp.mspx(英文)。
保護事件日志
要確保維護事件日志項以便將來參考,應采取一些步驟來保護事件日志的安全。這些步驟包括:
• |
為所有事件日志的存儲、覆蓋和維護定義一個策略。該策略應定義所有必需的事件日志設置,并由組策略強制執行。 |
• |
確保該策略包括如何處理已滿的事件日志,尤其是安全日志。建議安全日志填滿時必需關閉服務器。這對于某些環境可能不可行,但確實應考慮。 |
• |
通過啟用安全策略設置來防止本地來賓訪問系統日志、應用程序日志和安全日志,防止對事件日志進行來賓訪問。 |
• |
確保既審核成功系統事件又審核失敗系統事件,以確定是否存在任何想擦除安全日志內容的嘗試。 |
• |
強制有能力查看或修改審核設置的所有安全主要對象使用復雜的密碼或雙因素身份驗證(如智能卡登錄),防止針對這些帳戶進行攻擊來獲取對于審核信息的訪問。 |
Contoso 在“成員服務器和域控制器組策略對象”中實現了這些設置。
除了上述步驟之外,您還應采取一些可行的措施,以確保事件日志信息盡可能最安全:
• |
確保安全計劃包括所有服務器的物理安全性,防止攻擊者獲取對于在其中執行審核的計算機的物理訪問。攻擊者可能會通過修改或刪除本地磁盤子系統上的物理 *.evt 文件,來刪除審核項。 |
• |
請實現一種方法,以刪除與該物理服務器不同位置中的事件日志,或將這些事件日志存儲在與該物理服務器不同的位置中。這可能包括使用“任務計劃”將事件日志寫入 CD-R 或者一次寫入定期讀取的很多媒體中,或寫入與該服務器不同的其他網絡位置中。如果這些備份被復制到外部媒體(如備份磁帶或者 CD-R 媒體),則在發生火災或其他自然災難時,該媒體應能從所處位置取出。 |
注意:防止對事件日志進行來賓訪問只能限制非域成員訪問這些事件日志。在默認情況下,域中的所有用戶都可訪問系統日志和應用程序日志。只有安全日志的訪問受到限制。指定了“Manage auditing and security log”(管理審核和安全日志)用戶權限的安全主要對象可訪問安全日志。在默認情況下,此用戶權限只分配給管理員和 Exchange 企業服務器。
其他最佳審核方法
除了配置審核之外,還應實現一些其他方法,從而有效審核服務器環境的安全性。這些方法包括:
• |
安排定期復查事件日志。 |
• |
復查其他應用程序日志文件。 |
• |
監視安裝的服務和驅動程序。 |
• |
監視打開的端口。 |
安排定期復查事件日志
正如上面提到的,安全日志及可能生成的其他事件日志應寫入可移動材料中,或合并到一個中心位置以便于進行復查。復查這些日志經常被人們遺漏。
Contoso 已完成了大量的工作,確保有一人或一個部門負責將復查事件日志作為定期的任務來執行。這樣的事件日志復查可安排為每天一次,也可安排為每周一次,具體取決于安全日志中收集的數據數量。通常,這根據網絡中實現的審核級別而定。審核中包括的事件越多,日志項的數量就越多。如果安排了定期的事件日志復查,則有助于達到以下目標:
• |
更快檢測安全問題 |
• |
定義責任 |
• |
降低事件被覆蓋或服務器宕機的危險 |
復查其他應用程序日志文件
除了復查安全事件的 Windows 2000 事件日志之外,還應復查應用程序生成的日志。這些應用程序日志可能包括一些有關潛在攻擊的有價值的信息,可以對事件日志中的信息進行補充。根據環境的具體情況,可能需要查看一個或多個下面的日志文件:
• |
Internet 信息服務 (IIS) |
• |
Microsoft Internet Security and Acceleration (ISA) 服務器 |
• |
Internet 驗證服務 (IAS) |
• |
第三方應用程序 |
注意:所有維護日志文件的計算機都應使用經過同步的時鐘。這使管理員能將計算機和服務器之間的事件進行比較,以確定攻擊者采取了哪些操作。有關時間同步的更多詳細信息,請參考本模塊后面的時間同步的重要性一節。
監視安裝的服務和驅動程序
很多針對計算機的攻擊通過攻擊安裝在目標計算機上的服務,或將有效的驅動程序替換為包括特洛伊木馬的驅動程序版本,從而使攻擊者能訪問目標計算機達到攻擊的目的。
下面的工具可檢查計算機上安裝的服務和驅動程序:
• |
服務控制臺 |
• |
Netsvc.exe |
• |
SvcMon.exe |
• |
Drivers.exe |
注意:并非所有服務(如工作站服務)都可以直接停止,但您可以查詢所有的服務。如果用戶有很多活動的連接,則不能遠程強制關閉該服務,但可以暫停或查詢該服務。有些服務有另外一些依賴于它們的服務;嘗試關閉這樣的服務可能會失敗,除非這些具有依賴性的服務首先進行了關閉。
監視打開的端口
攻擊首先是從執行端口掃描以識別在目標計算機上正在執行任何已知服務開始的。您應該確保仔細監視服務器上打開的那些端口,這通常表示您在自己掃描這些端口來確定哪些端口可以訪問。
掃描端口時,應既在該目標計算機本地執行,也在遠程計算機上執行。如果可以從公共網絡訪問該計算機,則應從外部計算機執行端口掃描,以確信防火墻軟件只允許訪問所需的端口。
Netstat.exe 是一個命令行實用程序,可以顯示為傳輸控制協議 (TCP) 和用戶數據報協議 (UDP) 打開的所有端口。Netstat 命令使用下列語法:
NETSTAT [-a] [-e] [-n] [-s] [-p proto] [-r] [interval]
其中:
• |
-a:顯示所有連接和偵聽端口。 |
• |
-e:顯示以太網統計數據。這可以與 -s 選項組合使用。 |
• |
-n:以數字形式顯示地址和端口號。 |
• |
-p proto:顯示用于 proto 所指定協議的連接;proto 可以是 TCP 或者 UDP。如果與 -s 選項一起使用來顯示每個協議的統計數據,proto 可以是 TCP、UDP 或 Internet 協議 (IP)。 |
• |
-r:顯示路由表。 |
• |
-s:顯示每個協議的統計數據。在默認情況下,顯示 TCP、UDP 和 IP 的統計數據;-p 選項可用于指定這些默認設置的子集。 |
• |
interval:再次顯示選擇的統計數據,并在每個顯示之間暫停 interval 指定的秒數。按 CTRL+C 組合鍵可停止再次顯示統計數據。如果忽略此選項,Netstat 只輸出當前配置信息一次。 |
當列出本地計算機上打開的 TCP 和 UDP 端口時,端口號將根據 \%WinDir%\System32\Drivers\Etc\ 文件夾中這些服務文件中的項目轉換為名稱。如果只想看到端口號,可以使用 -n 參數。
如果發現的任何打開端口是不可識別的,則應對它們進行研究,確定相對應的服務在該計算機上是否必需。如果不必需,應禁用或刪除這個相關聯的服務,以防止計算機偵聽該端口。在本指南介紹的“成員服務器和域控制器基準策略”中已禁用了一些服務。
因為很多服務器都是由防火墻或數據包篩選路由器保護的,所以建議從遠程計算機執行端口掃描。很多第三方工具(包括免費軟件)都可用于執行遠程端口掃描。遠程端口掃描可揭示當外部用戶嘗試連接該計算機時,哪些端口可用于這些外部用戶。
注意:端口掃描還可用于測試入侵檢測系統,確保該系統能在發生端口掃描時檢測到該掃描。有關入侵檢測系統的詳細信息,請參考本模塊后面的主動檢測方法一節。
監視入侵和安全事件
監視入侵和安全事件既包括被動任務也包括主動任務。很多入侵都是在發生攻擊之后,通過檢查日志文件才檢測到的。這種攻擊之后的檢測通常稱為被動入侵檢測。只有通過檢查日志文件,攻擊才得以根據日志信息進行復查和再現。
其他入侵嘗試可以在攻擊發生的同時檢測到。這種方法稱為“主動”入侵檢測,它會查找已知的攻擊模式或命令,并阻止這些命令的執行。
此節內容將講述可用于實現這兩種形式的入侵檢測,以保護網絡免受攻擊的工具。
時間同步的重要性
監視多個計算機之間的入侵和安全事件時,這些計算機時鐘同步是至關重要的。經過同步的時間使管理員能再現針對多個計算機進行攻擊時所發生的操作。如果沒有同步的時間,則很難準確確定何時發生了特定的事件,以及這些事件是如何交錯發生的。
被動檢測方法
被動入侵檢測系統包括事件日志和應用程序日志的手動復查。這種檢查包括對事件日志數據中的攻擊模式進行分析和檢測。目前有若干工具、實用程序和應用程序都可幫助復查事件日志。此節簡要講述了如何使用每個工具來整理信息。
事件查看器
Windows 2000 安全日志當然可以使用 Windows 2000 事件查看器 MMC 控制臺進行查看。事件查看器允許查看應用程序日志、安全日志和系統日志。您可以在事件查看器中定義一些篩選器,以找出特定的事件。
• |
在事件查看器中定義篩選器
|
在“屬性”對話框的“篩選器”選項卡中,可定義下列屬性來篩選事件項:
• |
事件類型:該篩選器可限定為信息、警告、錯誤、成功審核、失敗審核或任何事件類型的組合。 |
• |
事件來源:生成該事件的特定服務或驅動程序。 |
• |
類別:該篩選器可限定為特定的事件類別。 |
• |
事件 ID:如果知道要搜索的特定事件 ID,則該篩選器可將列表顯示為該特定的事件 ID。 |
• |
用戶:您可以將事件顯示限定在特定用戶生成的事件。 |
• |
計算機:您可以將事件顯示限定在特定計算機生成的事件。 |
• |
日期間隔:您可以將顯示限定在位于特定開始日期和結束日期之間的事件。 |
應用該篩選器時,經過篩選的事件列表可導出為逗號分隔列表,或 Tab 符號分隔列表。整個列表則可導入一個數據庫應用程序。
正如上面提到的,Contoso 每個負責復查事件日志的管理角色都有幾位成員。作為上述成員的一部分,他們會每天復查一次這些日志,找出與事件相關的監視系統沒有記錄的任何安全信息。
轉儲事件日志工具 (Dumpel.exe)
轉儲事件日志是一種命令行工具,位于“Windows 2000 Server Resource Kit, Supplement One”(Microsoft Press,ISBN: 0-7356-1279-X)。該工具會將本地系統或者遠程系統的事件日志轉儲到一個以 Tab 符號分隔的文本文件中。然后,可將此文件導入一個電子表格或數據庫中,用于進一步研究。該工具還可用于篩選或篩選出一些特定的事件類型。
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:用于事件 ID nn (最多可指定 10 個)的篩選器。如果未使用 -r 參數,則只會轉儲這些類型的記錄,如果使用 -r ,則會轉儲除這些類型之外的所有記錄。如果未使用此參數,則會選擇來自指定 sourcename 的所有事件。如果沒有 -m 參數,則不能使用此參數。 |
• |
-r:指定是篩選這些特定的源或記錄,還是將它們篩掉。 |
• |
-t:指定由 Tab 符號分隔的各個字符串。如果不使用 -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(英文)。
此工具使您能夠:
• |
定義一個或多個要搜索的事件 ID。 |
• |
定義要搜索的事件 ID 范圍。 |
• |
將搜索限制為特定的事件日志。 |
• |
將搜索限制為特定的事件消息類型。 |
• |
將搜索限制為特定的事件來源。 |
• |
在事件說明中搜索特定的文本。 注意:您不能在特定的文本中包括搜索邏輯,如 AND、OR 或 NOT。另外,不要使用引號來分隔文本。 |
• |
定義從當前的日期和時間向后進行掃描的特定時間間隔。 |
安裝工具
要安裝工具,請將本指南包括的自解壓 SecWin2k.exe 文件中的內容進行解壓縮。這將創建一個 C:\SCI\scripts\EventComb 文件夾。一旦解壓縮這些文件,可以通過雙擊 EventCombMT.exe 文件來運行 EventCombMT 工具。
運行 EventComb 工具
使用 EventComb 工具的第一步是定義哪些計算機將包括在事件日志搜索中。
• |
將計算機添加到搜索中
|
指定要搜索的事件日志和事件類型
一旦選擇了要包括在事件日志搜索中的服務器,可以通過選擇包括哪些事件日志和事件類型類縮小搜索范圍了。
在 EventCombMT 實用程序中,可從下列事件日志中選擇用于搜索的日志:
• |
System(系統) |
• |
Application(應用程序) |
• |
Security(安全) |
• |
FRS(文件復制服務日志) |
• |
DNS(DNS 服務器日志) |
• |
AD(目錄服務日志) |
您還可以選擇在搜索中包括下列事件類型:
• |
Error(錯誤),此事件在應用程序日志和系統日志中記錄,還會出現在 FRS、DNS 和目錄服務日志中。 |
• |
Informational(信息),此事件在應用程序日志和系統日志中記錄,還會出現在 FRS、DNS 和目錄服務日志中。 |
• |
Warning(警告),此事件在應用程序日志和系統日志中記錄,還會出現在 FRS、DNS 和目錄服務日志中。 |
• |
Success Audit(成功審核),此事件會發生在安全日志中,如果應用程序已將成功審核注冊到應用程序日志中,此事件還會發生在應用程序日志中。例如,Active Directory 遷移工具 (ADMT) 會將成功審核事件記錄到應用程序日志中。 |
• |
Failure Audit(失敗審核),此事件會發生在安全日志中,如果應用程序已將失敗審核注冊到應用程序日志中,此事件還會發生在應用程序日志中。例如,ADMT 會將失敗審核記錄到應用程序日志中。 |
• |
Success(成功),此事件很少發生,出現在應用程序日志或系統日志中,也會出現在 FRS、DNS 和目錄服務日志中。在事件查看器中,成功事件顯示為信息性事件類型。 |
注意:如果了解事件日志具體包括哪個事件 ID,以及事件 ID 的事件類型,請始終將該信息包括在搜索條件中,因為這可縮短搜索時間。
保存搜索
EventCombMT 允許您保存搜索,并在日后重新加載這些搜索。如果常用 EventCombMT 在 IIS 服務器中搜索一組事件,在域控制器中搜索另一組事件,則保存搜索非常有用。
搜索條件保存在注冊表的下列內容中:
HKLM\Software\Microsoft\EventCombMT ,您可輕松編輯。
搜索結果文件
搜索結果在默認情況下保存在 C:\Temp 文件夾中。這些結果包括一個名為 EventCombMT.txt 的摘要文件。事件日志搜索中包括的每個計算機都會生成一個名為 ComputerName-EventLogName_LOG.txt 的單獨文本文件。這些單獨文本文件包含從符合搜索條件的事件日志中抽取的所有事件。
使用 EventCombMT 的示例
為了顯示如何使用 EventCombMT,我們將顯示如何對該工具進行配置,從而檢測域控制器的重新啟動和帳戶鎖定。
• |
使用 EventCombMT 搜索域控制器的重新啟動
|
完成搜索時,可在日志目錄中查看結果,該目錄應在搜索完成時自動打開。
• |
復查日志項
|
6006 事件表明一個有關閉域控制器權限的用戶啟動了一次計劃關機。6005 事件表明事件日志服務已啟動。此事件發生在啟動時。
6008 和 1001 事件表明該計算機在沒有關機的情況下被切斷電源,或因為被鎖定而重新啟動,或遇到了一個停止錯誤。如果存在 1001 事件,說明發生了一個停止錯誤,其中包含相關的調試信息和對該調試文件的引用。
EventCombMT 工具返回的這些事件應使用已知的宕機時間進行交叉檢查,不匹配的事件應加以研究,以確保該服務器沒有被攻擊。
EventCombMT 包括幾個預先配置的搜索,可用于搜索安全事件。例如,有一個預定義的搜索可搜索帳戶鎖定事件。
• |
使用 EventCombMT 搜索帳戶鎖定
|
注意:包括在 EventcombMT 中的其他預定義搜索分別是文件復制服務搜索、Active Directory 搜索,尋找是否有重復 SID 和 NETLOGON DNS 注冊失敗、硬盤錯誤以及 DNS 接口錯誤。您還可以定義和保存自定義的搜索。
Contoso 在嘗試診斷問題或在事件響應過程中確定問題原因時,會使用 EventCombMT。另外,Contoso 還定期檢查所有域控制器上是否存在帳戶鎖定或錯誤密碼。這樣的操作有助于手動識別監視系統可能不能檢測的任何奇怪模式。
事件收集
審核的主要目標之一是識別攻擊者在網絡上采取的操作。攻擊者可能嘗試破壞網絡上的多個計算機和設備。因此,要了解任何攻擊的程度,必須能整理和合并來自很多計算機的信息。
如果日志實用程序將導入數據庫中,整理來自多個日志的信息較為簡單。只要所有計算機上的時間同步,就可以根據時間字段進行排序,這就使根據時間間隔進行跟蹤事件變得非常簡單。
下面幾節內容簡要講述了一些工具和實用程序,可使用這些工具和實用程序將事件日志信息收集到一個中心位置。
腳本
可以編寫一些腳本來從多個遠程計算機收集事件日志信息,并將這些信息存儲在一個集中的位置。通過使用腳本,可選擇何時使用“任務計劃”運行腳本,一次采取什么操作即可將事件日志成功復制到集中的位置。
一個簡單的示例為,創建一個使用“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 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 管理控制臺、Web 控制臺或 Operations Manager 報告來查看、打印或者發布數據。每個視圖都包含一些預定義的用于分析存檔數據的視圖,并允許定義自定義視圖和報告。
事件日志收集的第三方解決方案
目前有若干第三方產品可提供集中的事件日志收集和檢查。評估這些第三方產品時,應在標準中添加下列功能:
• |
支持所有 Windows 2000 日志 |
• |
使用數據庫后端 |
• |
搜索和報告功能 |
提供事件收集功能的第三方產品有:
• |
Event Log Monitor - TNT Software www.tntsoftware.com(英文) |
• |
Event Archiver - Dorian Software Creations www.doriansoft.com(英文) |
• |
LogCaster - RippleTech www.rippletech.com(英文) |
主動檢測方法
主動入侵檢測系統會在應用層分析傳入的網絡通訊,查找已知的攻擊方法或可疑的應用層負載。如果收到了一個可疑的數據包,入侵檢測系統通常會丟棄該數據包,并在日志文件中記錄一項。有些入侵檢測系統還可在檢測到嚴重攻擊時向管理員發出通知。
用于入侵檢測的第三方解決方案
網絡入侵檢測系統和端點入侵檢測系統都有第三方解決方案。這些第三方解決方案會提供除超文本傳輸協議 (HTTP) 之外的一些協議的支持,還會針對聯網的計算機掃描一些已知的攻擊。
入侵檢測系統應識別的常見攻擊類型有:
• |
偵察攻擊 |
• |
利用攻擊 |
• |
拒絕服務 (DoS) 攻擊 |
好的入侵檢測系統應能識別所有三種形式的攻擊。有兩個不同的方法可識別攻擊:
• |
異常檢測 |
• |
特征識別 |
可用于測試和部署的部分第三方產品包括:
• |
BlackIce Defender http://blackice.iss.net/(英文) |
• |
Cisco Secure IDS http://www.cisco.com/warp/public/cc/pd/sqsw/sqidsz/prodlit/netra_ds.htm(英文) |
• |
eTrust Intrusion Detection http://www3.ca.com/Solutions/Product.asp?ID=163(英文) |
• |
Snort http://www.snort.org/(英文) |
• |
Tripwire http://www.tripwiresecurity.com(英文) |
• |
Foundstone Attacker http://www.foundstone.com/(英文) |
漏洞評估
除了執行被動和主動入侵檢測之外,還應定期執行漏洞評估。漏洞評估會在網絡中模擬攻擊,檢測攻擊者可能找到的漏洞。
通過定期執行評估,可在攻擊者進行攻擊之前找到漏洞,并保護網絡的薄弱部分,從而確保這些漏洞不受攻擊。
如果要研究漏洞評估工具,請在決策過程中包括下列要求:
• |
自動數據庫更新機制 |
• |
將非實質信息減少到最少的篩選器 |
• |
能將結果存儲在數據庫中 |
• |
漏洞的解決方案 |
有幾個第三方工具可用于針對 Windows 2000 網絡執行漏洞評估。這些工具有:
• |
Symantec NetRecon 3.5 http://enterprisesecurity.symantec.com/(英文) |
• |
BindView Security Advisor http://www.bindview.com(英文) |
• |
eEye Digital Security。Retina Network Security Scanner http://www.eeye.com(英文) |
• |
Internet Security Systems (ISS) Internet Scanner http://www.iss.net(英文) |
• |
Symantec Enterprise Security Manager 5.5 http://enterprisesecurity.symantec.com/products/products.cfm?ProductID=45(英文) |
另外,采用第三方咨詢服務來執行漏洞評估更適合。使用第三方服務的優點在于,第三方之前不了解該網絡,不會與外部攻擊者使用同樣的開始點工作。很多情況下,這些外部評估都會基于評估工作組的中立性提供最有用的信息。
小結
審核和入侵檢測是有效構建環境防護措施的重要組成部分。作為風險管理過程的一部分,必須確定什么程度的審核和入侵檢測適用于您所在的環境。對于跨多個協議的入侵檢測,您可考慮使用第三方工具。