Windows Server 2008用戶權限管理
幾十年來,大型機和服務器一直使用“超級用戶”和“用戶”這種用戶控制方案。這種方案存在一個明顯的安全問題:它需要防止普通用戶獲取非法訪問權限。
在DOS電腦以及隨后的Windows操作系統中,訪問控制模式更加復雜。早期的Windows操作系統不能在同一臺機器上設置不同的用戶權限;所有的行動都需要超級用戶執行。但是,Windows NT系統最終定義了管理員角色和用戶角色,盡管在實際情況中大多數用戶還是需要超級用戶的訪問權限來執行他們平時的操作。
今天,許多企業的業務模式都要求大范圍(地理位置上的)的聯合操作,Windows NT中簡單的特權/非特權用戶管理功能已經不夠用了。意識到這一趨勢之后,微軟在2009年開發了Windows Server 2008,該系統具有以多級權限屬性系統為基礎的多層次管理模式。該模式可以限制標準用戶,讓他們只能用非特權的形式運行應用程序軟件,只留給他們操作所需要的最小管理權限,從而改進了微軟Windows的安全性。比如,服務臺用戶只能改變其他用戶的密碼。通過這種方式,大型企業中的用戶管理權限可以受到限制,操作中的超級用戶數量減少。在本文中,我們將討論一下如何使用Windows Server 2008對權限分配進行控制。
域上的權限管理
在Windows Server 2008環境中,有兩種政策:活動目錄(AD)全局域政策以及本地服務器安全帳戶管理器(SAM)注冊表政策。AD利用它的目錄架構來控制任何給定Windows服務器域(支持通用安全政策的一組服務器)的組權限。這使得AD可以對域中的所有用戶帳戶執行公共帳戶權限管理。
當有新的Windows服務器添加進來時,他們會連接到活動目錄,活動目錄會檢查所有的組政策對象(Group Policy Objects,GPO)——用戶能夠執行的應用程序和服務——并把這些權限鏈接到該目錄下的Active Directory Users and Computers(活動目錄用戶和計算機)分支中的域根用戶。然后AD把這些定義的、默認的權限傳遞到新服務器上,開始管理其用戶。AD目錄下的組織單元(Organization Unit,OU)分支也可以定義,人們可以用OU為計算機創建本地帳戶政策。比如,服務臺OU可以定義一系列全局政策,幫助服務臺人員執行具有公共權限的活動。
Windows Server 2008的活動目錄還引進了一個新的功能,叫做多元密碼政策(Fine-Grained Password Policy),其中包括一個鎖定政策。有了這個新功能后,公司可以在同一個域中對不同的用戶使用不同的密碼和鎖定政策。這個功能出現之前,整個域中只有一個政策。為了充分利用這個功能,活動目錄管理員必須創建一個新的對象,名為密碼設置對象(Password Settings Object,PSO)。他或她可以在PSO中設定同樣的密碼最長期限、復雜度要求、鎖定閾值,等等。然后,PSO會連接到一個活動目錄組:組的范圍為全局(Global)(不是本地(Local或者通用(Univeral)),組的類型為安全(Security)(不是分布(Distribution))。所有的組成員都會繼承鏈接到該組的PSO中定義的密碼和鎖定政策。
本地多級控制
域上的全局政策配置完成以后,人們就可以在單獨的Windows Server 2008系統中通過用戶權利分配(User Rights Assignment,URA)功能定義本地權限。用戶權利能夠控制用戶在計算機上執行哪些任務。這些權利包括登錄權限和特權。登錄權限控制哪些人有權登錄到計算機上,以及他們如何登錄:通過網絡還是本地,作為批處理工作還是作為服務登錄。特權則控制計算機和域資源的訪問,并可以覆蓋特定對象上設定的權限,比如備份文件和目錄、創建全局對象、調試程序等等。這些特權由系統URA對象下的組政策(Group Policy)進行管理,而且兩種用戶權利都是由管理員分配到組或者單獨用戶,作為系統安全設置的一部分。請注意,管理員應該盡可能地通過分組來管理本地權利,確保與企業政策的一致性以及最小化單獨系統中權限管理的困難程度。
為了訪問本地URA對象,添加、刪除或者修改權限,管理員必須在Windows Server 2008中用Windows控制面板打開本地安全設置(Local Security Settings)。他或她可以在左邊看見一個樹狀目錄。點擊本地政策(Local Policies),然后選擇用戶權利分配(User Rights Assignment),就能夠編輯所有的39個登錄權利和權限了。
確保適當的權限
Windows Server 2008中有九個審計政策,分成兩個子類,它們可以確保Windows管理員正確設置用戶權限。安全團隊可以在計算機中打開本地安全政策(Local Security Policy)控制臺,進入Security Settings\Local Policies\Audit Policy目錄,查看系統審計政策設置。下文簡要地描述了每個政策,以及它們的用法:
審計帳戶登錄事件——跟蹤所有試圖用域用戶帳戶登錄的活動,不管這種嘗試源自何處。開啟這項政策以后,工作站或者成員服務器會記錄所有使用計算機SAM中存儲的本地帳戶的登錄嘗試。
審計帳戶管理——用來監視用戶帳戶和組的變化,對管理員和服務臺工作人員的審計活動有參考價值。該政策記錄密碼重置、新創建的帳戶以及組成員和Active Directory控制器的變化。該政策還記錄域用戶、域分組以及計算機帳戶的變化。
審計目錄服務訪問——提供Active Directory中對象變化的低級別審計跟蹤。該政策跟蹤的活動與審計帳戶管理事件中跟蹤的相同,但是級別低很多。使用這個政策可以識別用戶帳戶的哪些領域或者任何其他Active Directory對象被訪問過。審計帳戶管理事件可以提供更好的用戶帳戶和組的監視維護信息,但是審計目錄服務訪問是跟蹤OU和GPO變化的唯一途徑,這對于變化控制來說很重要。
審計登錄事件——記錄本地計算機上的登錄嘗試,無論使用域帳戶還是本地帳戶登錄。在Active Directory域控制器中,該政策只記錄訪問域控制器的嘗試。
審計對象訪問——處理Active Directory之外所有對象的訪問審計。該政策可以用來審計任何類型的Windows對象訪問,包括注冊表鍵值、打印機、以及服務。(注意:如果服務器的對象太多,該政策可能會大大影響該服務器的性能。)
審計政策變化——提供本地系統中重要安全政策的變化通知,比如系統審計政策的變化;當本地系統是一個Active Directory域控制器時,該政策會提供信任關系的變化。
審計權限使用---跟蹤Security Settings\Local Policies\User Right Assignment目錄下本地安全政策(Local Security Policy)的用戶權利活動
審計過程跟蹤——跟蹤每一個被執行的程序,不管該程序是由系統還是最終用戶執行的。它還可以決定程序運行的時間。結合該政策,加上審計登錄事件和審計對象訪問事件,以及在這些不同的事件描述中使用Logon ID, Process ID 和Handle ID等,我們就可以詳細地描繪出用戶活動了。
審計系統事件——與安全相關的系統事件綜合,包括系統啟動和關閉。Windows的安全基礎設施是模塊化設計,可以利用微軟和第三方供應商提供的新型、插件安全功能。這些插件可以是認證軟件包、合法登錄進程或者通知軟件包。因為這些插件是值得信賴的擴展操作系統的代碼模塊,Windows加載每個插件時都會做記錄,使用從這個分類中的事件。(注意:不推薦在這個層面上管理審計政策,因為這樣會產生很多噪聲,應該使用子類型。)
即使有些用戶偶爾得到了不必要的權限,這些政策也可以讓公司的安全人員核實這些用戶是否利用管理權限做傷害公司的事情,不管是有意的還是無意的。企業應該盡可能多的啟用這些審計政策,但是請記住,加載所有的政策可能會影響Windows系統的性能。
當啟用這些政策時,企業有多種選擇:可以讓它們產生成功事件,失敗事件或者兩者都產生,這取決于公司政策。所有九個審計政策都可以產生成功事件,某些政策可以產生失敗事件,作為一種最佳實踐,企業不該忽略成功事件(會產生大量的安全日志)而只開啟失敗事件。一個常見的誤解是:只有失敗事件審計政策才能警告安全團隊注意所有的可疑活動。實際上,安全日志中許多最重要的事件是成功事件,比如關鍵用戶帳戶和組的變化、帳戶鎖定的變化,以及安全設置的變化等等。
總結
隨著Windows Server 2008的發布,微軟最終提供了權限管理功能,能夠創建復雜的用戶權限分組,卻不需要復雜的管理技術。但是復雜的權限分組可能會引起權限的錯誤配置,不能識別某個人的錯誤。所以,了解與該功能相關的審計服務同樣重要。
歸功于適當的考慮和規劃,Windows Server 2008最終賦予企業期待已久的功能:成功地匹配了用戶的能力和權限。這不僅滿足業務需求和信任要求,而且驗證了他們的方法是正確的。
【編輯推薦】