域控強密碼策略插件(附下載地址)
域控默認的密碼策略,無法對域用戶密碼的設置進行很好的限制,這樣的密碼復雜性規則,依然存在大量的弱口令,比如Passw0rd、P@ssword等。
基于微軟標準的Password Filters功能,提供了一種增強域密碼策略的方法。
找相關廠商咨詢成熟商業插件的報價,我得到了一個信息,一個插件可能需要幾萬到十幾萬不等,按域控服務器數量進行授權。這一下著實出乎我的意料,查閱了相關官方文檔,實現一個密碼策略插件似乎并沒有那么難,于是我準備去做一些嘗試。
01、如何實現一個密碼策略插件
當域用戶密碼修改時,本地安全機構(LSA)調用在系統上注冊的密碼篩選器,依次調用密碼篩選器進行驗證,檢查新密碼是否符合密碼策略要求。如下圖所示:

站在巨人的肩膀上,以PasswordFilter作為關鍵詞在github平臺進行搜索,找到一個相對比較新的項目。
github項目地址:
https://github.com/ryanries/PassFiltEx
查看相關代碼,而我們需要做的就是,在此基礎上添加我們需要的密碼策略。
修改PassFiltEx.c代碼,比如我們增加一些密碼檢測規則,密碼中不得包含3個以上連續數字或字符,不得包含3個連續數字或字符。C語言檢測代碼實現比較簡單就不貼了,重新編譯生成dll,接下來我們來部署測試一下效果。

02、安裝部署
(1)在域控服務器上,將PassFiltEx.dll和PassFiltExBlacklist.txt復制到C:\Windows\System32目錄中。

(2)編輯注冊表:HKLM\SYSTEM\CurrentControlSet\Control\Lsa=> Notification Packages,將PassFiltEx加入末尾。

(3)重啟域控服務器后生效。
03、場景測試
例如:在PassFiltExBlacklist.txt設置密碼黑名單:password。
構建測試用例:

用戶不同測試場景下,看到的錯誤信息提示效果,如下:
(1)命令行修改用戶密碼

(2)域管理員新建賬號/重置密碼

(3)通過Ctrl+Alt+Del修改用戶密碼

(4)通過owa修改用戶密碼

(5)用戶通過其他web方式自助修改密碼。

附插件下載方式:
關注我的公眾號回復“域控密碼插件”即可獲取下載地址,或者直接加我微信都可以獲取。
域賬號安全策略概覽:
