第247篇:网络设备密码恢复与安全加固

关键词:密码恢复、Console 密码重置、VRP 密码恢复、AAA 安全、设备加固、口令策略、命令认证、Super 权限

一、引言

网络设备密码遗忘是每个运维人员都可能遇到的"噩梦"场景。当远程管理地址未知、AAA 服务器不可达、Console 密码遗忘时,如何恢复对设备的控制权,同时确保恢复过程本身不引入新的安全风险?

密码恢复不仅是技术操作,更是一个安全管理问题。恢复过程中设备会暂时处于无保护状态,如果物理安全无法保证,攻击者可能在恢复过程中植入后门。因此,密码恢复必须配合严格的安全加固措施,在恢复控制权后立即强化设备安全。

二、华为 VRP 系统密码恢复

2.1 VRP 密码恢复原理

华为 VRP(Versatile Routing Platform)设备提供了通过 Console 口进行密码恢复的机制。核心原理是通过中断设备启动过程,跳过认证配置文件加载,从而获得不受密码限制的初始管理权限。

VRP 密码恢复原理 - 图示

2.2 华为交换机/路由器密码恢复步骤

# ===== 密码恢复操作流程 =====

# 步骤 1:物理连接到设备 Console 口
# 使用 Console 线连接 PC 和设备 Console 口
# 使用 SecureCRT/PuTTY,波特率 9600

# 步骤 2:重启设备,在 Boot Menu 阶段操作
# 设备加电后,立即按下 Ctrl+B(部分设备为 Reset 按钮)
# 进入 Boot Menu 界面

# Boot Menu 界面示例:
# Hit Ctrl+B to choose to load or upgrade the system software...
# 3: Skip general startup configuration
# 5: Enter boot menu

# 选择选项 3(跳过通用启动配置)

# 步骤 3:设备以空配置启动后登录
<HUAWEI>

# 步骤 4:查看原配置文件
<HUAWEI> system-view
[HUAWEI] startup saved-configuration vrpcfg.zip
# 查看原配置中的密码信息

# 步骤 5:方式一 - 重置密码后恢复配置
[HUAWEI] aaalimit login failure attempt 5 interval 30
# 设置登录失败限制

# 创建新管理员账号
[HUAWEI] aaa
[HUAWEI-aaa] local-user admin password cipher NewSecureP@ss2024
[HUAWEI-aaa] local-user admin privilege level 15
[HUAWEI-aaa] local-user admin service-type ssh terminal
[HUAWEI-aaa] quit

# 恢复原配置
[HUAWEI] force startup saved-configuration vrpcfg.zip

# 步骤 6:设备重启后使用新密码登录
[HUAWEI] restart

2.3 华为防火墙(USG)密码恢复

# USG 防火墙 Console 密码恢复(不同型号略有差异)

# 方式一:通过 Reset 孔恢复
# 1. 关机
# 2. 用卡针按住 Reset 孔
# 3. 加电,持续按住 10 秒后松开
# 4. 设备进入恢复模式

# 方式二:通过 Boot Menu(USG6000E 系列)
# 1. Console 连接设备,加电
# 2. 启动时按 Ctrl+B 进入 Boot Menu
# 3. 选择跳过配置启动

# 方式三:使用 eSight/NCE 管理平台恢复
# 如果设备纳管在 eSight 中,可通过管理平台重置密码

2.4 密码恢复后的安全加固清单

序号 加固项 命令/操作 优先级
1 修改 Console 密码 user-interface vty 0 4 / 设置新密码 立即
2 启用 AAA 认证 aaa / authentication-scheme 立即
3 禁用默认账号 undo local-user initial 立即
4 配置密码复杂度策略 local-user password complex 高
5 启用 SSH,禁用 Telnet ssh server enable 高
6 配置登录失败锁定 aaalimit login failure attempt 5 高
7 配置管理 ACL acl number 2000 限制管理源 IP 高
8 启用操作审计日志 info-center enable 中
9 备份新配置 save force 中
10 物理安全确认 确认设备机房门禁正常 中

三、设备安全加固完整配置

3.1 访问控制加固

# 华为设备安全加固配置(完整模板)
<HUAWEI> system-view
[HUAWEI] sysname Core-SW-secured

# ===== 1. 密码策略加固 =====
[HUAWEI] aaalimit password max-length 16 min-length 8 min-complexity 3
[HUAWEI] aaalimit password expire 90
[HUAWEI] aaalimit password history 5

# ===== 2. 登录失败限制 =====
[HUAWEI] aaalimit login failure attempt 5 interval 30 lock-duration 30
# 5 次失败锁定 30 分钟

# ===== 3. AAA 认证配置 =====
[HUAWEI] aaa
[HUAWEI-aaa] authentication-scheme auth-scheme-ssh
[HUAWEI-aaa-auth-schema-auth-scheme-ssh] authentication-mode local
[HUAWEI-aaa-auth-schema-auth-scheme-ssh] quit

