■ 河南 郭建偉
編者按: 企業(yè)部署不同的應(yīng)用系統(tǒng),都存在用戶管理的功能。針對(duì)不同的用戶和角色,可以查看到系統(tǒng)中不同的信息。因此,在規(guī)劃和創(chuàng)建應(yīng)用系統(tǒng)時(shí),對(duì)于不同用戶的權(quán)限以及允許查看的內(nèi)容必須嚴(yán)格加以限制。用戶在使用過程中,可能會(huì)有意或者無意的跨越邊界,試圖越權(quán)查看其他信息,就會(huì)遭到系統(tǒng)拒絕并被記錄下來。
在不同場(chǎng)景中,安全審計(jì)具有不同的標(biāo)準(zhǔn)。例如對(duì)于ISO 19011標(biāo)準(zhǔn)來說,系統(tǒng)所記錄下來的用戶訪問信息和狀態(tài)信息就是安全審計(jì)的證據(jù)。有了完整的記錄后,在審計(jì)時(shí)就會(huì)利用基本的安全策略對(duì)比所有記錄信息,來判斷用戶的操作是否合規(guī)。
對(duì)于安全審計(jì)來說,重點(diǎn)關(guān)注的就是不合規(guī)的信息。在所有版本的Windows系統(tǒng)中都提供了安全審計(jì)功能。例如Windows Server 2016安全審計(jì)功能必然包括記錄所有的訪問信息,使用合適的審計(jì)標(biāo)準(zhǔn)以及判斷用戶行為合規(guī)性等三個(gè)要素。
對(duì) 于Windows Server 2016來說,可以利用其安全審計(jì)策略來確定需要的記錄用戶活動(dòng)信息,并將記錄信息保存在事件日志中,管理員就會(huì)據(jù)此來判斷用戶行為的合規(guī)性。
例如在Windows Server 2016文件服務(wù)器中,要使用安全審核功能,可以使用多種方法來實(shí)現(xiàn)。例如在Power Shell窗口中執(zhí)行“auditpol /list /category/v”命令,顯示可選擇的策略元素,即用戶的哪些活動(dòng)會(huì)被記錄下來。執(zhí)行“auditpol/get /category:*?”命令,可以顯示更加詳細(xì)的安全策略內(nèi)容。通過查看以上信息,可以了解到究竟有哪些用戶的訪問行為會(huì)被記錄下來,作為安全審核的材料。
在默認(rèn)情況下,一些策略處于未啟用狀態(tài)。例如對(duì)于對(duì)象訪問類別來說,其中就包括對(duì)文件系統(tǒng)、注冊(cè)表、文件共享、證書服務(wù)、內(nèi)核對(duì)象、可移動(dòng)存儲(chǔ)等審核策略,該類別處于未啟用狀態(tài)。為此可以執(zhí)行“auditpol/set category:{xxx} /s u c c e s s:e n a b l e /failure:enable”命 令,即可啟用針對(duì)該類別的審計(jì)功能,記錄其中所有操作的成功或失敗的操作,其中的“xxx”表示該類別的GUID值。例如當(dāng)創(chuàng)建了一個(gè)共享目錄后,其行為會(huì)被記錄下來。執(zhí)行“eventvwr.msc”命令,在事件查看器選擇“Windows日志”→“安全”項(xiàng),就可以查找到對(duì)應(yīng)的記錄信息。
對(duì)于本地Administrators組來說,其中的用戶都擁有管理員權(quán)限,因此對(duì)本地安全組進(jìn)行安全審計(jì),就可以及時(shí)發(fā)現(xiàn)該組中成員的變動(dòng)情況。執(zhí)行“auditpol /set category:{xxx} /success:enable”命 令,即可啟用針對(duì)賬戶管理類別的審計(jì)功能,記錄其中所有操作的成功操作,其中的“xxx”表示該類別的GUID值。執(zhí)行“net localgroup administrators”命令,顯示當(dāng)前的本地管理員組中的成員信息。當(dāng)在其中添加新的成員后,在事件查看器中選擇“Windiws日志”→“安全”項(xiàng),點(diǎn)擊菜單“操作”→“篩選當(dāng)前日志”項(xiàng),在打開窗口中的“包括排除時(shí)間ID”欄中輸入“4732”,點(diǎn)擊確定按鈕,就可以將添加賬戶的信息過濾出來。如果篩選的ID為“4799”,就會(huì)將查詢管理員組的操作信息顯示出來。
使用命令行工具來管理審核功能,存在一些不足,例如操作起來較繁瑣,只能針對(duì)主要的類別啟用審核策略,無法直接對(duì)具體的子類別單獨(dú)配置審核策略等,如果存在很多服務(wù)器,只能逐臺(tái)進(jìn)行配置等。
利用本地組策略和域的策略可以很好地解決這些問題。執(zhí)行“gpedit.msc”命令,在組策略編輯器中選擇“計(jì)算機(jī)配置”→“Windiws設(shè)置”→“安全設(shè)置”→“本地策略”項(xiàng),在右側(cè)顯示所有的審核策略。例如雙擊“審核賬戶管理”項(xiàng),在屬性窗口中選擇“成功”和“失敗”項(xiàng),就啟用了該審核策略。
之后所有和賬戶管理相關(guān)的操作都會(huì)被系統(tǒng)記錄下來。如果僅僅想針對(duì)具體的子類來設(shè)置審核策略,例如單獨(dú)設(shè)置賬戶管理類別中的安全組管理子類進(jìn)行操作,可以在左側(cè)選擇“計(jì)算機(jī)配置”→“Windiws設(shè)置”→“安全設(shè)置”→“高級(jí)審核策略配置”→“系統(tǒng)審核策略”項(xiàng),在其下顯示不同的審核類別。選擇對(duì)應(yīng)的類別,在右側(cè)顯示其中包含的所有子類別。例如選擇“賬戶管理”項(xiàng),在右側(cè)雙擊“審核安全組管理”項(xiàng),在打開窗口中選擇“配置以下審核事件”項(xiàng),選擇“成功”或“失敗”項(xiàng),激活針對(duì)該子類別的審核功能。
選擇“本地策略”→“安全選項(xiàng)”項(xiàng),在右側(cè)雙擊“審核:強(qiáng)制審核策略子類別設(shè)置替代審核策略類別設(shè)置”項(xiàng),在屬性窗口中選擇“已啟用”項(xiàng),那么僅僅會(huì)激活高級(jí)審核策略。當(dāng)然,這需要在Windows Server 2008 R2及其以上版本的支持方可。為了針對(duì)不同的用戶進(jìn)行審核,也可以利用組策略實(shí)現(xiàn)。例如在高級(jí)審核策略分支下選擇“對(duì)象訪問”項(xiàng),在右側(cè)雙擊“審核文件系統(tǒng)”項(xiàng),激活該審核項(xiàng)目。之后在目標(biāo)文件或目錄的屬性窗口中的“安全”面板中點(diǎn)擊“高級(jí)”按鈕,在打開窗口中的“審核”面板中點(diǎn)擊“添加”按鈕,添加目標(biāo)賬戶。在“基本權(quán)限”欄中為其指定審核項(xiàng)目,包括完全控制、修改、讀取和執(zhí)行、列出文件夾內(nèi)容、讀取、寫入等項(xiàng)目。當(dāng)該用戶針對(duì)文件執(zhí)行具體操作時(shí),其行為就會(huì)被系統(tǒng)記錄下來。這樣可以針對(duì)不同用戶分別進(jìn)行審核。對(duì)于擁有指定權(quán)限的用戶,記錄的是成功的事件。對(duì)于沒有權(quán)限的用戶操作,則是失敗的操作。
使用系統(tǒng)自帶的審核機(jī)制,可以快速發(fā)現(xiàn)潛伏很深的惡意程序。這里以監(jiān)控“C:Windowssystem32”系統(tǒng)文件夾中的“drivers”子文件夾為例進(jìn)行說明。
在Windows的“文件夾選項(xiàng)”窗口的“查看”面板中取消“使用簡單文件共享”項(xiàng),在開始運(yùn)行中執(zhí)行“gpedit.msc”命令,在組策略窗口左側(cè)依次展開“計(jì)算機(jī)配置”→“Windows設(shè)置”→“安全設(shè)置”→“本地策略”→“審核策略”分支,在右側(cè)窗口中雙擊“審核對(duì)象訪問”項(xiàng),在彈出窗口中勾選“成功”和“失敗”項(xiàng),保存配置。
在“Drivers”文件夾的屬性窗口中打開“安全”面板,點(diǎn)擊右下角的“高級(jí)”按鈕,在彈出窗口“審核”面板中點(diǎn)擊“添加”按鈕,在賬戶搜索窗口中選中“Everyone”用戶,在審核項(xiàng)目窗口中的“訪問列表”中的“遍歷文件夾/運(yùn)行文件”欄中勾選“成功”和“失敗”項(xiàng)。
當(dāng)然,也可以選擇其他審計(jì)項(xiàng)目。這樣,對(duì)“Drivers”文件夾的操作就會(huì)被系統(tǒng)列入審核的范圍內(nèi)。
之后可以隨時(shí)打開Windows事件查看器,在窗口左側(cè)選擇“安全性”項(xiàng),點(diǎn)擊菜單“查看”→“篩選”項(xiàng),在彈出窗口中僅僅勾選“成功審核”和“失敗審核”項(xiàng),這樣就大大縮小了搜索范圍。如果發(fā)現(xiàn)有用戶對(duì)“Drivers”文件夾進(jìn)行了訪問,就說明有可疑程序?qū)ο到y(tǒng)驅(qū)動(dòng)程序進(jìn)行了改動(dòng)。之后使用安全軟件對(duì)系統(tǒng)進(jìn)行徹底掃描,來清除深度潛伏的害群之馬。
利用審核策略可以有效控制程序的運(yùn)行,例如禁止運(yùn)行一些具有潛在風(fēng)險(xiǎn)的程序等。只要開啟關(guān)于目標(biāo)程序的審核策略,系統(tǒng)的事件查看器就會(huì)自動(dòng)記錄針對(duì)該程序的審核事件。
審核事件是可以關(guān)聯(lián)到計(jì)劃任務(wù)的,利用這一原理,就可以在啟動(dòng)該程序時(shí)自動(dòng)將其關(guān)閉。在組策略窗口左側(cè)選擇“計(jì)算機(jī)配置”→“Windows設(shè)置”→“安全設(shè)置”→“本地策略”→“審核策略”項(xiàng),在窗口右側(cè)雙擊“審核對(duì)象訪問”項(xiàng),在彈出窗口中的“審核這些操作”欄中選擇“成功”和“失敗”項(xiàng),開啟本審核策略。之后進(jìn)入目標(biāo)程序安裝路徑,選擇“xxx.exe”文件,在右鍵菜單中點(diǎn)擊“屬性”項(xiàng),在彈出窗口中的“安全”面板中點(diǎn)擊“高級(jí)”按鈕,在高級(jí)安全設(shè)置窗口的“審核”面板中點(diǎn)擊“編輯”,在彈出窗口中點(diǎn)擊“添加”,在選擇用戶或組窗口中點(diǎn)擊“高級(jí)”按鈕,之后點(diǎn)擊“立即查找”按鈕,可以顯示系統(tǒng)中的所有賬戶和組信息。
選擇合適的賬戶名添加到審核列表中。隨后自動(dòng)打開的審核項(xiàng)目窗口,在其中可以針對(duì)該賬戶設(shè)置所需的審核項(xiàng)目。為了全面掌握目標(biāo)程序的活動(dòng)情況,選擇“成功”和“失敗”列中的所有項(xiàng)目。之后連續(xù)點(diǎn)擊確定按鈕,就完成針對(duì)特定賬戶使用該程序的審核操作設(shè)置。
當(dāng)指定賬戶試圖啟動(dòng)該目標(biāo)程序時(shí),就會(huì)觸發(fā)上述設(shè)置的審核項(xiàng)目,系統(tǒng)的事件查看器會(huì)在后臺(tái)自動(dòng)記錄對(duì)應(yīng)的審核事件。進(jìn)入事件查看器窗口。在窗口左側(cè)點(diǎn)擊“Windows日志”→“安全”項(xiàng),顯示所有的安全日志信息??梢允謩?dòng)查找和該程序相關(guān)的記錄項(xiàng)。如果事件記錄過多,可以在窗口右側(cè)點(diǎn)擊“查找”項(xiàng),在搜索欄中輸入“xxx.exe”,可以迅速定位到所需的日志項(xiàng)目。可以看到,在本例中事件代號(hào)為4907的日志項(xiàng)記錄著關(guān)于該程序的安全審核數(shù)據(jù)。
掌握了對(duì)應(yīng)的事件ID,就可結(jié)合計(jì)劃任務(wù)進(jìn)行攔截。在事件查看器窗口選擇事件ID為4907的記錄項(xiàng),右擊“將任務(wù)附加到此事件”項(xiàng),彈出計(jì)劃任務(wù)創(chuàng)建向?qū)Ы缑妫斎肴蝿?wù)名稱和描述信息,依次點(diǎn)擊“下一步”,在“希望該任務(wù)執(zhí)行什么操作”中選擇“啟動(dòng)程序”→“瀏覽”按鈕,選擇系統(tǒng)目錄中的“taskkill.exe”程序,例如具體路徑為“c:windowssystem32 askkill.exe”。在“添加參數(shù)”欄中輸入“/im thunder.exe /f”。其中“im”參數(shù)指明需要關(guān)閉的進(jìn)程名,“/f”參數(shù)表示執(zhí)行強(qiáng)制關(guān)閉動(dòng)作。連續(xù)點(diǎn)擊“下一步”,完成本計(jì)劃任務(wù)的創(chuàng)建操作。
在控制面板中打開“系統(tǒng)和安全”→“計(jì)劃任務(wù)”項(xiàng),在計(jì)劃任務(wù)窗口左側(cè)點(diǎn)擊“任務(wù)計(jì)劃程序庫”→“事件查看器任務(wù)”項(xiàng),在窗口中部就會(huì)顯示上述創(chuàng)建的計(jì)劃任務(wù)項(xiàng)目。為提高其運(yùn)行隱蔽性,可以雙擊該任務(wù)項(xiàng)目,在屬性窗口中的“常規(guī)”面板中勾選“使用最高權(quán)限運(yùn)行”和“隱藏”項(xiàng)。這樣不僅可以讓計(jì)劃任務(wù)在運(yùn)行時(shí)避開UAC的管控,而且可以在后臺(tái)悄然運(yùn)行。
之后,當(dāng)選定賬戶啟動(dòng)成功該程序后,會(huì)觸發(fā)預(yù)設(shè)的審核項(xiàng)目,審核成功后系統(tǒng)會(huì)自動(dòng)在事件查看器中記錄該安全日志信息,同時(shí)會(huì)觸發(fā)與之綁定的計(jì)劃任務(wù)項(xiàng)目。這樣,該計(jì)劃任務(wù)就會(huì)自動(dòng)在后臺(tái)運(yùn)行“c:windowssystem32 askkill.exe /im thunder.exe /f”程序,會(huì)將啟動(dòng)的目標(biāo)程序強(qiáng)制關(guān)閉。因?yàn)樵撨^程實(shí)際上是以SYSTEM賬戶身份執(zhí)行,不受系統(tǒng)UAC的攔截。如果需要正常運(yùn)行該程序,只需將與事件ID為4907的記錄項(xiàng)綁定的計(jì)劃任務(wù)刪除,就可自由運(yùn)行了。根據(jù)以上原理,可以毫不費(fèi)力的攔截所需的所有程序,讓程序運(yùn)行特權(quán)處于您的掌控之中。
如果希望對(duì)多臺(tái)主機(jī)批量的設(shè)置審核機(jī)制,可以通過域的組策略來完成相關(guān)的配置。以域管理員身份登錄DC,在組策略管理器左側(cè)選擇“林”→“域”→“域名”分支下的具體的OU對(duì)象,在其右鍵菜單上選擇“在這個(gè)域中創(chuàng)建GPO并在此處鏈接”項(xiàng),輸入GPO的名稱,創(chuàng)建新的組策略對(duì)象。打開該GPO的編輯窗口,在左側(cè)選擇“策略”→“Windiws設(shè)置”→“安全設(shè)置”→“本地策略”項(xiàng),之后按照上述防腐來設(shè)置合適的審核策略。這樣,在該OU中的所有主機(jī)都會(huì)應(yīng)用設(shè)定的審核策略。