华为交换机登录安全全攻略:从默认密码修改到SSH/Telnet防护配置

📅 发布时间:2026/7/5 8:31:49 👁️ 浏览次数:
华为交换机登录安全全攻略:从默认密码修改到SSH/Telnet防护配置
华为交换机登录安全实战构建企业级访问控制堡垒最近和几位负责企业网络的朋友聊天发现一个挺普遍的现象很多管理员在部署完华为交换机后往往只改了默认密码就觉得“安全了”后续的远程访问管理依然沿用着出厂时的宽松配置。这就像给自家大门换了把新锁却忘了检查后窗是否关严。实际上从默认凭证到远程协议从会话管理到用户审计每一个环节的疏漏都可能成为攻击者潜入的捷径。今天我们就抛开那些泛泛而谈的理论深入华为VRP系统的肌理聊聊如何系统性地为你的交换机登录通道构筑一道真正的安全防线。这篇文章面向的是实际运维华为设备的中小企业网络管理员或工程师。我们将聚焦于可立即落地的配置实践不仅告诉你“要做什么”更会解释“为什么这么做”以及“可能会遇到什么坑”。内容会涵盖从最基础的默认密码修改到复杂的SSH密钥认证、多用户会话精细化管理乃至一些常被忽略的“边角”安全设置。我们的目标是让你手头的设备从“能用”变得“可靠且安全”。1. 安全基石告别默认建立强身份认证体系任何安全建设的起点都是身份认证。对于一台全新的华为交换机第一步绝不是急着配置业务VLAN或路由而是彻底清除出厂预设的访问凭证并建立符合企业规范的认证规则。很多人认为改个密码就行但真正的安全需要多层防御。1.1 彻底清除默认密码与创建分级用户华为设备的初始用户名和密码是公开信息这必须在设备上线前被改变。但仅仅修改admin用户的密码是不够的。最佳实践是建立一个全新的、非默认名称的管理员账户并禁用或删除默认的admin账户。# 进入系统视图 Huawei system-view [Huawei] sysname Core-Switch # 创建新的管理员用户用户名为netadmin密码为密文显示方式设置 [Core-Switch] aaa [Core-Switch-aaa] local-user netadmin password irreversible-cipher YourStrongPssw0rd!2024 # 设置用户权限级别为15最高管理级别 [Core-Switch-aaa] local-user netadmin privilege level 15 # 指定该用户的服务类型为终端访问如SSH、Telnet和HTTP/HTTPSWeb [Core-Switch-aaa] local-user netadmin service-type ssh telnet http https [Core-Switch-aaa] quit # 可选但推荐锁定或删除默认的admin用户 [Core-Switch] aaa [Core-Switch-aaa] local-user admin state block注意使用irreversible-cipher加密的密码无法通过display current-configuration命令直接查看到明文安全性高于cipher方式。务必保存好密码。仅仅有密码认证在内部高风险环境中可能还不够。对于核心设备建议启用本地用户名密码与AAA认证、授权、计费服务器结合的方式或者更安全的公私钥认证。1.2 启用并强制使用SSHv2告别明文TelnetTelnet协议在所有通信中均使用明文传输包括用户名和密码。这在现代网络环境中是完全不可接受的。SSHSecure Shell通过加密整个会话通道来保障安全。华为VRP支持SSHv2它修复了SSHv1中的一些漏洞应被强制使用。首先需要为设备生成用于SSH加密的本地密钥对[Core-Switch] rsa local-key-pair create The key name will be: Core-Switch_Host The range of public key size is (512 ~ 2048). NOTES: If the key modulus is greater than 512, it will take a few minutes. Input the bits in the modulus [default 2048]: # 直接回车使用2048位 Generating keys... .......... .................... ...... ..............接着启用SSH服务器功能并配置只允许SSHv2连接[Core-Switch] stelnet server enable # 启用STelnet服务器基于SSH的终端 [Core-Switch] ssh server compatible-ssh1x disable # 禁用对旧版SSHv1的支持 [Core-Switch] ssh server authentication-retries 3 # 设置认证失败重试次数为3次 [Core-Switch] ssh server rekey-interval 60 # 设置每60分钟重新协商一次密钥最后在用于远程登录的VTY用户界面上绑定SSH协议并禁用Telnet[Core-Switch] user-interface vty 0 4 # 进入VTY0到4的界面共5个并发会话 [Core-Switch-ui-vty0-4] protocol inbound ssh # 只允许SSH协议接入 [Core-Switch-ui-vty0-4] authentication-mode aaa # 认证模式指向AAA配置 [Core-Switch-ui-vty0-4] quit完成这些步骤后任何尝试通过Telnet连接该设备的请求都会被拒绝。你可以通过display ssh server status命令来验证SSH服务的状态。2. 精细化管理控制访问入口与会话行为当身份认证的大门加固后我们需要对“谁可以进”、“能进多久”、“进来后能干什么”进行精细化的控制。这涉及到对物理接口、虚拟终端接口以及用户会话行为的策略管理。2.1 关闭非必要服务缩小攻击面一台网络设备默认可能开启了许多服务其中一些如HTTP、FTP服务器可能并非运维所必需。每多一个开放的服务就多一个潜在的攻击面。我们应该遵循最小权限原则关闭所有不需要的服务。HTTP/HTTPS服务如果完全不需要Web界面进行管理许多资深工程师更倾向于CLI则应关闭它们。[Core-Switch] undo http server enable [Core-Switch] undo http secure-server enable如果仍需Web管理务必禁用HTTP只启用HTTPS并为HTTPS配置强密码和访问控制列表ACL。其他非必要服务如FTP、TFTP服务器等。[Core-Switch] undo ftp server enable [Core-Switch] undo tftp server enable可以使用display tcp status命令查看设备当前打开的TCP端口逐一确认其必要性。2.2 VTY接口的访问控制与超时设置VTYVirtual Type Terminal是远程登录SSH/Telnet的虚拟接口。对其的管理至关重要。1. 利用ACL限制源IP地址只允许来自特定管理网段例如192.168.1.0/24的IP地址发起SSH连接。# 创建一个基本ACL允许管理网段 [Core-Switch] acl number 2000 [Core-Switch-acl-basic-2000] rule 5 permit source 192.168.1.0 0.0.0.255 [Core-Switch-acl-basic-2000] rule 10 deny source any [Core-Switch-acl-basic-2000] quit # 将ACL应用到VTY接口的入方向 [Core-Switch] user-interface vty 0 4 [Core-Switch-ui-vty0-4] acl 2000 inbound [Core-Switch-ui-vty0-4] quit2. 设置会话超时时间防止管理员离开后会话长期保持连接造成安全隐患。可以设置一个合理的空闲超时时间。[Core-Switch] user-interface vty 0 4 [Core-Switch-ui-vty0-4] idle-timeout 5 0 # 空闲5分钟后自动断开连接这里5表示分钟0表示秒。对于Console口由于是物理直连超时时间可以设置得更长或关闭但对于远程VTY会话强烈建议设置超时。3. 限制VTY并发会话数防止单个用户占用所有会话或成为拒绝服务攻击的目标。[Core-Switch] user-interface maximum-vty 8 # 将系统最大VTY会话数调整为8 [Core-Switch] user-interface vty 0 7 # 现在可以配置VTY 0-7了 [Core-Switch-ui-vty0-7] acl 2000 inbound [Core-Switch-ui-vty0-7] idle-timeout 5 03. 运维可见性监控、审计与故障排查安全不仅是防护也包括感知和追溯。当配置了诸多安全策略后我们需要相应的工具来监控登录状态、审计操作记录并在出现访问问题时能够快速定位。3.1 实时监控登录用户与会话使用display users命令可以清晰地看到当前所有登录到设备上的用户信息这对于运维监控和异常登录发现非常有用。Core-Switch display users User-Intf Delay Type Network Address AuthenStatus AuthorcmdFlag 0 CON 0 00:00:03 pass no 34 VTY 0 00:02:15 SSH 192.168.1.100 pass yes 36 VTY 1 00:00:47 SSH 192.168.1.101 pass yes从输出中我们可以解读User-Intf: 用户接口。CON 0是Console本地连接VTY 0/1是远程SSH连接。Delay: 用户空闲时间。Type: 登录协议。Network Address: 登录源IP地址。这是关键的安全审计信息你可以快速核对是否所有源IP都在预期的管理网段内。AuthenStatus: 认证状态。AuthorcmdFlag: 是否已获得命令行授权yes表示已进入系统视图。如果发现来源未知的IP地址或异常空闲时长的会话应立即引起警觉。3.2 配置命令日志与操作审计华为VRP支持将用户执行的所有命令记录到日志缓冲区或发送到外部的日志服务器syslog。这对于事故回溯和责任界定至关重要。# 开启信息中心功能日志功能 [Core-Switch] info-center enable # 设置命令日志的生成级别和输出方向 [Core-Switch] info-center source CM channel 4 log level informational # 将日志输出到控制台便于调试生产环境建议输出到文件或服务器 [Core-Switch] info-center console channel 4 # 开启终端命令日志功能 [Core-Switch] terminal logging配置完成后用户在设备上执行的命令会在输入时显示#提示并且被记录。你可以使用display history-command查看当前会话的历史命令但更持久的审计需要查看信息中心日志或配置日志外发。3.3 登录失败锁定与告警为了防止暴力破解密码可以配置账户登录失败锁定策略。[Core-Switch] aaa [Core-Switch-aaa] local-aaa-user wrong-password retry-interval 300 retry-time 3这条命令配置了在300秒5分钟内如果连续3次认证失败则锁定该用户名5分钟。这能有效减缓自动化破解工具的攻击速度。4. 进阶加固SSH密钥认证与权限最小化对于安全要求极高的环境仅靠密码认证仍显薄弱。SSH公钥认证提供了更高级别的安全保障。同时遵循权限最小化原则为不同角色的管理员分配恰如其分的命令权限。4.1 配置SSH公钥认证公钥认证的原理是在客户端生成一对密钥公钥和私钥将公钥上传到服务器。登录时客户端用私钥签名服务器用公钥验证。这种方式避免了密码在网络传输或服务器端存储的风险。服务器端交换机配置在AAA视图下创建对应用户并指定认证方式为公钥。[Core-Switch] aaa [Core-Switch-aaa] local-user netadmin service-type ssh [Core-Switch-aaa] local-user netadmin authentication-type sshkey将客户端的公钥内容通常是一个ssh-rsa AAAAB3Nza...开头的字符串配置到对应用户下。需要先将公钥文件上传到交换机的存储设备中。# 假设公钥文件已上传为flash:/netadmin_pubkey.pub [Core-Switch] rsa peer-public-key netadmin_key [Core-Switch-rsa-public-key] public-key-code begin # 在此处粘贴公钥文件内容或通过终端软件导入 [Core-Switch-rsa-public-key] public-key-code end [Core-Switch-rsa-public-key] peer-public-key end # 将公钥绑定到用户 [Core-Switch] ssh user netadmin assign rsa-key netadmin_key客户端如OpenSSH连接ssh -i /path/to/your/private/key netadmin192.168.1.1配置成功后登录时将不再需要输入密码。4.2 实施基于角色的权限控制RBAC不是所有管理员都需要level 15的最高权限。华为VRP支持命令级别0-15和用户级别。我们可以创建不同级别的用户并自定义命令集。创建自定义命令视图例如创建一个“只读监控员”角色只能执行display和ping等诊断命令。[Core-Switch] system-view [Core-Switch] command-privilege level 3 view network display [Core-Switch] command-privilege level 3 view network ping # 将display和ping命令在network视图下的执行权限赋予级别3创建对应级别的用户[Core-Switch] aaa [Core-Switch-aaa] local-user monitor password cipher MonitorPass123 [Core-Switch-aaa] local-user monitor privilege level 3 [Core-Switch-aaa] local-user monitor service-type ssh这样用户monitor登录后只能执行被授权给级别3的命令无法进行任何配置更改。通过精细划分命令权限即使某个低权限账户凭证泄露也能将损失降到最低。在实际项目中我习惯在设备上线前就准备好一份标准安全配置清单里面就包含了上述所有步骤的脚本。有一次巡检正是靠display users命令里一个陌生的源IP我们发现了一台误接入管理网络的访客笔记本及时避免了潜在风险。安全配置从来不是一劳永逸的它需要被纳入日常的运维检查流程中比如定期审查登录日志、更新密钥、复核ACL规则。把这些细节做到位你的网络设备才能真正称得上是一台坚固的堡垒。