專案案例分享二:密碼策略與上次互動式登入
今天有個朋友跟我聊天時提到他們公司的域使用者經常會遇到被鎖定的狀態,而且4小時後會自動解鎖,想檢視AD裡面是否能夠統計和顯示域使用者登入失敗次數和時間等資訊。所以搭建了個小測試來解決這個問題。
在配置上次互動式登入時,請注意以下事項:
a. 要使上次互動式登入正確執行,必須將域功能級別設定為 Windows Server 2008。否則,使用者將無法登入到其計算機且會收到以下訊息:
“此計算機上的安全策略未設定為顯示有關上次互動式登入的資訊。Windows 無法檢索此資訊。請與您的網路管理員聯絡,以獲得幫助。”
b. 如果您在 Windows Server 2008 和 Windows Vista 加入域的計算機上啟用了上次互動式登入,且在域控制器位於其作用域之內的 GPO 中未啟用此功能,使用者將無法登入到系統。
c.
d. 上次互動式登入不報告登入嘗試來自哪個計算機,因為上次互動式登入資訊儲存在使用者帳戶的屬性中。若要確定登入嘗試來自何處,您必須檢視域控制器的安全日誌。
1. 實驗環境
本次實驗使用一臺Windows Server 2012 R2(配置Active Directory域服務)和一臺加域的Windows 7客戶端,其中:
AD林功能級別:Windows Server 2012 R2
AD域功能級別:Windows Server 2012 R2
2. 賬戶策略--賬號鎖定策略
說到4小時後會自動解鎖,這就讓我想到賬戶策略中的賬號鎖定策略,在DC中執行gpmc.msc開啟組策略管理器(當然也可以通過伺服器管理器開啟)
展開到”Default Domain Policy”, 右鍵點選”編輯”
注:此處可能有人問能不能將不同部門的計算機物件放到特定的OU中,再對此OU做密碼策略?這裡有2點一定要注意的是:
a. 如果針對OU配置密碼策略,最終生效的不是當前OU的域賬號,而是OU中的計算機物件的本地使用者策略;
b. 如果要通過組策略配置域使用者賬號的密碼策略,只能在域級別上配置密碼策略(或是通過顆粒化密碼策略進行配置)
定位到--計算機配置 | 策略 | Windows 設定 | 安全設定 | 賬戶鎖定策略 可以看到有“賬戶鎖定時間”、“賬戶鎖定閾值”、“重置賬戶鎖定計數器”3個選項,可以根據具體情況進行配置。
a. 帳戶鎖定時間
此安全設定確定鎖定帳戶在自動解鎖之前保持鎖定的分鐘數。可用範圍從 0 到 99,999 分鐘。如果將帳戶鎖定時間設定為 0,帳戶將一直被鎖定直到管理員明確解除對它的鎖定。
b. 帳戶鎖定閾值
此安全設定確定導致使用者帳戶被鎖定的登入嘗試失敗的次數。在管理員重置鎖定帳戶或帳戶鎖定時間期滿之前,無法使用該鎖定帳戶。可以將登入嘗試失敗次數設定為介於 0 和 999 之間的值。如果將值設定為 0,則永遠不會鎖定帳戶。
c. 重置帳戶鎖定計數器
此安全設定確定在某次登入嘗試失敗之後將登入嘗試失敗計數器重置為 0 次錯誤登入嘗試之前需要的時間。可用範圍是 1 到 99,999 分鐘。
為了讓組策略立即生效,開啟Windows 7客戶端命令列工具,執行“gpupdate /force”立即重新整理組策略
登出後重新登陸輸錯密碼超過3次後再次登陸,提示“引用的賬戶當前已鎖定,且可能無法登陸”
此時使用者可以等待鎖定時間(以上設定的5分鐘)到了後自動解鎖後即可登入,管理員也可以通過ADUC馬上解鎖此賬戶,開啟Active Directory使用者和計算機,找到該賬戶(Cici)右鍵屬性,勾選“解鎖賬戶”—點選“確定”即可,此時賬戶Cici即可登陸了。
3. 上次互動式登入
以上的內容已經可以做到限制使用者輸入密碼錯誤次數和解鎖時間,但是如果要統計登陸資訊還得用到“上次互動式登入”
a. 上次互動式登入的功能上次互動式登入可以幫助您記錄使用者登入資訊的以下四個重要組成部分:
在加入域的伺服器或工作站上失敗的登入嘗試總數
成功登入到伺服器或工作站之後失敗的登入嘗試總數
在伺服器或工作站上上次登入嘗試失敗的時間
在伺服器或工作站上上次登入嘗試成功的時間
b. 上次互動式登入資訊的儲存位置: 當域在 Windows Server 2008 功能級別執行時,上次互動式登入資訊儲存在新增到架構的使用者物件的以下四個屬性中:
msDS-FailedInteractiveLogonCount — 自啟用上次互動式登入功能以來在伺服器或工作站上失敗的登入嘗試的數量
msDS-FailedInteractiveLogonCountAtLastSuccessfulLogon — 上次 Ctrl-Alt-Del 登入成功之前失敗的互動式登入的總數
msDS-LastFailedInteractiveLogonTime — 上次失敗的登入嘗試的時間戳
msDS-LastSuccessfulInteractiveLogonTime —在伺服器或工作站上上次登入嘗試成功的時間戳
開啟組策略管理配置“上次互動式登入”,定位到“計算機配置 | 策略 | 管理模板 | Windows 元件 | Windows 登入選項 | ”預設4個選項都是未配置的狀態
雙擊“在使用者登入時顯示有關以前登入的資訊”---選擇“已啟用”----點選“確定”
啟用後如下圖:
同樣在Windows 7命令列中執行gpupdate /force立即重新整理組策略,登出後重新登陸,輸入賬戶密碼,如下圖:
在DC上開啟ADSI編輯器,右鍵”ADSI編輯器“---選擇”連線到“
選擇“預設命名上下文“---點選”確定“
找到該使用者(Cici)右鍵選擇“屬性“
可在此屬性編輯器中檢視到相應的屬性和值,具體屬性的解釋見以上提到的儲存位置
通過上圖紅色框中的資料可以分析出以下結論:
設: X=“msDS-FailedInteractiveLogonCount”的值
Y=“msDS-FailedInteractiveLogonCountAtLastSuccessfulLogon”的值
若X=Y, 則說明最近一次登入是成功的;
若X-Y=N,則說明最近已經有連續N次登陸失敗了;若N剛好等於賬戶鎖定閾值,而且賬戶鎖定時間未到的話,此使用者將無法登陸,處於鎖定狀態;
以上是針對密碼策略和上次登入互動式的分析和具體用法的分享,在Windows Server 2012 中對顆粒化密碼策略有了很大的改進,有興趣的朋友可以瞭解瞭解,非常感謝大家的關注和支援。
本文出自 “黃錦輝專欄” 部落格,謝絕轉載!