[HUAWEI-aaa] authorization-scheme authz-scheme-default
[HUAWEI-aaa-authorization-schema-authz-scheme-default] authorization-mode local
[HUAWEI-aaa-authorization-schema-authz-scheme-default] quit

[HUAWEI-aaa] accounting-scheme acct-scheme-default
[HUAWEI-aaa-accounting-schema-acct-scheme-default] accounting-mode none
[HUAWEI-aaa-accounting-schema-acct-scheme-default] quit

[HUAWEI-aaa] domain default
[HUAWEI-aaa-domain-default] authentication-scheme auth-scheme-ssh
[HUAWEI-aaa-domain-default] authorization-scheme authz-scheme-default
[HUAWEI-aaa-domain-default] accounting-scheme acct-scheme-default
[HUAWEI-aaa-domain-default] quit

# ===== 4. 本地管理员账号 =====
[HUAWEI-aaa] local-user admin password cipher S3cur3@Admin2024
[HUAWEI-aaa] local-user admin privilege level 15
[HUAWEI-aaa] local-user admin service-type ssh terminal
[HUAWEI-aaa] local-user admin password expire 90
[HUAWEI-aaa] local-user admin first-login force-change-password

# 创建只读审计账号
[HUAWEI-aaa] local-user auditor password cipher Aud1t@Only2024
[HUAWEI-aaa] local-user auditor privilege level 1
[HUAWEI-aaa] local-user auditor service-type ssh terminal
[HUAWEI-aaa] local-user auditor first-login force-change-password
[HUAWEI-aaa] quit

# ===== 5. 禁用默认初始账号 =====
[HUAWEI] undo local-user initial

# ===== 6. SSH 配置(替代 Telnet)=====
[HUAWEI] ssh user admin authentication-type password
[HUAWEI] ssh user auditor authentication-type password
[HUAWEI] ssh server enable
[HUAWEI] ssh server protocol version 2
[HUAWEI] ssh server authentication timeout 60
[HUAWEI] ssh server maxstartups 10
# 仅允许 SSHv2,禁止 SSHv1

# ===== 7. VTY 接口配置 =====
[HUAWEI] user-interface vty 0 4
[HUAWEI-ui-vty0-4] authentication-mode aaa
[HUAWEI-ui-vty0-4] protocol inbound ssh
[HUAWEI-ui-vty0-4] user privilege level 15
[HUAWEI-ui-vty0-4] idle-timeout 10 0    # 10 分钟超时
[HUAWEI-ui-vty0-4] quit

# ===== 8. Console 接口配置 =====
[HUAWEI] user-interface aux 0
[HUAWEI-ui-aux0] authentication-mode aaa
[HUAWEI-ui-aux0] user privilege level 15
[HUAWEI-ui-aux0] idle-timeout 5 0       # Console 5 分钟超时
[HUAWEI-ui-aux0] quit

# ===== 9. 管理 ACL =====
[HUAWEI] acl number 2000
[HUAWEI-acl-basic-2000] rule 5 permit source 10.10.100.0 0.0.0.255     # 网管服务器
[HUAWEI-acl-basic-2000] rule 10 permit source 10.10.100.50 0           # 堡垒机
[HUAWEI-acl-basic-2000] rule 999 deny source any
[HUAWEI-acl-basic-2000] quit

# 应用管理 ACL 到 VTY
[HUAWEI] user-interface vty 0 4
[HUAWEI-ui-vty0-4] acl 2000 inbound
[HUAWEI-ui-vty0-4] quit

3.2 命令级安全加固

# ===== 10. 命令认证(Command Authorization)=====
# 对高危命令设置单独认证
[HUAWEI] aaa
[HUAWEI-aaa] command-authorization level 15 scheme cmd-auth-scheme
[HUAWEI-aaa-command-auth-cmd-auth-scheme] command-authorization-mode password
[HUAWEI-aaa-command-auth-cmd-auth-scheme] quit

# ===== 11. 超级权限(Super)配置 =====
[HUAWEI] super enable
[HUAWEI] super password level 15 cipher S3cur3@Super2024
# 低权限用户可通过 super 命令临时提升权限

# ===== 12. 配置保存保护 =====
[HUAWEI] save admin-password cipher S@veAdm1n2024
# save 命令需要管理员确认密码

# ===== 13. 操作日志审计 =====
[HUAWEI] info-center enable
[HUAWEI] info-center loghost 10.10.100.20
[HUAWEI] info-center loghost trap level informational

# 记录配置变更
[HUAWEI] log configuration enable

# 记录命令行操作
[HUAWEI] terminal monitor
[HUAWEI] terminal logging

# ===== 14. SNMP 安全配置 =====
[HUAWEI] snmp-agent
[HUAWEI] snmp-agent community read cipher R3ad0nlyC0mm2024
[HUAWEI] snmp-agent community write cipher Wr1t3C0mm2024
[HUAWEI] snmp-agent target-host trap address udp-domain 10.10.100.20 params securityname R3ad0nlyC0mm2024
[HUAWEI] snmp-agent sys-info version v2c v3
# 优先使用 SNMPv3
[HUAWEI] snmp-agent usm-user v3 admin auth-mode aes128 AuthP@ss2024 priv-mode aes128 PrivP@ss2024
[HUAWEI] quit

