鄧嗣興
【摘要】
為了加強賬戶密碼安全性管理工作,系統(tǒng)管理員計劃通過域策略設(shè)置賬號定期修改密碼策略,減少可能會出現(xiàn)的未知風(fēng)險,本文針對這個問題的原理機制進行深入研究。
【正文】
實驗環(huán)境:
一臺域控,一臺成員服務(wù)器,搭建單林單域架構(gòu)。新建user1、user2、User3、user4等測試賬號,通過powersehll命令設(shè)置賬號屬性,模擬用戶密碼到期實驗。
如下是PS命令:
# Bind to user object in AD.
$User = [ADSI]"LDAP://cn=user4,ou=student,dc=contoso,dc=net"
# Expire password immediately.
$User.pwdLastSet = 0
# Save change in AD.
$User.SetInfo()
有兩個賬號user4和user5,user4沒有設(shè)置了密碼永不過期user5設(shè)置了密碼永不過期。用PS命令查看用戶屬性。
用戶user4的屬性如下:
用戶user5的屬性如下:
運行命令,強制讓用戶賬號密碼到期:
User4和user5強制密碼到期后,查看用戶屬性的變化:
從用戶屬性值變化中可以看出,對user5這種設(shè)置密碼永不過期的賬號來說,passwordExpired 的屬性值還是False。
此時賬號的屬性如下:
現(xiàn)在分別用用戶user4和user5登錄成員服務(wù)器對比現(xiàn)象:
對于user4來說,登錄時,需要修改密碼
對于user5來說,登錄時,直接進去用戶界面
設(shè)置user3為SQL server 服務(wù)的啟動賬號,賬號沒有勾選密碼永不過期,賬號屬性如下:
User3 作為SQL server 服務(wù)啟動賬號
數(shù)據(jù)庫能夠正常連接:
應(yīng)用腳本,將user3的賬號密碼強制到期
此時賬號user3
查看SQL 應(yīng)用情況:
服務(wù)正常啟動
連接數(shù)據(jù)庫也沒有問題
嘗試重啟一下SQL server 服務(wù)
此時就會報錯,服務(wù)無法啟動
數(shù)據(jù)庫無法連接
嘗試登錄AD用戶管理控制臺將user3賬戶選項的用戶下次登錄時更改密碼的勾去掉
去掉后
再次嘗試重啟SQL server 服務(wù)
服務(wù)啟動正常
數(shù)據(jù)庫連接正常
如果將user3勾選密碼永不過期
再強制密碼過期
賬號屬性如下:
測試SQL server 服務(wù)重啟
服務(wù)正常
其他實驗,如共享文件的賬戶密碼到期。如果賬號是登錄狀態(tài),賬號還能正常訪問共享。如果賬戶注銷,再次登錄,會提示修改密碼。
【實驗結(jié)論】
(1) 賬戶設(shè)置了密碼永不過期,應(yīng)用賬戶定期修改密碼策略時,密碼存活時間到期了,該賬戶的passwordexpired屬性值還是false。該賬戶對各種應(yīng)用的訪問不會受到影響。
(2) 賬戶沒有設(shè)置了密碼永不過期,應(yīng)用賬戶定期修改密碼策略時,密碼存活時間到期了,該賬戶的passwordexpired屬性值變成True。從AD用戶和計算機管理控制臺上看,用戶的賬戶選項多了一個用戶下次登錄時必須修改密碼的選項。Windows現(xiàn)在使用kerberos認證機制,賬戶與域控進行身份驗證后,會生成臨時憑證進行身份驗證。像服務(wù)啟動賬戶,賬戶密碼已經(jīng)到期,服務(wù)還可以運行,因為是使用以前生成的臨時憑證。重啟服務(wù)時,需要與域控重新進行身份驗證,多了一條下次修改密碼的選項設(shè)置,所以驗證通過不了。從AD用戶和計算機管理控制臺上看,下次修改密碼的選項的勾還在。
(3) 如果應(yīng)用賬戶定期修改密碼的策略,需要提前整理服務(wù)啟動賬號和應(yīng)用程序相關(guān)賬號等。如果存在遺漏的情況,最快捷的方式就從AD用戶管理控制臺找到該賬戶,將下一次登錄必須修改密碼的勾去掉,勾選密碼永不過期,重啟服務(wù)或者應(yīng)用就能正常訪問。