密码强度筛查需覆盖系统、应用、数据库及配置平台账号,通过熵值量化、黑名单匹配、规则校验和哈希强度审计分层验证,并以离线扫描、增量比对、分级处置实现闭环管理。

直接对所有账号密码做强度筛查,核心是“可执行、可覆盖、可闭环”——不能只查不管,也不能漏掉关键账户或存储位置。
覆盖哪些账号和密码
筛查范围必须完整,否则等于留后门:
- 系统账号:/etc/shadow 中所有启用账号(排除 /sbin/nologin 的纯服务账号,但需确认其 Shell 未被篡改)
- 应用账号:MySQL、Redis、FTP、Tomcat 管理后台、Jenkins、Nginx Basic Auth 等配置文件中明文或弱加密存储的凭证
- 数据库用户表:如业务库中 users 表的 password 字段(需脱敏后校验哈希强度或明文策略)
- 配置管理平台:Ansible Vault、HashiCorp Vault、K8s Secret YAML 文件中的 base64 解码后内容(注意权限控制)
用什么方式自动检测强度
不能只靠长度或正则,要分层验证:
-
熵值量化:用 Python 的
zxcvbn库计算密码猜测难度(推荐),低于 40 bit 直接标为高风险 - 黑名单匹配:加载 rockyou.txt、top10000-passwords、企业历史泄露密码库,做精确+模糊匹配(如 admin123、Admin@2024)
- 规则校验:检查是否满足最小长度(≥12)、大小写+数字+特殊字符四选三、无连续重复字符(aaa)、无键盘序列(qwerty)
- 哈希强度审计:对已知哈希值(如 MySQL 的 caching_sha2_password、PostgreSQL 的 SCRAM-SHA-256),识别是否仍用 MD5/SHA1/unsalted SHA256
如何落地执行不中断业务
自动化筛查必须兼顾安全与可用性:
- 离线扫描优先:导出 /etc/shadow 哈希行(非明文)、应用配置快照、数据库用户摘要,在隔离环境运行检测脚本
- 增量比对机制:每次扫描生成唯一指纹(如账号+哈希+校验时间),只告警新增或降级的弱口令项
- 分级处置策略:对 root、admin、sa 等特权账号立即告警;普通账号按风险等级设置修复宽限期(如 7 天内强制重置)
- 对接现有流程:输出 CSV 报告供 ITSM 工单自动创建;触发 Webhook 推送至企业微信/钉钉;集成到 CI/CD 流水线拦截弱密码提交
筛查之后必须做的三件事
检测只是起点,闭环才是关键:
-
一键加固接口:提供脚本化重置能力(如
chage -d 0 username强制下次登录改密;mysql -e "ALTER USER 'u'@'%' IDENTIFIED BY 'newpass';") - 同步更新策略:将本次发现的弱口令样本加入本地字典,用于后续登录时实时拦截(PAM 模块或应用层校验)
- 反向溯源分析:统计高频弱口令来源(如某批设备初始化脚本统一设 admin/admin),推动源头治理

















