Windows Server 2016提供的功能很多,但實際上許多進階且強大的安全性功能只會應用在某些特殊的需求,因此防守好資訊安全的基本面,才是保護IT運作環境的上上策。以下就一同來探討學習Windows網路架構中除了防火牆、防毒以及更新管理外的另一項基礎安全管理:密碼與加密管理。
讓不同的使用者套用各自的密碼原則
由於在群組原則管理中的密碼原則設定,只能被套用在相對網域內的所有使用者帳戶,而無法針對個別的組織單位(OU)、用戶群組或用戶帳號來套用,因此過去以來經常造成許多IT管理員的困擾。為了解決這項問題,Microsoft打從Windows Server 2008版本開始,便推出Password Settings Container管理功能,讓管理員能夠建立不同的密碼配置物件(PSO)來選擇套用在不同的用戶群組或使用者,而且套用之後會立即生效,用戶端無須重新啟動電腦,或是執行「gpupdate /force」命令。
不過,在Windows Server 2008版本時期,僅能透過ADSIEdit來管理密碼配置物件,在套用密碼配置物件時又得回到「Active Directory使用者和電腦」介面來操作,使用起來可以說是相當不方便。
為此,Windows Server 2012/R2提供了可直接在「Active Directory管理中心」介面中來完成這兩項操作的改善措施。在本機節點中,點選至「System」→「Password Setting Container」,然後新增密碼配置物件,並設定所要套用的對象即可。
當需要建立多個PSO來套用在不同的對象,且希望每一個即將被套用的對象可以有些許設定上的差異時,建議透過建立PowerShell Script來完成。
舉例說明,先建立好新PSO的變數,再逐一設定後續每一個新PSO的共同設定值,接著執行「New-ADFineGrainedPasswordPolicy」來建立其他新的PSO,例如PSO03、PSO04,便可以透過「-Instance」參數來指定這個共同的PSO變數,然後再來設定它們各自所需的不同參數設定,例如描述(Description)、密碼最短使用期限(MaxPasswordAge)等等:
對於所建立過的PSO,如果想要查詢各項設定,只要如圖3所示執行「Get-ADFineGrainedPasswordPolicy PSO1」命令即可,其中PSO1便是所建立的PSO名稱。
|
▲圖3 查詢選定的密碼原則屬性。 |
至於如何將建立好的PSO套用在指定使用者或群組呢?方法很簡單!假設想要將PSO03套用在IT群組,則執行「Add-ADFineGrainedPasswordPolicySubject PSO03 -Subjects IT」命令。
相反地,如果需要將PSO03從IT群組中移除,執行「Remove-ADFineGrainedPasswordPolicySubject PSO03 -Subjects IT」命令即可。
如何變更本機帳戶密碼
對於那些沒有加入Active Directory的Windows Server而言,管理上雖然有一些不便之處,但若從另一個角度來看,卻反而能增添一些安全性,畢竟一旦網域管理員的帳號密碼外洩,可能使得網域中的所有成員伺服器全部淪陷。因此,建議針對這些獨立運作的Windows Server設定有別於網域管理員的帳號名稱以及密碼,且每一部獨立的伺服器皆設定不同。
想要修改本機使用者帳戶的密碼,先到「電腦管理」介面中並點選至「本機使用者和群組」節點,便可以針對所選取的帳戶按一下滑鼠右鍵,開啟快速選單來點選【設定密碼】。
無論是針對單一使用者的詳細資料檢視,還是要檢視完整的本機帳戶清單,除了圖形介面之外,一樣可以透過PowerShell命令來查詢。例如,如圖4所示執行「Get-LocalUser Administrator | FL」命令參數,就會列出內建Administrator的完整設定資訊,包括最新一次的登入時間、安全識別碼(SID)等等。至於密碼的修改也很簡單,且可以寫成一個腳本程式(.ps1)直接在多部獨立的Windows Server中執行,肯定會比透過圖形介面還要有效率。
可以參考以下兩道命令參數範例,前者先完成密碼變數的設定,後者則是帶入密碼變數以完成新密碼的設定,並且設定成密碼永不過期:
|
▲圖4 以命令變更帳戶密碼設定。 |
批次修改OU中的帳戶密碼
在Windows Server 2016的桌面環境中,若想要修改特定人員帳戶的密碼,最簡單的方式就是如圖5所示透過「Active Directory使用者和電腦」或「Active Directory管理中心」圖形介面來進行。
|
▲圖5 變更網域帳戶密碼。 |