系统安全运维 Server 2008 R2 事件查看器实现日志分析
<系統安全運維> ?Server 2008 R2 事件查看器實現日志分析?
在 windows server 2008 R2 中,可以通過點擊 "開始" -> "管理工具" -> "事件查看器" ,來打開并查看各種類型的系統內置日志記錄;讓我們來做一個實際練習:使用事件查看器檢查各種帳戶的登錄事件,包括系統內置的特殊帳戶,以及大家熟悉的 administrator 管理員帳戶。
一般而言,在啟動服務器后,一個叫做 winlogon.exe 的進程會先以?
NT AUTHORITY\SYSTEM?(帳戶域\帳戶權限)登錄,然后進入要求用戶鍵入 ctrl + alt + del 并輸入帳密的登錄界面,此時,winlogon.exe?檢查并驗證用戶的輸入,通常的做法是將用戶鍵入的密碼以某種哈希算法生成密文,將其與 SAM 數據庫文件中的密文進行比對,如果一致則該賬戶通過驗證并登錄,然后賦予相應的權限。
所有這些過程都會被記錄進系統內置的"安全"類型日志,可以通過事件查看器瀏覽;
除了 winlogon.exe 進程外,其它一些系統進程也會在用戶登錄前,使用特殊帳戶先行登錄。這些登錄事件同樣可以在事件查看器中一覽無遺,
(例如,一個叫做 services.exe 的系統服務進程,使用 NT AUTHORITY\SYSTEM (帳戶域\帳戶權限)登錄,然后它會創建數個 svchost.exe 子進程,而每個?svchost.exe 進程都會啟動并納宿一些基本的 windows 服務,而許多用戶空間的應用程序將使用這些服務,實現它們的功能)
下面結合圖片講解事件查看器在這兩個場景中的應用:
一,首先按照上述步驟打開事件查看器,在左側窗口中展開 "Windows 日志"節點,選取"安全"項目,此時在中間的窗口會列出自系統安裝以來,記錄的所有安全事件,假設我們要查看最近 24 小時以內的帳戶登錄與驗證,審核,權力指派等事件,可以在"安全"項目上右擊鼠標,在彈出的上下文菜單中選擇"篩選當前日志(L)"
二,在打開的對話框中,切換到"篩選器"標簽,在"記錄時間(G)"右側的下拉列表中,選擇"近 24 小時",然后點擊下方的確定按鈕
三,顯示出篩選的結果,下面這張圖顯示了在 24 小時內紀錄的 73 項安全事件(Microsoft Windows 安全審核是準確的稱呼),你可以按照日期與時間列排序事件,或者按照事件ID,任務類別(我覺得翻譯成事件類別會比較好理解)來排序時間,
我們關注的是"登錄"與"特殊登錄"事件,因此需要選擇以任務類別排序.
下圖中沒有按照任務類別排序,而是默認按照日期與時間排序,其優點是,可以追蹤在系統啟動過程中,哪個系統進程使用哪個系統內置帳戶登錄,并且可以直觀地看出它們之間的先后次序.
通過上面的分析,你是否已經直觀地感受到事件查看器的強大功能?
下面讓我們再看另一個例子:使用事件查看器瀏覽,因遠程過程調用(RPC)服務啟動失敗,導致我們無法以管理員登錄 windows server 2008 R2 的事件記錄.
先糾正一個普遍存在的錯誤理解;
RPC 監聽在本地環回(127.0.0.1)地址的 135 端口,出于安全考慮,很多人會將這個端口關閉,以阻止蠕蟲病毒與***者***,但是我們會發現這個地址上的 135 端口始終關不掉而因此憂心忡忡;
其實,127.0.0.1:135 是必須的,如果該端口不打開,則說明 RPC 服務沒有啟動,從而導致很多依賴 RPC 的其它系統服務無法啟動,
再說,除非你手動通過 services.msc 服務管理器來禁用它,否則通過其它手段是很難關閉的(包括修改注冊表鍵值),
我們真正應該關閉并警惕的,是那些監聽在非本地環回的 135 端口,例如 192.168.0.1:135 ,因為這個地址是可以與遠程主機的地址通信的,***者可以掃描監聽在這個地址端口上的程序漏洞,并遠程執行惡意代碼(通過 Metasploit 即可辦到),從而***我們的服務器.
如果關不掉,也可以使用 windows 高級防火墻來禁止該地址端口上的出入站流量.
總之,本地環回的 135 端口是必須打開的,這并非是惡意軟件,***程序開放的端口,否則你連 windows 桌面都無法登錄.
如果無法登錄 windows server 2008 R2 服務器的桌面,并且系統提示 RPC 服務啟動失敗,無法讀取用戶 profile ,那么可以進入安全模式,運行?services.msc?,找到其中的?Remote Procedure Call (RPC) 以及?RPC Endpoint Mapper(RpcEptMapper)?,將這兩個服務設置為自動啟動,然后運行 msconfig ,
在"服務"標簽中,確保勾選了?RPC Endpoint Mapper ,點確定后重啟系統,以正常模式進入,應該就能用管理員賬戶登錄了.
下圖給出了一個事件查看器中的一項 RPC 服務啟動失敗信息:
為了深入理解RPC-EPMAP(即RPC Endpoint Mapper,下文簡稱RPC端點映射)使用的135端口,以及RPCSS(遠程過程調用,下文簡稱RPC)使用的動態端口,考慮下面的例子:
現在有2臺windows server 2008 R2 服務器A與B,A的IP為192.168.5.1;B的IP為192.168.5.2,A要“遠程管理”B上的windows高級安全防火墻,就需要在兩臺計算機上都啟用RPC-EPMAP與RPC服務,首先在B的命令行輸入:
netsh?advfirewall?set?currentprofile?settings?remotemanagement?enable這等同于將該服務器上的高級安全windows防火墻中,針對當前活動的配置文件(專用/公用/域)的入站策略的預定義規則中的 “windows防火墻遠程管理(RPC)”以及“windows防火墻遠程管理(RPC-EPMAP)”這2條規則啟用,查看B的高級安全防火墻,發現RPC-EPMAP的本地端口為終結點映射器,實際上就是TCP的135端口(后面截圖會驗證);RPC的本地端口為動態端口:
然后在A計算機上,通過MMC去遠程連接B(192.168.5.2)的高級安全防火墻:
?
仔細檢視上面2張圖,它驗證了前面我們討論的關于RPC使用的端口的內容;如果在services.msc 中,將B上的RPC-EPMAP 服務停止或禁用,(如果無法禁用,根據netstat -ano 列出的B上打開TCP 135端口的PID,就可以在任務管理器中找到啟動RPC-EPMAP 服務的svchost.exe進程,將其殺掉,TCP 135端口就關閉了)
此時我們就無法在A上遠程管理B上的高級安全防火墻。由此可知,RPC-EPMAP是很重要的基礎系統服務,不僅遠程管理防火墻和RPC動態端口服務依賴于它,一堆系統服務也構建在它之上。
下面是services.msc中關于該服務的解釋:
解析RPC接口標識符以傳輸端點,如果此服務被停止或禁用(實質上就是關閉了本地環回或0.0.0.0上的TCP135端口),使用遠程過程調用(RPC)服務的 程序將無法正常運行。
綜上所述,在服務器上,我們應該通過正確的配置防火墻策略來在出入站方向限制對本地打開的TCP 135端口發起的連接,而不是盲目的將其關閉,作為生產服務器關閉該端口的后果是很嚴重的。
**********************
關于日志存儲與清除的一般性原則
如果你任職的企業組織對于系統日志的存儲要求比較嚴格,例如,每一種類型的操作都要記錄下來并持續保留一段時間,那么就要制訂好日志的存儲與清除策略.
在事件查看器左側的日志樹中,只有"windows 日志"以及"應用程序和服務日志"這兩個節點下的日志,可以自定義日志文件大小與存儲路徑;
在"自定義視圖"節點下的所有日志都無法調整大小與改變路徑,這是因為,自定義視圖日志僅僅是根據用戶創建的過濾規則,然后在前述兩個日志樹中查找匹配的日志條目并匯總在一起顯示,并沒有創建這些篩選出來的日志副本,只能通過原始日志修改.
作為服務器操作系統,windows server 2008 R2 明顯考慮到了企業組織對于日志"備案"的需求,因此當管理員因試圖清除某個系統日志文件中的內容時,會給出明顯的提示要求用戶首先備份該日志,也就是將其副本另行存儲,假設日后公司出現信息安全突發事件,這些備案的日志將會是追查取證的強有力工具.
*******************************
事件查看器還支持將自定義的任務"附加"到事件,舉例來說,特定事件發生時,在桌面彈出信息提示框,或者運行指定的程序腳本(支持 VBScript),或者向用戶發郵件等等.
讓我們來看一個例子:
Software Protection 服務與?SPP Notification Service 服務是微軟用來定期檢查用戶的 windows 產品許可證是否以過期,激活是否有效的兩個"軟件保護服務",
一般而言,MSDN 下載的 windows server 2008 R2 有一個免費的"評估期限",為180天,過后需要用戶購買許可證來激活 windows ,當然,加上最多五次,每次10天的寬容期,最長可免費使用 230 天,試用期內所有功能不受限制.
盡管在評估期過后,我們可以通過 services.msc 服務管理器來手動禁止該服務運行,并且通過 msconfig 禁止它在系統啟動時運行,但是這兩種辦法的效果都不太理想: 在內核代碼的邏輯層面,系統可以"隨時"啟動這兩個服務,檢查我們的授權狀態,
系統運行這兩個服務的時候,會被記錄并且可以在事件查看器中瀏覽,
但是注意,這兩個服務沒有"任務類別"的概念,而且屬于"應用程序"日志節點,因此需要通過"來源"為 Security-SPP,級別為"信息"的多種過濾手段來篩選,如下圖所示:
下面是過濾出來的一條 Secyrity-SPP 服務正在啟動的記錄,該事件的 ID 為 900,我們需要對該事件附加任務,注意,不要對?Secyrity-SPP 服務后續的事件,如"完成授權檢查狀態(ID 1003)","軟件保護服務已啟動(ID 902)"附加事件,因為這個時候你再來改系統時間,重置寬限期就為時已晚,需要在它啟動的時候變更才有效.
單擊上面第一張圖右側的"將任務附加到此事件",就會打開一個創建基本任務的向導,你可以設置當事件被記錄時(即 Secyrity-SPP 服務運行時)的操作: 運行其它應用程序或腳本;發送電子郵件,向用戶顯示桌面消息等3個選項.
這里我自定義了一串提示信息,提醒我當 windows 檢查我的許可證時,立刻運行激活工具重新激活(我的 230 天評估期已到;當然你也可以重裝系統....),因為我的激活工具即便在評估到期后依然可以激活,所以這里選擇發送提醒消息,如果你是通過重置5天寬限期,或者更改時間的辦法,可能就需要將"操作"選擇為"啟動程序",然后定位到你的重置腳本或改時間腳本,才能繞過驗證.
注意,事件查看器實際上是借助 windows 任務計劃程序來支持"將任務附加到此事件"功能的,也就是說,經過上圖的向導設置后,還需要在管理工具中打開任務計劃程序,點擊左側的"事件查看器任務"節點,然后中間窗口會列出我們剛才附加的任務,在其上右擊,選擇"啟動".作為測試,你可以手動運行 Security-SPP 服務,就會看到上面的小提示對話框,說明成功將自定義任務附加到事件!
以上例子僅是拋磚引玉,你可以附加任何任務到任何能夠記錄的事件,例如某個重要的系統目錄被訪問,讀取時,設置特殊權限;以及遠程登錄嘗試頻繁失敗時,鎖定賬戶...只有想不到,沒有做不到,后續會介紹一些對比較敏感的安全事件執行特定任務響應的例子.
轉載于:https://blog.51cto.com/shayi1983/1598662
總結
以上是生活随笔為你收集整理的系统安全运维 Server 2008 R2 事件查看器实现日志分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redhat制作本地光盘yum源
- 下一篇: PSI 表结构