某省级政务平台在2024年护网行动中被攻破,弱口溯源结果让人哭笑不得——管理员账号密码是令漏Admin@123。不是洞整撞库,不是改报告0day,就是弱口登录页试了三次。整个系统承载着全省十几万企业的令漏申报数据,整改报告递到我桌上时,洞整第一行写着:“经核查,改报告该账号自2020年创建后从未修改过密码。弱口”
这类事情我见得太多了。令漏去年帮一家连锁酒店做渗透测试,洞整前台POS机系统用着“POS2023”当口令,改报告收银员离职了三年,弱口账号还挂在员工列表里。令漏更夸张的洞整是某医院影像系统,弱口令直接写在便利贴上贴在显示器边框,拍照发给甲方看,对方沉默了半天说“先改了吧”。
弱口令的本质不是技术漏洞,是管理惰性。你部署再好的WAF、再贵的SOC平台,只要有人图省事把生日当密码,一切防御都等于零。攻击者根本不需要多高深的手法,一个字典跑下来,总能撞开几扇门。
这次整改我定了三条硬规矩。第一,所有系统强制密码复杂度——至少12位,必须含大小写、数字和特殊字符,不许用连续键盘序列。第二,三个月强制改密一次,管理员账号单独设置更短周期。第三,登录失败五次锁定半小时,同时触发短信告警给安全负责人。
光有规矩不够,还得让规矩落地。我们写了个小脚本,每周自动扫描所有可登录入口,模拟常见弱口令尝试登录,发现一个就自动禁用并通知责任人。脚本跑了一个月,逮到37个账号——其中12个是“123456”,8个是“Password1”,还有个奇葩用“1qaz@WSX”,乍看很强,其实键盘竖着按出来的。
这里有个反直觉的观察:越是基层员工越容易用弱口令,因为他们觉得系统里没值钱东西。但恰恰是这些低权限账号,经常能通过内网横向移动摸到核心数据库。我们整改时专门给保洁阿姨的考勤系统账号换了强密码,她不理解,说“我就查个排班表”。我告诉她,去年某商超就是通过清洁工账号进到会员系统的,她这才紧张起来。
还有个细节容易被忽略——默认口令。新采购的摄像头、打印机、路由器,出厂密码全是admin。我们规定所有新设备上线前必须改密,由运维统一生成随机密码并加密存储。就这条,堵住了至少三次外部扫描直接进内网的风险。
整改不是发个通知就完事。我每周抽两个下午,随机挑几个账号让负责人现场登录演示,输错三次就记过。刚开始有人抱怨“太麻烦”,但坚持两个月后,再没人敢用“Qwer1234”这种糊弄事的密码了。
说实话,弱口令这东西永远堵不完。今天改了这批,明天新员工入职又可能图省事。但每次攻防演练后,看着攻击日志里那些尝试次数爆表的字典攻击,我反而觉得踏实——至少我们的口令不再是那群“最容易被猜中的”那一批了。