監視及稽核終端系統

本頁索引

本文的重點
監視的目標
監視結構
事件監視
物件監視
效能監視
其他監視
監視公用程式
參考資料及相關連結

Microsoft Solutions Framework

企業安全的最佳實例

附註 本白皮書是一系列文件之一。企業安全的最佳實例 (https://www.microsoft.com/technet/archive/security/bestprac/bpent/bpentsec.mspx) 含有此系列所有文章的完整清單。 另請參閱〈Security Entities Building Block Architecture〉 (https://www.microsoft.com/technet/security/bestprac/ bpent/sec2/secentbb.mspx)。  

本文的重點

作業系統是任何有用電腦系統的基礎。 不論特定電腦的目的為何 (檔案或列印伺服器、資料庫、訊息或 Web 伺服器), 作業系統提供了啟用應用程式的基本功能。本文件是關於作為「本機資源」實體之硬體及作業系統安裝。

因為眾多伺服器廠商各有其自家提供的監視硬體平台的功能及方法論,本文件討論的重點僅著重於作業系統本身,如: Microsoft® Windows NT® 4.0 或 Microsoft® Windows® 2000。

回到頁首

監視的目標

如何達成目標

一般的監視目標為偵測外部使用者、員工,或故障的可疑行為。 組織可直接監視 (如監視特定事件) 或間接監視 (如隨時觀察伺服器的狀態及調查異常行為)。

您的安全性組織將必須決定其特定的監視原則。在此原則之內,您必須決定組織的特定監視目標。您必須回答下列問題:

  • 您打算為伺服器效能設定一個基準嗎?如果是,您將以多久時間為間隔來收集哪一種計數? 您將多久檢查一次基準?
  • 您要稽核何種物件?對於每種物件類別,您將稽核哪些存取? 對於每種物件類別,您將稽核哪些實例?
  • 您還要稽核哪些其他事件類型?
  • 您要如何管理您的事件日誌記錄? 您是否打算使用 Microsoft 提供的工具來自行撰寫,或是要購買協力廠商的系統?
  • 您打算使用哪一種監視技術?
  • 監視的程度?(監視系統對系統效能有明顯的影響—對系統狀態的查詢或記錄越頻繁, 系統所須消耗在這些活動上的資源就越多。)

回到頁首

監視結構

內建機制

Windows NT 4.0 及 Windows 2000 有數個可用於監視的內建機制:

  • 事件日誌記錄 (稽核)—系統本身及系統上的應用程式可產生重大事件記錄。
  • 效能監視—系統及某些系統上的應用程式會定期回報效能資訊。
  • 簡易網路管理通訊協定 (Simple Network Management Protocol,SNMP)— 系統支援 SNMP 版本 2 (為一種工業標準),是一種監視網路裝置的獨立平台方法。
  • Windows Management Instrumentation (WMI)— Windows 2000 包括 WMI,可安裝在 Windows NT 4.0 上。WMI 不是一項監視服務,而是整合各式其他監視機制的統一管理介面。

事件日誌記錄

事件日誌記錄資料,是由系統的其他部份,或在系統上執行的應用程式回報至「事件日誌」服務。 「事件日誌」服務把這項資料儲存在 %systemroot%\system32\config 目錄下的 .evt 檔案裡。 Windows NT 4.0 及 Windows 2000 Professional 中的內建記錄是系統記錄檔、安全性記錄檔以及應用程式記錄檔。 Windows 2000 Server 安裝可能會為「網域名稱系統 (DNS)」及目錄服務新增記錄。 任何需要記錄事件的應用程式,都應該用「事件日誌」服務來自己註冊。

儲存在事件日誌中的事件都有一個描述欄位,以顯示用來描述該事件的文字資料。 一般而言,就是錯誤訊息的文字。通常,只有對事件的特定例項為唯一的資訊時才會與該事件一起儲存在記錄中; 其文字字串儲存在以「事件日誌」服務註冊的事件訊息檔案內 (一般為 .dll 或 .exe 檔)。 如果在檢視事件時,在描述欄位裡看到錯誤指出該事件文字不可用時, 您就必須在檢視事件的電腦上,以「事件日誌」服務註冊該事件訊息檔案。 有關此項的詳細資訊,可於下列網址取得: https://support.microsoft.com/default.aspx?scid=KB;zh-tw;q165959

關於使用事件記錄應用程式計劃介面 (API) 的更多說明文件,可於下列網址取得: https://msdn.microsoft.com/library/en-us/debug/base/event_logging_functions.asp

效能監視

效能資料儲存於登錄中;不過,通常可以使用 API (如 Performance Data Helper API) 或 WMI 來存取該資料。 如需更多關於效能監視系統結構的資訊,可於下列網址取得: https://msdn.microsoft.com/library/en-us/perfmon/base/performance_monitoring_architecture.asp

SNMP

藉由安裝 SNMP 服務,您就可啟用系統來回應來自 SNMP 管理主控台的要求。 安裝 SNMP 服務也可以為「網際網路通訊協定 (IP)」、「網際網路控制訊息通訊協定 (ICMP)」、 「使用者資料包通訊協定 (UDP)」以及「傳輸控制通訊協定 (TCP)」新增效能計數器。 SNMP 可讓您查詢多項本機資源目前的狀態,也可以讓您控制少數的作業系統及應用程式參數。

因為 Windows NT 及 Windows 2000 並沒有附 SNMP 管理主控台, 若要使用 SNMP,可能必須要有協力廠商主控台或部分內部開發的主控台。 不過,Microsoft 有提供兩項有用的 Resource Kit 公用程式,SNMPUtil 以及 SNMPMon,前者是命令列 SNMP 查詢公用程式, 後者則是命令列公用程式,可在一段時間內查詢及記錄 SNMP 計數器,並可用文字檔案來設定。

WMI

Windows Management Instrumentation 是 Microsoft「以網路為主的企業管理 (WBEM)」工業標準管理結構的實作,它嘗試為在企業環境內存取管理資訊開發一般的介面。

WMI 包括支援對系統的查詢以取得有關事件日誌、效能以及 SNMP 的資訊。 它很容易編入所有 Windows Script Host 相容的指令碼語言內, 如 Microsoft® Visual Basic® Scripting Edition (VBScript) 或 Microsoft® JScript®。

如需更多關於 WMI 的資訊,可在下列網址找到: https://msdn.microsoft.com/library/backgrnd/html/wmicim.htm

有關在 Windows NT 及 Windows 2000 平台上執行 WMI 及 SNMP 的更多資訊,可在下列網址找到: https://www.microsoft.com/technet/prodtechnol/windows2000serv/ maintain/featusability/wmisnmp.mspx  

回到頁首

事件監視

事件日誌管理

當系統設定為收集許多不同類型的事件時,事件日誌很快就會填滿。 相反地,若只記錄少數事件類型,則可能遺漏重要資訊。 因此,判定什麼要記錄及什麼不要記錄是一項複雜的決定。

當決定記錄何種事件類別後,考量將會產生的事件數量,以及擷取任何特定資訊的公用程式,是很重要的。 最好是決定想要擷取資訊的確切類型,然後設定記錄機制來記錄最小必須事件量,以收集資訊。 「散彈」處理 (把記錄轉成最大值設定) 經常導致忽略或丟棄大量資料,因為有太多資料要分析或儲存。

Windows NT 4.0 及 Windows 2000 中包括了一個稱作「事件檢視器」的公用程式, 可檢視 (以篩選或未經篩選方式)、儲存以及清除事件日誌。 當記錄已滿時,此公用程式也可以讓系統管理員控制是否要讓新事件覆寫舊事件,並限制事件記錄的最大值。 Windows NT 4.0 及 Windows 2000 都不包括任何公用程式來進行中央收集及管理事件日誌,雖然不同協力廠商有販售此類公用程式。

事件日誌管理是監視企業最重要的方面之一。在系統層級,如「事件檢視器」的公用程式可能就足以應付整個事件監視所需。 不過,當監視全企業裡的許多電腦時,所收集的資料量一般都會超過系統管理員的管理負荷, 所以,一般還需要一些中央收集機制。

建議: 為您的企業評估及購買中央事件記錄管理系統。 當評估不同的套件時,要考量事件收集系統的延展性及功能,及每一個套件的查詢品質及報告功能— 若分析工具不合用,收集大量的事件日誌資料並沒有用。

事件日誌管理的另一個重要方向,就是管理每一筆事件日誌記錄的大小、位置,以及覆寫原則。

每筆記錄都有幾個可設定的參數:

  • 記錄檔的位置及名稱。每筆記錄分別儲存在稱作 File 的 REG_EXPAND_SZ 值,位於機碼: HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\<log name>
  • 最大記錄檔大小。 此可設定在「事件檢視器」應用程式裡,預設值為 512 千位元組 (KB)。
  • 記錄已滿時的覆寫行為。 有三個選擇:依需要覆寫事件、覆寫超過特定天數的事件,以及不要覆寫。 若選擇只覆寫超過特定天數的事件,您可以設定天數。
  • 限制來賓存取 (僅限 Windows 2000 )。這可用於只讓授權的使用者存取事件日誌。

另外,還有全系統範圍的設定 (CrashOnAuditFail),會在安全性記錄填滿時造成系統停滯。 在多數情況中,不要去設定 CrashOnAuditFail。如需相關資訊, 請參閱〈How to Prevent Auditable Activities When Security Log Is Full〉一文,網址為: https://support.microsoft.com/default.aspx?scid=KB;zh-tw;q140058

如果決定使用 CrashOnAuditFail,您應該仔細設定稽核記錄設定。 如本文所述,此項設定至少有一個未決的問題: 請參閱〈STOP 0xC0000244 When Security Log Full〉一文,網址為: https://support.microsoft.com/default.aspx?scid=KB;zh-tw;q232564

事件分析

事件日誌中的事件包含下列欄位:

  • 日期與時間
  • 類型—事件的重要性
  • 來源—記錄事件的元件
  • 類別—進一步的安全性事件子群組
  • 事件 ID—識別發生的事件之唯一號碼
  • 使用者—與事件相關的使用者名稱 (如果有的話)
  • 電腦—記錄該事件的機器
  • 描述—文字資料,如與事件有關的錯誤訊息
  • 資料—與事件有關的二進位資料

在這些欄位裡,要特別注意事件 ID 及描述文字。 在「Microsoft Knowledge Base」中利用事件 ID 來尋找事件是最容易的方式,而描述文字通常是以簡單的語言來描述發生的狀況。 此外,描述欄位常包含關於特定事件的唯一資訊,特別是安全性事件。 若您使用非 Microsoft 事件收集工具將事件收集到中央資料庫,請確定收集了所有安全性事件的描述欄位。

如需事件結構的相關資訊,請參閱〈Elements of an Event Record〉一文,網址為: https://www.microsoft.com/resources/documentation/windowsnt/ 4/workstation/reskit/en-us/appb_sec.mspx

監視系統

監視一般系統

作為一項規則,稽核「系統」類別的成功及失敗事件是很理想的作法。

Windows 使用此類別來記錄會影響整個系統安全性的事件:

512 Windows NT 啟動中。
513 Windows NT 正在關機。
514 本機安全性授權已經載入驗證用的封裝軟體。
515 已經在本機安全性授權登錄信任的登入處理。
516 用來處理稽核訊息佇列的內部資源已經用完,導致部份稽核資料遺失。
517 稽核記錄已經清除。
518 安全性帳戶管理員已經載入驗證用的封裝軟體。

如果您注意到這些事件有任何異常,則表示可能有人正載入密碼攔截程式或未經授權 (可能是不安全) 的驗證套件。

監視稽核原則

Windows NT 或 Windows 2000 系統的「本機安全性授權 (LSA)」,執行許多與系統安全性相關的工作, 並負責系統安全性原則的加強 (包括套用在本端機器上的 Microsoft® Active Directory? 站台、網域以及組織單位原則)。 監視系統時,影響重大的主要原則之一是「稽核原則」。

在 Windows NT 4.0,是在「使用者管理員」中操控「稽核原則」。 在執行 Windows 2000 的電腦上,則在「群組原則」中操控, 該原則可經由使用 [開始] 功能表下 [系統管理工具] 功能表內的 [本機安全性原則] 項目的方式,為本機電腦呼叫。 稽核原則位於樹狀結構內,在 [本機原則] 的 [稽核原則] 目錄下。 您可以在「Active Directory 使用者和電腦嵌入式管理單元」中適當的物件屬性工作表內,為網域或組織單位設定「群組原則」,也可以在「Active Directory 站台及服務嵌入式管理單元」中的站台屬性工作表內,為站台設定「群組原則」。

監視「稽核原則」是很重要的,可防止惡質的系統管理員關閉稽核、執行禁止動作,以及重新開啟稽核。

如果您啟用「原則變更」成功及失敗的稽核,您將啟用下列事件 (這些事件大多僅見於 Windows 2000):

608 已指派使用者權限
609 已移除使用者權限
610 新的受信任網域
611 正在移除受信任的網域
612 稽核原則變更

僅限 Windows 2000:
613 已啟動 IPSec 原則代理程式
614 已停用 IPSec 原則代理程式
615 已變更 IPSEC 原則
616 IPSec 原則代理程式遭遇潛在嚴重失敗。
617 已變更 Kerberos 原則
618 已變更加密資料修復原則
619 已變更服務原則品質
620 已修改受信任的網域資訊

如同多數安全性事件,許多關於事件的唯一及重要資訊 (如哪個原則被修改了,以及被何人),都儲存在事件的描述欄位。

附註 在 Windows NT 及 Windows 2000 裡不可能控制系統管理員的動作。 您幾乎可以監視系統管理員做的任何事。不過,因為系統管理員有取代系統元件的權限, 以及在系統上操控安全性原則及記錄,已決意的系統管理員可以略過稽核,或至少清除其蹤跡。 所以,請只將系統管理員存取權限授與信任的個人。

**建議:**永遠稽核「原則變更」類別的成功及失敗事件。

若需「稽核原則」的相關資訊,請參閱「Policy_Audit_Event_Type」,網址為: https://msdn.microsoft.com/library/en-us/security/security/ policy_audit_event_type.asp

「稽核安全性事件」(版本 4.0 的「稽核原則」設定),https://www.microsoft.com/resources/documentation/WindowsServ/ 2003/standard/proddocs/en-us/audittn.asp

〈How to Determine Audit Policies from the Registry〉, 請造訪 https://support.microsoft.com/support/kb/articles/Q246/1/20.asp

監視已執行時間及重新開機

當「事件日誌」服務啟動 (且是開機後最先啟動的服務之一時),就會在系統記錄檔內產生事件 6005。 當「事件日誌」服務正常關機時 (如系統管理員關閉系統),就會記錄事件 6006。 當系統非預期地重新啟動時,會記錄事件 6008。 這些事件會自動記錄—毋需設定來啟動它們,而它們也無法關閉,除非停用「事件日誌」服務。

收集並使這些事件與有用的系統可用性報告相關連,最容易的方法就是使用 Uptime.exe 公用程式 (它可在 Microsoft 網站取得)。

如需更多關於「事件日誌」服務資訊事件的資訊,可於下列網站找到: https://support.microsoft.com/support/kb/articles/Q196/4/52.asp

如需更多關於 Uptime.exe 公用程式的資訊,可以從下列網站取得:https://support.microsoft.com/support/kb/articles/Q232/2/43.asp

監視損毀

可將 Windows NT 4.0 及 Windows 2000 設定成在發生嚴重的核心模式例外狀況 (Stop 錯誤) 時,可將事件寫入事件日誌中。 在預設狀況下,Windows 2000 Professional 及 Windows NT 4.0 Workstation 將不會產生事件; 不過,有將伺服器產品設定成會這樣做。

所產生的事件為有「儲存傾印」事件來源的事件 ID 1001。

若要啟用或停用 Stop 錯誤事件的產生, 請選取或清除系統控制台或登錄之修復設定區段內的 [將事件寫入系統記錄檔中] 核取方塊。 若需相關資訊,請參閱「Microsoft Knowledge Base」中下列文章: https://support.microsoft.com/support/kb/articles/q235/4/96.asp

監視硬體失敗

硬體元件的驅動程式通常會自動記錄失敗。 列出所有此類事件不屬於本文件的討論範圍,但這些事件類別一般都有兩個共同特性:

  • 此類事件的事件來源是驅動程式的名稱。
  • 此類事件的事件類別, 不是「警告」(輕微的或可復原的失敗情況), 就是「錯誤」(嚴重的或無法復原的失敗情況)。

這類事件不可忽略,即使它們重覆發生又沒有其他徵兆。 您可以諮詢硬體廠商支援網站來調查這些事件,或諮詢位於下列網址的「Microsoft Knowledge Base」: https://support.microsoft.com/support

雖然有些廠商會提供設定記錄這類事件的方法,但一般而言是沒有方法可以這麼做的。

建議: 您每次都應該向中央事件收集系統報告硬體警告及錯誤事件,並調查每個事件。

監視控制碼程序

Windows NT 及 Windows 2000 包括該項功能,可記錄系統上每項控制碼程序的建立與毀滅。 若要啟用這項功能,請設定系統的「稽核原則」來稽核「詳細追蹤」類別內的成功及失敗事件。

當程序建立之後,就會給一個處理序識別碼 (PID),它是程序作用整個期間內,該程序唯一的號碼。 PID 會在其他一些相關安全性的事件中被參照到,並在產生其他事件時,有助於判別使用者在做什麼。

就像其他安全性事件,記錄詳細資料追蹤事件很容易產生大量事件,特別是在使用者工作站及啟動大量程序的伺服器上, 如大量使用「通用閘道介面 (CGI)」的 Web 伺服器。

啟用成功及失敗詳細資料追蹤稽核會引發下列事件:

592 已建立新的處理程序
593 處理程序已結束
594 重複的物件控制碼
595 已經取得物件的間接存取權

每個此類事件的描述欄位都包含有用的資訊,如 PID。

監視此類別事件的缺點是,事件對其本身沒什麼用且數量又龐大,所以需要有相當成熟的分析工具, 來將另一事件 (如物件存取事件) 關聯到詳細追蹤事件。優點是您會更清楚使用者在做什麼。

監視應用程式

應用程式通常會在應用程式事件日誌上記錄特定事件,雖然部分應用程式會記錄到自己的應用程式特定的記錄檔。 儘管有關應用程式監視的詳細討論不在本章節的範圍內,卻適用相同的通則—永遠調查錯誤事件,且在決定記錄設定時, 設定應用程式來記錄符合您需求所必要之資訊的最小量。 

回到頁首

物件監視

簡介

Windows NT 及 Windows 2000 使您能監視存取特定物件:檔案及目錄、登錄機碼、目錄服務物件以及核心物件。

稽核是根據每個物件及每個程序來完成的:您可以指定要稽核哪些物件,以及要稽核哪些物件的存取。 可稽核的存取隨著不同的物件類型而有所不同,且符合可指派給該物件類別的權限。

如同其他事件監視類別,採取鎖定目標的方法來稽核物件存取是非常重要的。 在您的稽核計劃中,決定物件必須受稽核的最小量及其類型,然後決定監視每個稽核物件類型所必須存取的最小量。 若使用過於廣泛的方法來稽核,將會對系統效能產生重大的影響,並且會導致收集過多不必要或無用的資料。

當已獲得或已釋放物件控制碼時,就會發生稽核。所產生的稽核視所要求的存取 (實際授與的) 而定, 而不是實際採取的動作。例如,當該檔案實際上並未修改, 卻在檔案物件上見到「寫入」稽核也並不罕見。Microsoft 正在調查這種行為; Windows 2000 的未來版本有可能變更這種行為。

如果您啟用了「稽核原則」之「檔案及物件存取」類別的成功失敗稽核,您將引發下列事件 (不過,仍須在每個要監視的檔案或物件上設定適當的稽核):

560 物件開啟
561 已配置控制碼
562 已關閉控制碼
563 物件開啟供刪除
564 已刪除物件

僅限 Windows 2000:
565 物件開啟
566 物件作業

可監視的物件

有幾種物件可加以稽核。每種物件類型皆有唯一的存取類型—亦即, 每種物件只會被適合該種物件的方法存取。例如,儘管「啟動」及「停止」存取適合服務,但對於檔案及目錄卻沒有太大意義。

也有數種標準存取類型,適用所有物件。這些標準權限會設定物件上的安全性。 標準權限為 WRITE_DAC (修改權限)、WRITE_OWNER (變更擁有者)、READ_CONTROL (讀取安全性資訊) 以及 DELETE (刪除該物件)。 關於標準權限的更多資訊可在下列網址找到: https://msdn.microsoft.com/library/en-us/security/security/standard_access_rights.asp

當保護存取物件的安全或是要求存取物件時,就會使用存取遮罩。 存取遮罩是位元遮罩值,遮罩內的每個位元代表對該物件的特定存取。 這可讓相關資料結構非常簡潔且快速操控。

以下是最常見的可稽核物件:

關於存取遮罩的更多資訊,請造訪:  

物件稽核結構

您也許想知道為何本文件對存取權限討論得如此詳細。原因是,當您設定其權限或稽核來保護某個物件的安全時,您必須指定哪些存取可允許/拒絕或稽核。 本章節將針對稽核,來討論物件安全性的內部工作。

安全性描述元

Windows NT 及 Windows 2000 裡所有可安全化的物件,都有一個相關的資料結構,稱為安全性描述元。 安全性描述元包含有關物件的四項主要資訊:

  • 物件擁有者
  • 物件群組,用於 POSIX 型安全性
  • 物件任意存取控制清單 (DACL),它包含擁有檢視或操控該物件權限, 或被拒絕存取該物件的使用者及群組清單
  • 物件系統存取控制清單 (SACL),它包含對物件動作會被稽核的使用者及群組清單

提及稽核時,SACL 是這裡面最有趣的。

SACL 只不過是存取控制項目 (ACE) 的清單。每個 ACE 包含三項資訊:

  • 要稽核的使用者或群組
  • 要稽核的特定存取類型,稱作存取遮罩
  • 指示要稽核存取失敗或存取成功的旗標

舉例來說,檔案物件可能擁有與下列相似的 SACL:

Everyone
Success
WRITE_DAC
Everyone
Failure
(All)

這個 SACL 非常簡單。它說明如果 Everyone 群組成員裡的任何人變更檔案權限,就會產生一個事件。 第二個項目說明如果任何人試圖用任何方法存取該檔案,卻因權限不足而失敗,就會產生一個事件。

關於 DACL 及 SACL 的更多資訊,請造訪: https://msdn.microsoft.com/library/default.asp?url=/library/en-us/secauthz/security/sacl_access_right.asp

控制碼

當物件控制碼開啟,Windows NT 及 Windows 2000 的稽核就產生。

Windows NT 及 Windows 2000 有核心模式安全性子系統。 這表示試圖存取某物件的程式只能透過核心存取它—不能略過安全系統。 因為核心記憶體空間是與使用者模式程式隔離開來的,透過資料結構參照物件的程式就稱作控制碼。 一般存取嘗試就像這樣:

  1. 使用者指示程式存取物件 (例如,[檔案] / [開啟])。
  2. 該程式向系統要求控制碼,指定要何種存取 (讀取、寫入…等等)。
  3. 安全性子系統在比較要求物件的 DACL 與使用者記號後, 尋找 DACL 內與使用者或使用者所屬群組相符,並且擁有該程式所要求存取的項目。
  4. 系統會尋找 SACL 內符合退還程式的有效權限或程式所要求的權限的項目, 比較要求物件上的 SACL 與使用者記號。如果相符的失敗稽核 ACE 符合某要求未獲准的存取,就會產生失敗稽核事件。 如果相符的成功稽核 ACE 符合某要求獲准的存取,就會產生成功稽核事件。
  5. 如果有授與任何存取權,系統就會退回一個可用來存取物件的控制碼到該程式。

這是很重要的一項事實,即當稽核發生而產生事件時,對該物件尚未發生任何事。 這對解釋稽核事件很困難。寫入稽核在檔案被寫入前就產生,而讀取稽核在檔案被讀取前就產生。

為何這點很重要呢? 因為這是一般要求存取物件的程式設計練習,不論該程式打算做什麼。 沒有任何作法能防止程式設計人員以具有所有權限的存取權 (若任何存取被稽核,會觸發稽核事件) 來獲得控制碼、 執行最小的存取,以及關閉控制碼。例如,假設您的稽核策略是確保無人可變更檔案權限 (WRITE_DAC 存取)。

  1. 系統管理員設定檔案的 SACL:Everyone::Success::Write_DAC
  2. 程式以具有所有權限的存取權開啟檔案,引發 WRITE_DAC 稽核事件。
  3. 程式讀取該檔案但沒作任何修改。
  4. 程式關閉該檔案。

現在請注意,身為安全系統管理員,您面對的是一項似乎指示使用者變更了檔案權限,而實際上使用者並沒有這麼做的稽核記錄。

解決方案是什麼?目前還沒有。重要的是記得,稽核乃根據控制碼操控,而非物件操控。 稽核事件為真—您只須瞭解它在說什麼。使用最小鎖定目標稽核還有另一個理由。 作為旁註,如果您撰寫存取物件的程式,良好的程式設計做法是只要求您打算要用的存取。

繼承

權限及稽核設定可繼承自上層容器。 如需繼承安全性設定的相關資訊,請造訪: https://support.microsoft.com/support/kb/articles/Q220/1/67.ASP

變更物件上的稽核設定

操控 SACL 要透過物件上安全性對話方塊的進階內容對話方塊。 若要存取安全性對話方塊,請在該物件上按一下滑鼠右鍵,開啟該物件的內容表,選擇 [安全性] 索引標籤。

檔案及目錄、登錄機碼,以及服務的稽核亦可透過「群組原則」來設定。 若要如此做,使用「Active Directory 使用者及電腦嵌入式管理單元」, 開啟您想要設定原則之容器的「群組原則」內容表。 當編輯原則時,請查看 [電腦設定] -> [Windows 設定] -> [安全性設定]。您會看到 [檔案系統]、[登錄] 以及 [系統服務] 區段,您可於該處指定這些物件的權限及稽核。

監視使用者活動

監視登入

您可以在 Windows NT 及 Windows 2000 監視詳細的登入活動,只要在系統「稽核原則」內, 啟用「登入」類別活動的成功及失敗稽核即可。這可以產生下列事件,視您要稽核成功或失敗或兩者而定:

528 登入成功
529 登入失敗: 原因: 使用者名稱不明或密碼錯誤
530 登入失敗: 原因: 違反帳戶登入時限
531 登入失敗: 原因: 帳戶目前停用
532 登入失敗: 原因: 指定的使用者帳戶已經過期
533 登入失敗: 原因: 不允許使用者登入這台電腦
534 登入失敗: 原因: 使用者尚未被授與本機器所要求的登入類型
535 登入失敗: 原因: 指定的帳戶密碼已經過期
536 登入失敗: 原因: NetLogon 元件不在使用中
537 登入失敗: 原因: 登入期間發生未預期的錯誤
538 使用者登出:
539 登入失敗: 原因: 帳戶已經鎖定
540 成功登入網路

僅限 Windows 2000:
541 已建立 IPSec 安全性關聯。
542 已結束 IPSec 安全性關聯。
模式:資料保護 (快速模式)
543 已結束 IPSec 安全性關聯。
模式:機碼交換 (主要模式)
544 IPSec 安全性關聯的建立失敗,因為對等無法驗證。
545 IPSec 對等驗證失敗。
546 IPSec 安全性關聯建立失敗,因為對等傳送無效的提案。
547 IPSec 安全性關聯交涉失敗。

每一個事件中的描述文字都提供了關於每一個特定登入的詳細資訊。

此外,在 Windows 2000 上,您可以啟用事件的「帳戶登入」類別之成功及失敗稽核,它會引發下列事件:

672 已授與的驗證票證
673 已授與的服務票證
674 已更新授與的票證
675 前次驗證失敗
676 驗證票證要求失敗
677 服務票證要求失敗
678 帳戶已對應登入
679 帳戶無法對應登入
680 用於登入的帳戶
681 登入帳戶:<用戶端名稱> 由:<來源> 自工作站:<工作站> 失敗。錯誤碼為:<錯誤>
682 工作階段重新連線至 winstation
683 工作階段中斷與 winstation 連線

監視登入最有用的原因之一是擷取帳戶鎖定事件。 任何合理安全站台都會有帳戶鎖定原則,而每一個帳戶鎖定事件都會有用— 對收集有關使用者鎖定自己的頻率統計資料的說明桌面, 或對監看可能的密碼破解攻擊之安全性小組。 帳戶鎖定事件儲存在本機電腦及驗證網域控制站上。 因為該原因,常有必要使來自多個網域控制站的事件記錄彼此相關, 以判斷哪些帳戶被鎖定。 若需相關資訊,請參閱〈Account Lockout Event Also Stored in Security Event Log on Domain Controller〉, 網址為:https://support.microsoft.com/support/kb/articles/Q182/9/18.asp

有關稽核使用者登入的相關資訊,請參閱〈Auditing User Authentication〉,網址為: https://support.microsoft.com/support/kb/articles/Q174/0/73.asp

若要讀取有關登入明顯未被稽核的特定情況, 請參閱〈Event Viewer Does Not Show IUSR_machinename Account Logon〉,網址為:https://support.microsoft.com/support/kb/articles/Q188/9/03.asp

監視使用者權限的使用狀況

Windows NT 及 Windows 2000 包括該項功能,可監視使用者權限的使用狀況 (亦稱為專用權)。 這項設定可啟用或停用, 但您不能選擇稽核那些權限—全有或全無。 監視使用者權限的使用狀況會產生非常大量的稽核, 且多數情況下這些事件所提供的資訊,不會比管理考量因素更重要。

啟用「使用者權限的使用狀況」類別的成功及失敗稽核,會引發下列事件:

576 特別專用權已指派至新登入
577 已呼叫專用服務
578 專用物件作業

建議: 不要稽核使用者權限的使用狀況,除非您的環境絕對有必要。 如果您必須稽核使用者權限的使用狀況,建議購買或撰寫只會篩選您感興趣的使用者權限的事件分析工具。

不是所有的使用者權限都會加以稽核,即使已啟用系統「稽核原則」內的「使用者權限的使用狀況」類別。 不過,稽核這些事件會造成事件記錄快速地被細小或無價值事件所填滿。

下列使用者權限絕不會加以稽核:

  • 略過周遊檢查 (SeChangeNotifyPrivilege)
  • 產生安全性稽核 (SeAuditPrivilege)
  • 建立記號物件 (SeCreateTokenPrivilege)
  • 偵錯程式 (SeDebugPrivilege)
  • 取代處理層級記號 (SeAssignPrimaryTokenPrivilege)

下列使用者權限只有出現特定登錄設定時才加以稽核:

  • 備份檔案及目錄 (SeBackupPrivilege)
  • 還原檔案及目錄 (SeRestorePrivilege)

啟用稽核備份及還原專用權的登錄值是 HKLM\SYSTEM\CurrentControlSet\Control\Lsa\FullPrivilegeAuditing (REG_DWORD)。 設定該值為 1 以啟用稽核。此設定亦可透過 Windows 2000 的安全性原則使用者介面來設定。

有關使用者權限稽核的相關資訊, 請參閱〈Auditing User Right Assignment Changes〉一文,網址為:https://support.microsoft.com/support/kb/articles/Q163/9/05.asp

監視系統管理授權

監視帳戶管理

在 Windows 2000 及 Windows NT 4.0 稍後的 Service Pack 裡,會詳細描述「帳戶管理」與「稽核原則」。 只要啟用這項事件類別的成功及失敗稽核,您就可啟用下列事件:

624 使用者帳戶建立日期
625 使用者帳戶類型變更
626 已啟用使用者帳戶
627 嘗試變更密碼
628 使用者帳戶密碼設定
629 已停用使用者帳戶
630 已刪除使用者帳戶
631 已建立啟用安全性的通用群組
632 已新增啟用安全性的通用群組成員
633 已移除啟用安全性的通用群組成員
634 已刪除啟用安全性的通用群組
635 已建立啟用安全性的本機群組
636 已新增啟用安全性的本機群組成員
637 已移除啟用安全性的本機群組成員
638 已刪除啟用安全性的本機群組
639 已變更啟用安全性的本機群組
640 一般帳戶資料庫變更
641 已變更啟用安全性的通用群組
642 使用者帳戶已變更
643 網域原則已變更
644 使用者帳戶已鎖定
645 電腦帳戶已建立
646 電腦帳戶已變更
647 電腦帳戶已刪除
648 已建立停用安全性的本機群組
649 已變更停用安全性的本機群組
650 已新增停用安全性的本機群組成員
651 已移除停用安全性的本機群組成員
652 已刪除停用安全性的本機群組
653 已建立停用安全性的通用群組
654 已變更停用安全性的通用群組
655 已新增停用安全性的通用群組成員
656 已移除停用安全性的通用群組成員
657 已刪除停用安全性的通用群組
658 已建立啟用安全性的萬用群組
659 已變更啟用安全性的萬用群組
660 已新增啟用安全性的萬用群組成員
661 已移除啟用安全性的萬用群組成員
662 已刪除啟用安全性的萬用群組
663 已建立停用安全性的萬用群組
664 已變更停用安全性的萬用群組
665 已新增停用安全性的萬用群組成員
666 已移除停用安全性的萬用群組成員
667 已刪除停用安全性的萬用群組
668 群組類型已變更
669 新增 SID 歷程記錄 (成功)
670 新增 SID 歷程記錄 (失敗)

在 Service Pack 4 問世之前,Windows NT 4.0 曾有一個問題,即只記錄了事件 642 。 這在 Service Pack 4 裡已修復;不過,這些事件多數仍只記錄在 Windows 2000 裡。 若需相關資訊,請參閱〈Security Events Are Not Logged During Audit〉一文, 網址為:https://support.microsoft.com/support/kb/articles/Q173/0/59.asp

如果已啟用「檔案」及「物件存取」稽核,您可看到「安全帳戶管理員 (SAM)」物件存取事件, 因為 SAM 物件在建立時就預設稽核設定。若需相關資訊,請參閱〈Event 560, 562 When No Objects Have Been Selected for Auditing〉一文, 網址為:https://support.microsoft.com/support/kb/articles/Q149/4/01.asp

監視目錄服務存取

若要啟用稽核目錄服務存取,請選取「稽核原則」設定內合適的成功/失敗方塊。 目錄服務稽核設定,即設定在每個個別的目錄服務物件之安全性內容對話方塊內。

直到現在,還沒有發佈過目錄服務事件的清單。當此種清單問世後,此位置就會加以更新。

關於如何設定目錄服務稽核的相關資訊, 請參閱〈How to Enable Auditing of Directory Service Access〉一文, 網址為:https://support.microsoft.com/support/kb/articles/Q232/7/14.asp

低層級監視 SAM

既然 Windows NT 及 Windows 2000 的 SAM 儲存在登錄中,則稽核包含 SAM 資訊的登錄機碼,就可能監視 SAM 的變更。

雖然這是可行的,但稽核整個 SAM 會產生數量驚人的事件,即便不拖垮系統也會對它造成重大的負荷。

如果您必須使用稽核登錄來監視 SAM,請考慮鎖定目標後才進行此項作業,而且只稽核相關的 SAM 物件登錄機碼。

如需相關資訊,請造訪 https://support.microsoft.com/support/kb/articles/Q186/3/74.asp

如需「鎖定目標」稽核 SAM 的範例, 請參閱〈How to Identify the User Who Changed the Administrator Password〉一文, 網址為:https://support.microsoft.com/support/kb/articles/q173/9/39.asp  

回到頁首

效能監視

簡介

整份文件一直在論述監視 Windows NT 效能的主題。本文件只會探討重點提示的部分。

瞭解如何監視電腦效能可提供您數項優勢:

  • 容量規劃—決定必須購買多少硬體設備來因應目前及未來的需要。
  • 識別瓶頸—當伺服器不能提供服務時,經常是因為它耗盡了部分資源。
  • 識別「拒絕服務」攻擊的目標—這些攻擊一般會造成部分系統資源的短缺, 這一點可以用與所有其他效能瓶頸的相同方法加以識別。

設定基線

許多效能問題無法只靠盯著一個發生問題時所產生的效能監視記錄來識別,因為許多效能值會因安裝方式的不同而有很大的差異。 基於這個原因,強力建議您定期為伺服器設定基線。

以下是一些設定基線的提示:

  • 為長時段 (一至二星期) 設定長間隔基線 (15 分鐘或以上)。 這可讓您回頭來並查看,依每日時間及每週的天而變異的使用狀況模式。
  • 在您的基線裡包括所有計數器。您永遠不知道您將會作什麼比較。
  • 定期設定基線,若設定有變更,並重定基線。使用狀況模式依循環周期每小時及每天都會有所不同, 但使用狀況模式也會隨著時間而發生變更,針對設定所作的小變更有可能會對效能產生極大的影響。

重要的計數器

系統上四大瓶頸為:

  • CPU 負荷
  • 可用記憶體
  • 磁碟系統效能
  • 網路頻寬

當您在效能議題上初試身手時,您可能想看看下列計數器,來對電腦如何工作有個快速概觀:

  • Memory\Available Bytes— 若此計數器的值過低 (低於 4 MB),您可能就有記憶體瓶頸。
  • Memory\Pages/sec—若此計數器在指定間隔裡平均值超過 10,您可能就有記憶體瓶頸。
  • Memory\% Committed Bytes In Use— 若此計數器持續接近 100 %,您可能就有記憶體瓶頸。
  • Processor\% Processor Time—若此計數器持續接近 100 %,您可能就有 CPU 瓶頸。
  • Physical Disk\% Disk Time— 若此計數器持續超過 67 %,您可能就有磁碟瓶頸。
  • Physical Disk\Avg. Disk Queue Length— 若此計數器平均值超過 2,您可能就有磁碟瓶頸。
  • Network Segment\% Network Utilization— 若此計數器接近您使用的網路一般限制, 您可能有網路瓶頸 (乙太網路 = 35%,切換式乙太網路 = 85%,記號 = 75%)。

除了安全性相關原因之外的許多原因,都可能在這其中某個區域建立瓶頸。 不過,這些計數器是判斷系統一般健全狀態的極好起始點,應該可納入所有效能監視規劃中。

其他不錯的計數器

當基於安全性考量來監視效能時,一般而言,您會被動地進行監視—某些情況會發生 (如拒絕服務攻擊), 而您則會一直監視以找出哪些資源不足,或是哪個程序造成系統資源不足。

不過,如果要主動地監視,某些計數器可能就很有用:

  • NTDS/Kerberos 驗證及 NTDS/NTLM 驗證— 如果驗證要求比率突然上升 (且不是星期一早上), 則可能有某人試圖對您的網路進行密碼破解攻擊。請檢查事件日誌是否有大量驗證失敗。
  • NTDS/SAM Enumerations/sec— 若此計數器突然上升,可能有某人在掃描您的 SAM 準備進行密碼攻擊。
  • NTDS/KDC AS Requests— 此計數器突然上升可能表示有試圖闖入網路。
  • DNS/Total Query Received/sec— 此計數器突然上升 (僅限 DNS 伺服器) 可能意味著有人正試圖掃描您的 DNS 伺服器尋找主機加以攻擊。
  • DNS/Zone Transfer Request Received— 此計數器突然上升 (僅限 DNS 伺服器),可能意味著有人正試圖取得您網路的主機清單準備加以攻擊。

(NTDS 計數器僅能在 Windows 2000 網域控制站取得。)

針對不同的服務 (如 Microsoft Internet Information Server 及 Microsoft Exchange Server),還有其他計數器可用來主動產生關於安全性威脅的資訊。 選取計數器時要有創意。請嘗試下載駭客工具來試著攻擊測試系統,並觀察效能計數器中可能會有什麼樣的變化。

重點是,要確保基線效能記錄。突然的尖峰可能代表發生狀況,也可能沒有。您可能會發現每天或每星期的同一時間都出現這一尖峰而實際上用不著擔心。

Windows 2000 的效能記錄檔及警示

Windows 2000 已用兩個新的 Microsoft Management Console (MMC) 外掛程式來取代「效能監視器」應用程式:「系統監視器」可以顯示效能計數器的即時或記錄資料圖表;以及「效能記錄及警示」則用於產生效能記錄, 也可在某些可設定的情況發生時用於產生警示。

「效能記錄檔及警示」所產生的記錄遠比 Windows NT 4.0 型的記錄多變。 記錄可以是循環的或連續的,並且可以利用 SysMon 可讀取的二進位格式或文字格式來儲存,適於匯入資料庫或試算表。

從安全性立場看來,警示功能特別令人關注。當一部或一組指定的計數器超越了特定閾值時,就會引發特定的動作。 該動作可以是事件 (來源:SysMonLog,事件 ID:2031),或是啟動效能記錄或執行特定的命令。 如果命令是特定的,警示功能就可將相關該警示的資訊傳遞給命令。

詳細資訊

若需 Windows NT 及 Windows 2000 效能監視及調整的相關資訊,請參閱:

  • Microsoft® Windows® 2000 Resource Kit,Microsoft Press,2000
  • Microsoft® Windows NT® Workstation 4.0 Resource Kit,Microsoft Press,1996
  • Microsoft® Windows NT® 3.51 Resource Kit,Microsoft Press,1994

回到頁首

其他監視

特定元件的詳細記錄

Windows NT 及 Windows 2000 的許多元件包括其自己的記錄設備,與「事件日誌」是分開的。以下是支援此記錄類型的元件清單:

檢查過的組建

當撰寫新程式時,新增特殊指示來建立那些程式元件的詳細活動記錄,常常是很有用的。 這有助於疑難排解及加快開發速度。Microsoft 在開發 Windows NT 或 Windows 2000 的新元件常這樣做。 Microsoft 會呼叫此「檢查過的」程式碼。

因為這種記錄嚴重影響效能,故此程式碼在軟體的最後版本通常被停用。

不過,Microsoft 提供已檢查的 Windows 版本給開發人員,作為 Microsoft Developer Network (MSDN) 訂閱之一部分, 且「Microsoft 產品支援服務」偶爾會分送檢查過的程式碼給客戶以協助問題的疑難排解。

如果不是要進行問題的疑難排解時,切勿執行含有檢查過程式碼的產品系統。 以下是可在 Windows 取得的詳細記錄清單,常用於疑難排解。 如果您需要更多資訊或想要取得檢查過的程式碼,請連絡「Microsoft 產品支援服務」。

Checked NetLogon

〈Using the Checked Netlogon.dll to Track Account Lockouts〉一文, 網址為:https://support.microsoft.com/support/kb/articles/Q189/5/41.asp

Checked UserEnv

〈Debugging User Profiles and System Policies in Windows NT 4.0〉一文, 網址為:https://support.microsoft.com/support/kb/articles/Q154/1/20.asp  

回到頁首

監視公用程式

事件日誌管理

Microsoft 提供許多工具可協助事件日誌管理及分析:

  • Systems Management Server (SMS) 2.0。 將某些事件轉換為 SNMP 設陷,並報告給 SNMP 管理主控台及/或 SMS 設陷接聽程式,它會將之記錄在中央資料庫內。
  • Dumpel.exe。 Windows NT 4.0 及 Windows 2000 Resource Kit 裡的公用程式,可將事件由本機或遠端事件記錄傾印至以逗號分隔的文字檔,適於匯入另一個應用程式作分析。
  • Uptime.exe。 Microsoft 網站上的公用程式,可在系統上分析事件記錄,並提供有關該系統可用性的報告。
  • Elogdmp.exe。 Windows 2000 Resource Kit 裡的公用程式,可將整個事件記錄傾倒入以逗號分隔文字檔。
  • Cybersafe Log Analyst。 Windows 2000 Resource Kit 裡的公用程式,協助分析 Windows 2000 安全性事件日誌。
  • Seagate Software Crystal Reports。 Windows NT 4.0 及 Windows 2000 Resource Kit 裡的公用程式,可根據 Windows 2000 事件記錄內的資訊產生自訂報告。

稽核及稽核原則

Auditpol.exe。 來自 Windows 2000 Resource Kit 的公用程式,可讓系統管理員從命令列檢視或修改本機「稽核原則」。

效能監視

  • 系統監視器。 隨附於 Windows 2000 的 MMC 外掛程式,即時監視效能,或者收集或檢查效能記錄。
  • PerfMon4.exe。 PerfMon 的 Windows NT 4.0 版本,隨附於 Windows NT 4.0 及 Windows 2000 Resource Kit。
  • Setedit.exe。 PerfMon Chart Settings Editor,Windows 2000 Resource Kit 工具,允許圖表設定檔的建立,以便快速檢查效能計數器的標準設定。
  • Perfmtr.exe。 Windows 2000 Resource Kit 命令列效能監視工具。
  • Exctrlst.exe。 Windows 2000 Resource Kit 公用程式,可顯示關於目前安裝的可擴充效能計數器的資訊。
  • Diskperf.exe。 Windows NT 4.0 及 Windows 2000 公用程式,可啟用/停用磁碟效能計數器。

回到頁首

參考資料及相關連結

Microsoft TechNet 安全性網站: https://www.microsoft.com/taiwan/security/

〈Securing Microsoft Windows NT Installation〉一文,網址為:https://msdn.microsoft.com/library/en-us/dnsecure/html/msdn_secinst.asp

安全性事件描述: https://support.microsoft.com/support/kb/articles/q174/0/74.asp

信任系統交給 NSA 有關〈Windows NT Security Guidelines〉的報告: https://www.trustedsystems.com/tss_nsa_guide.htm

© 2000 Microsoft Corporation. All rights reserved.

本文件中所包含的資訊,代表 Microsoft Corporation 於發行日前針對該事件的觀點。因為 Microsoft 必須對瞬息萬變的市場狀況做出回應,所以不得解釋為 Microsoft 所做的承諾,且在發行日之後 Microsoft 不保證所提出的任何資訊的正確性。

本文件僅供參考。MICROSOFT 在本文件中不做任何明示或默示的保證。

Microsoft、Active Directory、JScript、Visual Basic、Windows 以及 Windows NT 皆為 Microsoft 在美國及/或其他國家的註冊商標或商標。

回到頁首