华为AR6140E与S5735密码策略配置:从复杂度到登录锁定 干网络运维这行的人都清楚很多时候一台设备的安全水平并不取决于防火墙策略写得有多漂亮而是取决于这台设备的登录口令到底有多难猜。华为AR6140E路由器和S5735交换机是政企网络里最常见的两款设备一个管出口转发一个管接入汇聚天天都在眼皮底下跑。但真要问一句“你设备上的密码策略配了没复杂度达标吗账号被爆破之后有锁定机制兜底吗”——大多数人都会愣一下。这篇文章就把这两类设备上的密码策略配置一次讲透从密码复杂度、登录失败锁定、SSH登录加固到Console口防护所有命令都按实际落地方案来写还会带上我这些年踩过的坑。不管是新接手网络的新人还是准备做等保整改、安全巡检的老手这篇都值得存一份对照着配。1. 为什么要做密码策略不是吓唬人是防爆破1.1 网络设备密码策略到底解决什么问题很多网工觉得交换机路由器密码这东西默认就行或者图省事设一个“Huawei123”用三年。真到了被扫描到、被强制登录、配置被清空的时候再后悔就晚了。设备密码策略的核心就两件事第一让密码本身难猜第二让暴力破解没有可乘之机。密码复杂度策略解决“难猜”问题。它要求密码不能太短、不能是纯数字、不能跟账号同名还得包含大写小写数字符号的不同组合。这样即使攻击者拿到了设备的IP和登录方式想靠字典跑出密码也基本不现实。锁定机制解决“防爆破”问题。不管密码多复杂在长时间运行下都有泄露风险更常见的威胁是有人用工具不断尝试登录。如果没有失败次数限制一台设备暴露在管理网段里攻击者完全可以24小时不停跑密码。而配置了“失败N次锁定N分钟”之后连续猜几次就会被弹出去账号直接锁死攻击者再怎么跑也只能等冷却时间。所以这套配置组合在一起本质上就是把网络设备这道门的锁芯换成一体的既提高了配钥匙的门槛又增加了撬锁的时间成本。1.2 AR6140E和S5735的密码体系差异AR6140E是企业级路由器跑的VRP8平台S5735是三层交换机系列里有不同型号平台版本从V200R019到V200R021都有。两款设备虽然功能定位不同但密码策略的配置逻辑高度一致都属于AAA框架里的本地用户管理。需要注意的差异点有三个AR6140E通常承担出口或分支网关管理方式以SSH和Web为主Console口只是应急。S5735在接入层、汇聚层都常见VTY管理更频繁。不同版本的VRP对命令的细节支持有区别。比如有的版本要输入local-user admin password irreversible-cipher有的老版本可能还认cipher。S5735-LI这类精简版型号部分安全特性被裁剪过比如不支持某些加密算法配置前最好先确认型号尾缀。但这些差异不影响整体思路只要掌握了标准配置模板再根据实际软件版本做微调就行。2. 基础加固先清理默认账号再谈策略2.1 首次开机必须完成的三步清理新设备到手第一件事不是配接口、写路由而是先解决管理面的安全问题。我处理新设备时固定做三步第一步删除或禁用默认账号。不少设备版本里还保留着初始管理员账号比如admin、root这类。如果只是改密码而不删除等保测评的时候会直接扣分。稳妥的做法是新建一个自己定义的管理员然后把默认账号禁用或删除。第二步关闭管理面不需要的协议。如果设备开了Telnet、HTTP、Web管理但实际没人用直接关掉。管理协议开得越多被攻击的面就越大。第三步设置合理的登录超时。很多人配完设备就忘了设置idle超时结果管理员离开终端忘了退出旁边的人直接接着操作比密码泄露还可怕。这三步做完再进入密码策略的精细配置。2.2 AAA本地认证模型与用户分级华为设备上做密码策略核心在AAA视图下的本地用户local-user配置。AAA模型里的本地认证意思是设备自己维护一份用户名和密码表用户登录时在本地校验。对于没有部署RADIUS、TACACS等认证服务器的中小企业网络这是最常见的方式。配置本地用户的时候要理解几个关键字段privilege level权限级别0到1515是最高权限。日常运维账号给3到5就够了管理员账号才给15。service-type这个用户允许通过哪些方式登录常见的有ssh、telnet、terminal等。如果只给SSH权限Telnet就登录不上这也是一种最小化授权。password密码本身建议用irreversible-cipher不可逆加密保存这样即使配置文件泄露攻击者也没法直接还原出明文。用户分级的价值在于即使某个低权限账号被攻破攻击者也只能看不能改破坏范围被显著缩小。3. 密码策略配置实操复杂度与锁定机制3.1 密码复杂度检查与最小长度配置华为VRP系统的密码复杂度在较新版本里默认是开启的。具体表现是你通过命令行或Web界面设置密码时如果密码太简单系统会直接报错不给设进去。比如你试图把密码设成123456基本上都会被嫌弃。可以通过下面这套命令显式开启并检查复杂度检查项system-view password complexity check undo password complexity low-priority-check第一行进入系统视图第二行开启密码复杂度检查功能第三行关闭低优先级检查模式。低优先级检查模式在不开启的时候允许新密码里出现连续的重复字符、递增递减字符这类高危弱密码实际生产中建议强制用高优先级校验。密码复杂度检查启用后密码至少要满足下面几类中的三类大写字母小写字母数字特殊字符同时不能是用户名本身或者用户名的倒序、连续字符、纯键盘顺序串。比如用户名admin密码admin123这种就会被拦下来。密码长度限制可以单独配置password min-length 10这条命令规定了全局密码最小长度10位算是一个比较合理的下限。我见过很多项目只开了复杂度不设长度结果有人设一个Ab1照样过因为位数不够总容易被破。所以建议长度下限直接定到10位。3.2 本地用户登录失败锁定配置接下来是重头戏登录失败锁定。在AAA视图下配置本地用户的失败次数和锁定时间命令模板如下system-view aaa local-user admin failed-times 3 lock-time 10这里表示admin用户连续输入错误密码3次账号就会被锁定10分钟。锁定时间内哪怕密码是对的也登不进去只能等解冻。要注意一点这里的“连续失败次数”是从第一次输错开始计数的不是按天累计。只要中间有一次成功登录计数就会清零。实际效果就是攻击者最多猜3次就得干等10分钟。10分钟足够管理员发现异常了。如果希望锁定策略对所有本地用户生效可以在AAA视图下继续配置local-user failed-times 3 lock-time 10不带用户名的情况下部分版本支持对所有本地用户生效。但这个命令在个别版本里不支持所以更稳妥的做法还是对关键管理账号逐个配置。另外还有一个“全局登录攻击防护”的概念防止的粒度不是某个用户名而是整个设备的SSH/Telnet登录入口。通过下面这条命令把一定时间内的登录尝试次数上限控制住attack-defense login-user block-threshold 5这个配置的意思是设备检测到同一个源IP连续5次登录失败就直接把这个源IP加入黑名单阻止它继续访问登录端口。这是比“用户名锁定”更底层的防护两者配合效果最好。3.3 锁定后如何查看和手工解锁配置完了不等于一劳永逸日常运维里最常遇到的问题是同事把密码输错太多次账号被锁了人还在办公室等着干活。这时候需要管理员手动处理。先查看本地用户状态display local-user输出里有一列是Account state正常状态是Active被锁定时是Blocked。确认是哪个用户被锁了之后可以在AAA视图下手工解锁system-view aaa reset local-user admin这条命令会把指定用户的锁定状态清掉账号立刻恢复可用。如果生产设备上管理员账号被锁而自己又没办法通过SSH进入设备就只能走Console口处理。所以下面会专门讲Console口防护同时也要提醒Console口密码如果也忘了那问题就升级了。4. 服务层加固SSH、Telnet与Console口防护4.1 SSH登录密码认证配置现在的网络设备管理基本都要求用SSH代替Telnet。华为AR6140E和S5735上配置SSH服务端并不复杂但有几个细节容易被忽略。先确认SSH服务启用system-view ssh server enable然后创建RSA本地密钥对在系统视图下执行rsa local-key-pair create系统会提示输入密钥位长默认通常给2048或3072建议直接选最高。这个步骤只在首次配置时需要重启后密钥不会重新生成。接着创建SSH用户并指定认证方式ssh user admin ssh user admin authentication-type password ssh user admin service-type ssh这里的意思是SSH用户admin使用密码认证服务类型限定为SSH。如果之前已经配置了AAA本地用户这里的用户名要跟本地用户一致认证时会走本地AAA校验。最后在VTY用户界面把入站协议改成SSH并关联AAA认证user-interface vty 0 4 authentication-mode aaa protocol inbound ssh idle-timeout 5配置之后Telnet基本就被禁用了即使设备开着Telnet服务VTY也不接受Telnet接入。idle-timeout 5表示5分钟无操作自动断开这个数值按内网维护习惯来5到10分钟都合理。SSH协议本身还可以进一步收紧算法ssh server cipher AES256-CBC ssh server hmac SHA2-256旧版本的算法如3DES、MD5、SHA1能不开就不开。这些配置不仅提升安全性也是很多安全扫描工具检查的硬性指标。4.2 Console口与应急通道保护Console口是设备最后一道物理管理通道很多网管觉得Console口就插在机房设备上外人接触不到就不设密码。这个想法在图省事的时候能理解但真实环境里机房上架、施工、代维人员进出频繁Console口不设密码等于把后门敞开着。配置Console口密码进入用户界面后设置认证方式和密码user-interface console 0 authentication-mode password set authentication password irreversible-cipher HuaweiConsole2024 idle-timeout 5这里注意两点irreversible-cipher替代了老的cipher密码以不可逆方式加密存储在配置文件里idle-timeout同样要在Console口单独设Console口的超时跟VTY是分开的。Console口还有一个容易被忽略的权限问题。如果Console口登录后的用户权限不是最高级某些关键操作也做不了。所以Console口登录用户尽量不要挂在低权限账号下面不然应急维护时可能连基础命令都敲不了。我的习惯是Console口用独立的管理员账号密码复杂度比SSH用的账号还要高。5. 实战中的坑与排查技巧5.1 密码复杂度明明设置了却不生效这个问题出现频率特别高。排查看三处第一处确认所在平台是否支持该命令AR6140E新版VRP8基本都支持S5735老版本可能不支持password min-length需要用display this在系统视图下查一下当前生效的配置第二处确认配置下发到正确视图复杂度和长度是全局配置而锁定次数是AAA视图下的配置两者不在同一个视图很容易漏第三处确认账目是不是通过远程RADIUS认证的如果认证走RADIUS设备本地密码复杂度对远端账号无效必须在RADIUS服务器上做同样策略。5.2 账号被锁定之后进不去设备生产环境最怕的尴尬所有远程账号都被锁了Console口又有密码一时半会儿找不到笔记本连串口线。解决方案是区分开两个层次本地账号锁定用其他未锁的远程账号登录执行reset local-user如果所有远程账号全锁了只能物理到现场连Console处理。但如果Console口密码也忘了事情就升级了。常规做法是重启设备进BootROM菜单选择跳过配置文件启动或者恢复出厂设置。这里要特别强调恢复出厂会清空配置这是最后手段。所以我一直建议每次做密码策略变更之前先执行save保存配置再导出一份配置文件放在安全的离线位置。万一真出事至少还有配置能回滚。5.3 密码策略巡检清单最后给一份日常巡检时可以照着打的清单我每次做网络设备安全巡检都会过一遍检查项对应命令预期结果本地用户状态display local-user关键账号无Blocked状态密码复杂度检查display password policy复杂度检查开启密码最小长度不小于10登录失败锁定display current-configuration configuration aaa关键账号有failed-times和lock-timeSSH状态display ssh server statusSSH服务开启状态正常VTY接入方式display user-interfaceVTY只允许SSH接入超时已设置Console口配置display current-configuration configuration user-interfaceConsole口有密码和超时弱算法检查display ssh server cipher无3DES、MD5等弱算法这7项如果全部满足设备管理面的安全水平基本就能应付等保三级的通用要求。我在实际干活的时候还有一个习惯把密码策略配置模板固化成一个脚本文件新设备开局时直接批量导入再根据现场情况微调账号名和密码。这样可以避免手动一条条敲减少因为漏配导致的安全缺口。不过每条命令的兼容性还是要在对应软件版本上先验证一遍尤其是S5735系列跨版本Bar的时候命令差异比想象中大。另外再补充一个小细节很多人在设备上配好密码策略就以为完事了其实还得定期去翻系统日志。用display logbuffer查看登录失败记录用display attack-defense查看全局防暴力破解的触发记录这些日志里的报错信息往往能提前暴露正在发生的爆破行为。把这些日志接进日志服务器统一归档则更是加分项。搞网络说到底就是个精细活管理面的安全尤其不能讲侥幸。把这些密码策略配置到位不是什么高深的技巧但确实是每一台设备都应该有的底线。