password_pwncheck是一款用于帮助提升企业密码安全性的工具。它会通过大量公开的哈希数据源来匹配,你当前所使用的账户密码是否已被泄露(例如HaveIBeenPwned列表等)。同时,password_pwncheck还支持NIST 800-63B特性,例如密码最小长度检测(默认值为15),是否存在密码重用,以及密码是否命中违规列表等。
该项目包含两个部分:
密码服务器 – 一个简单易扩展的python脚本,该脚本包含了所有密码测试的逻辑。
密码插件客户端 – Windows密码过滤器DLL,Kerberos模块和PAM模块在管道中工作。这应该可以满足大多数现代企业可扩展密码管理解决方案。如果你觉得这还不够,那么你也自己编写代码并Pull Request到主项目。
安装这款工具的功能和使用均已经过验证。但安装和配置则需要一定程度的知识,例如对于配置脚本中变量值作用的理解,以及Kerberos/PAM/AD如何执行密码更改管理的专业知识。而我并不是这方面的技术专家,因此在这里我只能向大家大致描述其使用方法。
密码服务器 AD密码过滤器DLL从Dev Studio命令行,在ad-password-pwncheck项目的目录中运行resbuilder.bat
构建解决方案,特别是ad_password_pwncheck项目。
将生成的ad_password_pwncheck.dll复制到域中,所有域控制器上的%windir%\system32文件夹中。
运行wevtutil im Resources.man /rf:”%windir%\system32\ad_password_pwncheck.dll” /mf:”%windir%\system32\ad_password_pwncheck.dll”来正确注册Windows事件日志
运行包含的注册表文件以启用注册表设置