# ===== 15. HTTP/HTTPS 管理 =====
[HUAWEI] http secure-server
[HUAWEI] http authentication http-auth-scheme
[HUAWEI] http max-connection 5
# 仅启用 HTTPS,禁用 HTTP

3.3 安全加固验证

# 验证加固配置
display current-configuration | include aaa
display current-configuration | include ssh
display current-configuration | include user-interface
display current-configuration | include acl
display local-user
display ssh server status

# 验证管理 ACL
display acl 2000

# 验证日志配置
display info-center loghost

# 配置备份
save force

四、实战故障案例

4.1 案例:VRP 密码恢复后配置丢失

故障现象:某工程师在忘记密码后执行密码恢复操作,恢复后设备大部分配置丢失,仅保留基础接口配置。

# 恢复过程中操作回顾:
# 1. 进入 Boot Menu,选择跳过配置启动(正确)
# 2. 进入系统后直接修改了密码(正确)
# 3. 执行了 reset saved-configuration(错误!)
# 4. 设置新密码后 save(此时保存的是空配置)
# 5. 重启后发现配置全部丢失

# 正确操作应该是:
# 1. 进入 Boot Menu,跳过配置启动
# 2. 查看原配置(startup saved-configuration)
# 3. 使用 force startup saved-configuration 恢复原配置
# 4. 在 AAA 模式下修改密码
# 5. 保存并重启

根因分析:reset saved-configuration 命令会删除设备上的启动配置文件。密码恢复的正确流程是使用 force startup saved-configuration 强制加载原配置,而不是先删除再重建。

教训:密码恢复操作前务必确认操作流程,reset saved-configuration 与 force startup saved-configuration 的效果截然相反,操作前必须再次确认。

4.2 案例:弱密码导致的设备被入侵

故障现象:安全审计发现某核心交换机存在非工作时间登录记录,登录源为外网 IP。

# 审计日志分析
display logbuffer content | include login
# 发现以下记录:
# 2024-06-20 03:15:22 %%%% 0/AUTH/4/AUTH_LOGIN: User=admin Login from 203.0.113.50 via SSH
# 2024-06-20 03:16:45 %%%% 0/CONFIG/4/CFG_CHANGED: Configuration changed by user admin

# 进一步分析
display local-user
# 发现 admin 密码为 "admin123"(极度弱密码)
# 设备 Telnet 服务仍开启,未限制管理 ACL

# 紧急处置
# 1. 立即修改密码
aaa
 local-user admin password cipher S3cur3@Admin2024

# 2. 关闭 Telnet
user-interface vty 0 4
 protocol inbound ssh

# 3. 添加管理 ACL
acl number 2000
 rule 5 permit source 10.10.100.0 0.0.0.255
 rule 999 deny source any
user-interface vty 0 4
 acl 2000 inbound

# 4. 审查配置变更历史
display logbuffer content | include CONFIG
# 发现攻击者在配置中添加了隐蔽的 backdoor 账号
aaa
 undo local-user backdoor

# 5. 从已知安全的备份恢复配置

根因分析:弱密码 + Telnet 明文传输 + 无管理 ACL = 设备暴露在外网。攻击者通过暴力破解获取 admin 账号,植入后门账号,修改安全策略。

经验教训: 1. 永远不要在生产设备上使用弱密码 2. 禁用 Telnet,仅使用 SSHv2 3. 管理 ACL 限制仅允许网管段访问 4. 定期审计本地用户和配置变更历史

五、总结

维度 要点
密码恢复方法 Boot Menu 跳过配置启动 → 查看/恢复原配置 → 修改密码 → 重启
恢复注意事项 切勿执行 reset saved-configuration;确认物理安全
密码策略 最小长度 8 位、复杂度要求、90 天过期、历史密码检查
访问控制 AAA 认证、SSHv2 替代 Telnet、管理 ACL、登录失败锁定
账号管理 禁用默认账号、强制首次登录改密、分权限账号
审计监控 操作日志、配置变更日志、Syslog 远程日志
SNMP 安全 优先 SNMPv3,加密 Community String

核心结论:密码恢复是一个应急操作,但不应频繁使用。通过建立完善的密码管理流程(密码保险箱、定期更换、双人管理)和设备安全加固基线,可以大幅降低密码遗忘风险。密码恢复后的安全加固不应该是"可选项",而必须是"必选项"。

思考

  1. 华为 VRP 密码恢复过程中,reset saved-configuration 和 force startup saved-configuration 的区别是什么?误用会有什么后果?

  2. 如果设备部署在无人值守的远程站点,且管理员遗忘了 Console 密码,有哪些远程恢复方案?

  3. 什么是"最小权限原则"在设备账号管理中的具体体现?如何为不同角色的运维人员分配权限?

下篇预告:第248篇:禁用不安全协议:Telnet、SNMPv1/v2——告别明文传输时代