说实话我见过太多网络工程师把“密码策略”四个字理解成“改一个复杂点的enable密码”结果真到了等保测评或者护网行动的时候设备上一堆账号既没有过期时间也没有失败锁定被扫出来一个弱口令直接扣分。前阵子帮客户加固一批华为AR6140E路由器和S5735交换机我才把这两类设备上的密码策略从前到后完整捋了一遍。从复杂度检查、密码老化、历史库到登录失败锁定每一块都有不少容易踩的坑。这篇文章就把我在AR6140E和S5735上的实际配置过程、版本差异、验证方法和自救手段一起写出来给正在做华为设备加固或者准备等保整改的运维同行做个参考。1. 为什么密码策略总在等保检查前才匆匆上马1.1 弱密码的真实杀伤力很多分支机构的网络设备长期只有一个admin账号密码还是五年前的项目经理设的“Admin123”。这种密码在暴力破解工具面前基本等于不设防。攻击者进入内网后第一步就是扫描网段里的设备管理端口然后用通用口令库打一遍一旦中了整个运维通道就被接管了。我在实际排查中见过一起案例一台S5735交换机因为开了Telnet且密码过于简单被内网扫描器直接登进去往业务VLAN里塞了一堆规则第二天业务全部乱套。事后看日志攻击者当天晚上尝试了不到十分钟就进来了。网络设备的密码策略不是给审计看的形式主义它是整个内网安全里最基础的一道闸门。设备一旦失守交换机上的ACL可以随便改路由器上的路由表可以被篡改比业务服务器被拿下的后果严重得多。1.2 密码策略不是“改一个复杂密码”这么简单很多人以为只要把管理员密码设置成含大写小写数字特殊字符就够了实际上完整的密码策略至少包括五块策略项作用常见忽略点复杂度检查限制密码长度和字符类别禁止弱口令只改了长度没开字符复杂度检查老化策略设置密码有效期到期必须改密设了90天过期但没提醒导致远程强制改密失败历史密码库防止改来改去还是那几个旧密码没配置历史数量用户三个月一轮回失败锁定登录失败N次后锁定账号或IP一段时间只锁了远程VTY没注意Web通道存储方式使用不可逆加密存储密码还在配cipher甚至明文出现在配置里这五块要配合起来才是一个完整的密码管理闭环少了任何一块都会成为审计报告里的“不符合项”。1.3 AR6140E和S5735在密码策略上的定位差异AR6140E是企业级路由器常作为分支网关或总部出口设备上面往往跑着NAT、动态路由、IPSec等业务本地用户既承担设备管理也可能用于拨号认证。S5735是园区接入或汇聚交换机主要做二层转发、VLAN和DHCP管理方式通常以SSH和网管平台为主。虽然两者都是华为VRP系统配置命令的思路基本一致但有两点要注意第一AR系列因为可能承载L2TP/IPSec等业务本地用户数量会比交换机多密码策略的影响面更大第二S5735在较新的VRP V200R系列中Web管理功能也支持本地用户认证很容易出现“SSH改了强密码Web管理还留着旧弱密码”的情况。所以配置策略前一定要把所有登录通道都盘清楚。2. 密码策略在VRP里的作用范围本地用户与AAA的分工真相2.1 本地用户vs远程认证策略边界在哪很多人搞不清楚设备上的密码策略到底管谁。实际上华为AR和S系列设备上的“密码策略”主要针对的是本地用户也就是通过local-user创建的那批账号。如果设备配置了RADIUS或HWTACACS认证密码复杂度和老化策略通常由认证服务器负责设备自身基本不检查。怎么判断当前登录走的是哪条路逐个看登录通道的配置display current-config | include authentication-modeConsole口一般配的是authentication-mode password或authentication-mode aaaVTY口可能配authentication-mode aaa也可能配成RADIUS服务器地址。如果某个通道走的是RADIUS设备本地密码策略对这个通道的账号不生效需要在服务器侧另做策略。这是一个非常容易被忽略的认知错位。2.2 管理面与业务面的差别密码策略涉及的管理通道主要有Console、VTYTelnet/SSH、Web、SNMP。每一条通道的登录用户名来源可能都不同但它们用的本地用户最终都会落到AAA模块的local-user上。所以理论上只要在AAA里做了用户级密码属性所有走该用户的通道都会被限制。但有个例外要注意某些版本下Web登录的认证流程和SSH不完全一致Web侧可能默认不启用密码复杂度检查或者强制改密的时机不统一。我在S5735上就遇到过SSH能登录、Web死活进不去的情况后来排查发现Web登录的账号是个老用户密码不符合新策略但Web页面只提示“用户名或密码错误”根本不说是复杂度问题。所以做策略前最好把所有通道的认证方式列一张清单。2.3 版本差异带来的命令迷宫华为VRP从V200R到V300R密码策略相关的命令在不同产品、不同补丁版本里可能有细微差异。有的版本支持在系统视图下直接配全局密码策略有的版本要求在password子视图下配置有的版本还支持在local-user视图下单独覆盖。正因为命令不确定我强烈建议在配置前先在设备上敲password ?、local-user ?把帮助信息拉出来看一眼。这不是推脱而是华为设备本身版本碎片化严重照搬网上老命令极有可能在设备上报错。文章后面给出的命令是最常见的形态实际执行时必须以设备的英文提示为准。3. 复杂度配置拆解哪些参数真正决定强度3.1 复杂度检查到底拦什么复杂度检查的核心是防止用户设置“看似复杂实则弱”的口令。华为VRP的复杂度机制一般会检查几个维度密码最小长度、是否包含大/小写字母、数字和特殊字符、密码中是否包含用户名、是否属于连续或重复字符。以常见的弱口令“admin123”为例就算它有大写小写数字特殊字符只要设备要求“密码不得包含用户名”或者“不得使用连续字符”“不得使用常见弱口令词库”这条密码就会被拒掉。所以不要只盯着“8位以上”这个老标准现在主流安全基线已经要求设备管理密码不低于10位最好12位。3.2 最小长度、字符集、用户名包含三个细节第一个细节是“长度”。我建议管理账号密码不要低于12位不要担心输入麻烦因为设备管理频率远没有业务系统那么高长密码带来的安全性收益远大于输入成本。第二个细节是“字符集”。真正强密码不一定非要四种字符都齐全但至少要覆盖三类以上而且不要有规律的递增递减。像“Pssw0rd2024”这种密码学上是强规则实际在字典里早被收录了。第三个细节是“禁止包含用户名”。这个设置很关键因为没有它的话用户名为“admin”时密码还能设成“Admin2024”攻击者只需要试几个变体。开启包含检测后密码里一旦出现“admin”子串就直接拒绝。3.3 命令示例与验证方法下面是一段常见的系统级密码策略配置示例命令以较新VRP版本为准system-view # # 密码最小长度设为12位 password minimum-length 12 # # 开启复杂度检查 password complexity-check enable # # 密码中不允许包含用户名 password check username include # # 启用密码历史记录保留最近5次密码 password history count 5部分版本需要先进入password子视图命令会变成system-view password minimum-length 12 complexity-enable username-include history-number 5配置完成后验证方法很简单进入AAA试图尝试设置一个弱密码看看设备会不会拒绝。如果拒绝了说明策略已经生效如果还能设成功就要考虑是不是密码策略没作用到local-user上或者该版本用了别的命令开关。system-view aaa local-user test password irreversible-cipher Huawei123如果系统提示密码复杂度不满足要求说明策略已经生效。反过来如果配置成功再用display local-user查看用户状态确认密码属性和状态字段正常。4. 老化与历史库两块最容易被低估的配置4.1 密码过期时间90天还是180天密码过期时间不是越短越好也不能图省事设成“永不过期”。过短运维人员会频繁改密码最后把密码贴在工位上过长就失去了密码老化的意义。按照大多数安全基线的要求设备管理员口令建议每90天改一次普通运维巡检账号可以放宽到180天。如果企业已经有一套堡垒机或统一认证平台设备本地用户只是作为逃生账号使用那么本地账号的老化周期可以适当拉长到180天但绝不能完全不过期。因为逃生通道一旦长期不验证真到需要的时候大概率已经忘了密码反而更麻烦。4.2 过期提醒与“过期后免登录”的窗口配置老化策略时一定要同时设置“过期前提醒”。常见做法是提前7到14天在登录时提示用户密码即将过期让运维人员有时间安排改密窗口。比较坑的是“密码过期后”的登录行为。不同版本默认行为不太一样有的版本在密码过期后第一次登录会强制进入改密流程有的版本则允许继续登录但每次登录都弹提醒。如果没有提前确认这个行为就可能出现一个场景远程SSH过去之后发现必须改密可手里没有新密码或者新密码不符合复杂度策略结果直接被断开。所以我会在正式环境配置前先用一台测试设备完整走一遍“过期-提醒-强制改密”的流程。4.3 历史密码库防止“旧密码轮换”密码历史库的作用是防止用户把密码改来改去还是那两三个。设置了password history count 5之后系统会保留最近5次密码的摘要信息改密时如果新密码和其中任何一个相同就会被拒绝。这里有一个重要的运维认知历史密码是通过摘要形式存储的不是明文。所以一旦密码丢失管理员只能通过Console口重新设置新密码没有办法从设备上“找回”原来的密码。这其实就是我们想要的安全效果。日常运维中不要试图通过设备配置文件反查密码明文正确做法是把密码放进企业密码保险箱或者密钥管理系统。5. 锁定机制从阈值设置到手动解锁的完整链路5.1 登录失败锁定在哪一层生效登录失败锁定的作用域有两种一种是针对“本地用户”的锁定另一种是针对“源IP”的锁定。两者实现的层级不一样。针对本地用户的锁定在AAA或local-user配置下生效用户无论从哪个接口来登录只要输错密码次数超限账号就会被锁。针对源IP的锁定通常是在用户界面或登录安全策略里配置某台机器尝试登录多次失败后设备拒绝来自这个IP的新连接。这两种方式要配合使用。只锁用户攻击者换一个用户名继续爆破只锁IP用户密码错误多次后账号本身还是敞开的。更常见的做法是用户锁定为主、IP黑名单为辅。5.2 阈值与锁定时长的调参逻辑失败次数的阈值建议设置在3到5次之间。设成1次太小任何人手滑输错一次就会被锁影响正常工作设成10次又太大给了暴力破解足够的尝试空间。锁定时长建议设置在5分钟左右太短起不到阻断效果太长会影响正常运维。在VRP设备上常见格式可能表现为user-interface vty 0 4 authentication-mode aaa set authentication password-failed-count 3 lock-time 5部分版本也可能在AAA视图下配置类似aaa authentication failed-times 3 lock-time 5配置完以后我建议自己主动在测试账号上连续输错几次密码确认设备给出的提示是“账号被锁定”还是“登录次数超限”。这点非常重要因为提示信息直接决定了你该去哪里解锁。5.3 自己把自己锁死了怎么办这是每个运维工程师迟早会遇到的尴尬时刻强化了锁定策略结果自己输错几次密码把主管理账号锁了远程SSH再也连不上。第一时间走Console口。如果Console配的是独立的authentication-mode password且没有加失败锁定那你还有救。登录系统后查看账号状态display local-user如果看到用户状态是“Lock”或者类似提示手动解除锁定local-user admin state active部分版本可能支持undo local-user admin lock如果Console也配了AAA认证并且同一个账号也被锁定那就比较麻烦了。这个时候唯一稳妥的办法是找设备现场或者等锁定时间窗口自动解除所以制定密码策略时有个铁律Console口必须保留独立的Console密码并且不要和远程账号共用同一个锁定策略。否则一旦远程被锁你连进设备的最后一扇门也关了。5.4 IP锁定与用户锁定的区别IP锁定通常出现在登录安全策略或攻击防御模块里。比如某个IP连续10次登录失败设备把该IP加入黑名单。这种情况下哪怕账号密码是对的也会被拒绝。解锁方式通常是清除登录失败记录reset login failed-times或者针对具体IP进行解封。区别在于用户锁定是“人”被锁IP锁定是“来源地址”被锁。运维人员可能换一个IP就能绕过去但攻击者也可以换IP。所以IP锁定更多是临时阻断真正要防的还是账号层面的策略。6. AR6140E与S5735的配置落地脚本6.1 场景设定与账号规划假设一个分支网络一台AR6140E做出口路由和DHCP下接一台S5735做接入交换机。管理账号有三类超级管理员admin日常运维账号netadmin只读审计账号auditor。虽然实际环境可能更复杂但账号规划的原则是一样的权限分级、最小化、每个人或每个角色独立账号不要共享admin。6.2 系统级密码策略配置先给所有本地用户上一套全局规则。这样后面所有新建账号都会默认继承省得每条用户单独配system-view # # 最小长度 password minimum-length 12 # # 复杂度开关 password complexity-check enable # # 禁止包含用户名 password check username include # # 历史密码保留次数 password history count 5 # # 老化周期90天 password expire 90 # # 过期前14天提醒 password alert-before-expire 14需要特别说明的是如果设备不支持这些命令请用?查看当前版本的“password”相关帮助替换成实际命令。这一点不丢人所有华为工程师都是这么干的。6.3 本地用户与锁定策略配置在AAA视图下创建和管理本地用户system-view aaa # # 管理员账号本地逃生使用 local-user admin password irreversible-cipher xxxxxxx local-user admin privilege level 15 local-user admin service-type ssh terminal # # 只读审计账号 local-user auditor password irreversible-cipher yyyyyyy local-user auditor privilege level 1 local-user auditor service-type ssh terminal # # 退出AAA视图回到系统视图 quit针对SSH登录的失败锁定在用户界面视图下配置user-interface vty 0 4 authentication-mode aaa protocol inbound ssh set authentication password-failed-count 3 lock-time 5Console口单独配置密码认证并尽量不启用锁定。这样可以保证远程账号被锁时还能从Console口救回来user-interface console 0 authentication-mode password set authentication password cipher zzzzzzzz6.4 Web管理与SNMP的补充S5735和AR6140E通常都支持Web管理。如果开了HTTP/HTTPS一定要确认Web登录走的是同一个AAA认证。建议直接关闭HTTP只保留HTTPS并且给Web管理加上ACL限制源地址。SNMPv3用户同样要使用高强度密码不建议再开SNMPv1/v2c的明文团体字。很多人在设备加固时只盯着SSH忘了Web和SNMP这两个口子结果扫描器一进来发现SSH打不动Web页面却是弱口令等于前面全白做了。6.5 验证与回滚配置完成后验证工作分三步。第一步查看当前生效配置display current-config | include password display local-user第二步实测登录失败锁定找一个测试账号连续输错几次密码确认设备锁定行为和提示信息。第三步验证密码过期策略可以临时把一个测试账号的过期时间改成1天然后重新登录确认改密流程是否顺畅。验证完再改回正常天数。如果发现策略影响范围超出预期不要急着save。先做回滚确认一切正常后再保存配置。华为设备保存配置前可以用display compare configuration查看当前配置和保存配置的差异。7. 实操中踩过的坑账号锁死、策略自相矛盾与自救路径7.1 第一个坑在console下配置导致Web全员登录失败我遇到过这样一个场景给一台S5735配置完复杂度和老化策略后SSH正常但Web管理怎么都登不上去提示“用户名或密码错误”。查了很久才发现Web登录用的是另一个本地用户这个用户的设置密码是“Huawei123456”按常规认知足够复杂但我和新策略冲突点在“禁止包含用户名”上而用户名里正好带着“Huawei”字样。设备不提示具体原因只给你一个笼统的认证失败。这个坑的教训是上线密码策略前把设备上所有本地用户列出来逐个核对密码是否符合新策略不要等策略上线后再被动排查。7.2 第二个坑密码历史与RADIUS服务器的冲突还有一次在AR6140E上做本地逃生密码更新因为设备开了历史密码库新密码和两轮前的旧密码相同直接被拒绝。当时没注意到这个细节来回试了几次账号被锁定策略锁住差点触发线上变更事故。后来我把设备本地密码和RADIUS服务器上的密码全部纳入统一的周期管理每次改密后第一时间同步到密码保险箱并且保留一个独立于业务登录的Console逃生密码。这样才能保证“远程认证挂掉本地逃生能顶上”的设计真正成立。7.3 第三个坑策略下发后忘记同步自动化运维平台现在大多数环境都有自动化巡检平台脚本里写死的可能是老密码。密码策略一旦生效这些账号自动登录就开始失败监控平台瞬间告警运维群里一片哀嚎。我见过有人在凌晨两点改完密码策略早上五点被监控平台的离线告警叫起来。这个问题的解决办法有两个一是变更前和自动化运维平台负责人确认好账号密码清单二是把密码修改窗口设在业务低峰期并准备一条回滚命令。别觉得回滚麻烦真到出问题的时候你连回滚命令都得现查那才叫麻烦。7.4 最后的经验密码策略这件事技术上不算难难的是把“改密、分发、存储、验证、回滚”这个闭环跑通。我现在的习惯是每台华为设备保留一个独立的Console出口账号不参与远程认证密码半年一换远程账号全部走SSH并开启失败锁定所有设备密码统一存在加密密码管理软件中绝不散落在聊天记录和Excel里。这样即使某台设备被扫出弱口令影响范围也只是一台设备不会拖垮整个网络。另外强烈建议在用ENSP模拟器或者实验室设备上把整套策略完整试一遍尤其是“密码过期后强制改密”和“失败锁定后解锁”这两个流程。这两个流程不跑通真实设备上出问题的时候你连一个能进设备的入口都没有。密码策略不是拿来糊弄检查的它应该成为网络运维的基础操作习惯。 SEO 优化官网定制响应式建站教育培训建站