口令库加固技术通过增强存储侧防护让离线字典攻击变慢、变贵、变不可行:采用SM3、Argon2等慢哈希算法;强制高复杂度口令与历史口令拦截;引入一户一盐;限制拖库风险。
口令库加固技术本身不直接“提升防离线字典攻击性能”,而是通过增强存储侧的防护机制,让即使攻击者获取了密码哈希文件(如数据库被拖库),也无法高效破解。真正的防御重点在于:**让离线攻击变慢、变贵、变不可行**。
离线字典攻击成败关键,在于哈希计算速度。MD5、SHA1等快速哈希算法可在一秒内尝试数百万次猜测,而SM3、PBKDF2、bcrypt、Argon2等设计目标就是“慢”和“费资源”。
再强的哈希也挡不住“123456”这种口令——它在字典里排第一,几毫秒就能匹配。口令库加固必须从源头过滤弱候选。
weak_password_dictionary参数),拒绝常见组合(admin123、Password@2023等)无盐哈希会让相同口令生成相同哈希值,攻击者可批量查彩虹表;统一盐值则让预计算失效。现代口令库需确保“一户一盐”。
scram-sha-256、MySQL 8.0的caching_sha2_password均默认支持)crypto.pbkdf2(Node.js)、password_hash()(PHP)等内置函数,它们自动处理盐值生成与嵌入salt:hash),应分字段或加密存储离线攻击的前提是攻击者已获得哈希文件。加固还需降低“拖库”成功的可能性和影响范围。
SELECT * FROM mysql.user等敏感查询DROP DATABASE test)、禁止root远程登录(DELETE FROM mysql.user WHERE user='root' AND host!='localhost')general_log或商业版Audit Plugin),记录所有SELECT对mysql.user等系统表的访问,及时发现异常导出行为