19、H3C交换机安全加固
Categories:
6 分钟阅读
定位:H3C S 系列交换机(Comware V7,兼容 V9)等保三级安全加固手册:以
password-control全局密码管理为主线,覆盖口令老化/长度/组合/历史、登录失败黑名单、会话超时与登录账户、SSH 替代 Telnet、管理地址 ACL、日志与时间同步、SNMPv3、服务收敛,并附 V5/V7/V9 版本差异对照。适用版本:H3C Comware V7(S 系列交换机)。 版本适用性:按 Comware V7 编写,V9 命令一致;V5 老平台差异见文末对照表。 配套文章:06、华为交换机安全加固、02、思科网络设备安全配置命令、10、常见交换机加固。
本篇最关键的核验点:H3C 出厂时全局密码管理功能是关闭的(display password-control 显示 Password control: Disabled)。未执行 password-control enable 之前,下面所有老化、长度、组合、失败锁定配置均不生效——这也是测评现场最常见的整改遗漏。
使用说明:
- 本文为加固操作手册:所有命令都会修改配置,可能中断服务、断开当前会话或需要重启。实施前必须完成变更审批、确认业务窗口、备份原配置(设备
save与copy running-config/backup startup-configuration,主机备份/etc、注册表与关键业务数据),并准备可执行的回滚预案。- 先在测试环境或单台设备灰度验证,确认无业务影响后再批量推广;每完成一项立即用文中「验证」命令核验生效——配置已下发不等于策略已生效(如 H3C 未
password-control enable、Linux 未对存量账户chage、Windows 未gpupdate /force)。- 示例中的地址、账户名、口令、路径均为演示值(如
PleaseChange@123、192.168.10.20、admin123),现场须替换为符合本单位口令策略与网络规划的真实值,严禁直接沿用文中示例口令;对外发布或归档时须对个人信息与内网管理地址脱敏。- 命令不存在、视图名或参数与本文不一致时,先用
display version/show version/winver确认版本与部署形态,再查阅对应版本官方文档换用等效命令;版本差异不得直接作为「无法整改」的结论,须给出替代措施并评估其实际效果。- 涉及账户、锁定、超时、防火墙与端口收敛的变更存在锁死自身风险:务必保留一条已验证的恢复通道(Console 口、带外管理口、堡垒机会话或另一管理员账户)后再实施。
- 加固完成后按「16、安全评估加固记录表3.0」逐项留痕(整改前后回显、操作人、时间、验证结论、回退情况),并纳入复测;测评判定口径以 GB/T 28448-2019 与《高风险判定指引》为准,本文的「加固要点」不构成最终测评结论。
不适用标识说明:
- 使用
【不适用】明确标记现场可判定为不适用的控制点,并写明判定依据与承载该能力的上位组件。- 依据 GB/T 28448-2019「按测评对象实际承载功能与数据处理范围判定」原则:控制能力由统一认证平台、堡垒机、日志审计系统、终端管理系统、虚拟化平台或云托管平台承载时,应注明测评单元边界后判定不适用或转由上位组件核查,不得机械按缺失判不符合。
- 产品版本确实不提供该能力(如老旧设备无 SNMPv3、无可信根、社区版无审计模块、已停止官方支持的操作系统)时,须核查替代措施并按替代措施的实际效果定档,不得直接判不适用;已停止支持的版本应同时提出升级或补偿控制建议。
一、口令策略(password-control)
对应控制点:GB/T 22239-2019 8.1.4.1 身份鉴别 a)(身份鉴别信息具有复杂度要求并定期更换)
加固要点:按「复杂度 + 长度 + 老化 + 历史」四要素同时配置:最小长度不低于 8 位(管理账户与三级系统建议 12~16 位)、至少包含大写字母/小写字母/数字/特殊字符中三类、老化时间不超过 90 天、历史口令防重复不少于 5 次;配置后须对存量账户逐个下发生效(Linux
chage -M 90 用户名、设备侧用户组或本地用户粒度策略),仅改全局模板不追溯存量账户是现场最高频的整改回退点。三级系统另需核查最高权限账户是否同受复杂度与老化约束(enforce_for_root、password policy administrator)。验证方法:策略配置回显(设备
display password-control/display current-configuration | include password;Linuxgrep -E "^PASS_" /etc/login.defs、grep pwquality /etc/pam.d/system-auth*;Windowssecedit /export或net accounts)+ 存量账户抽查(chage -l 用户名、设备display local-user)+ 一次弱口令修改实测记录,证明策略真的拦截而非仅配置存在。
设备或主机存在空口令、出厂默认口令(admin/admin、cisco/cisco、huawei、h3c)或弱口令管理账户,或口令策略仅在模板中配置而未对存量账户生效,按《高风险判定指引》可直接判高风险。H3C 设备未执行 password-control enable 时全部老化、长度、组合与失败锁定配置实际不生效,属高频「已整改但无效」情形,复测必须重新实测而非只看配置。
判定口径详见 22、高风险判定指引与加固对照表。
1.1 全局开关与老化时间
对应控制点:GB/T 22239-2019 8.1.4.1 身份鉴别 a)(身份鉴别信息具有复杂度要求并定期更换)
<Sysname> system-view
[Sysname] password-control enable ! 开启全局密码管理功能(前提,必配)
[Sysname] password-control aging 80 ! 全局口令老化时间 80 天
[Sysname] user-group test
[Sysname-ugroup-test] password-control aging 90 ! 用户组粒度:90 天
[Sysname-ugroup-test] quit
[Sysname] local-user abc class manage
[Sysname-luser-manage-abc] password-control aging 100 ! 设备管理类本地用户粒度:100 天
1.2 口令最小长度与组合复杂度
对应控制点:GB/T 22239-2019 8.1.4.1 身份鉴别 a)(身份鉴别信息具有复杂度要求并定期更换)
[Sysname] password-control length 16 ! 全局最小长度 16 字符
[Sysname] password-control composition type-number 4 type-length 5
! 至少包含 4 类字符,每类至少 5 个
! (用户组/本地用户视图下可单独配置,同上)
1.3 口令历史与更新间隔
对应控制点:GB/T 22239-2019 8.1.4.1 身份鉴别 a)(身份鉴别信息具有复杂度要求并定期更换)
[Sysname] password-control history 5 ! 记录 5 条历史口令,禁止重复使用
[Sysname] password-control update-interval 24 ! 两次修改的最小间隔 24 小时
1.4 super 密码管理
对应控制点:GB/T 22239-2019 8.1.4.2 访问控制 a)~g)(设备自身管理安全);承载边界访问控制功能时另对应 8.1.3.2 访问控制 a)~c)
加固要点:按权限级别分配账户并实现管理权限分离、默认账户已改名或删除、无多余与共享账户、VTY/Console 已绑定 ACL 限制管理来源、关闭未用端口与未用服务、配置了基于角色的授权 → 符合;有权限分级但 VTY 未限制来源、存在共享账户 → 部分符合;VTY 无 ACL 且无权限分级、任意来源可尝试登录 → 不符合。承载边界访问控制功能时,另需核查 8.1.3.2 的策略粒度与默认拒绝。
验证方法:账户与权限级别对照表、VTY/Console 线路配置与 ACL 绑定输出、管理来源限制与拒绝实测、端口与服务开关状态、访问控制策略文档与变更记录、边界 ACL 或安全策略截图(若承载边界功能)。
VTY 线路未绑定 ACL 且管理面对全网开放,或全部运维人员共用同一高权限账户、未实现管理职责分离,属高风险线索;未用端口未关闭且无端口安全,接入侧可任意私接设备时按高风险处理。
判定口径详见 22、高风险判定指引与加固对照表。
[Sysname] super password level 15 cipher PleaseSuper@123
<Sysname> display password-control super
二、登录失败处理
对应控制点:GB/T 22239-2019 8.1.4.1 身份鉴别 b)(提供登录失败处理功能,限制非法登录次数)
加固要点:配置并启用「连续失败 N 次锁定 M 分钟」,N 建议 3
5 次、M 建议 1030 分钟,且必须覆盖最高权限账户(root / Administrator / super / privilege 15);同时保留紧急恢复通道(Console 口本地登录或带外管理口),避免锁定策略把运维人员一并锁在门外。Linux 按版本选择 pam_tally2(CentOS/RHEL 7 及更早)或 pam_faillock(RHEL 8+/麒麟 V10/openEuler),两套机制不可混配;Windows 须同时设置「账户锁定阈值」「锁定时间」「重置计数器」三项,仅设阈值不设计时器不生效。验证方法:配置回显(
grep -E "tally2|faillock" /etc/pam.d/*、display current-configuration | include wrong-password、secpol.msc账户锁定策略截图)+ 一次真实失败登录实测:连续输错至阈值后确认账户被锁定、锁定计时生效、pam_tally2 -u/faillock --user/display password-control blacklist能查到计数,并验证解锁命令可用;实测记录须含时间、操作人与被锁账户。
管理入口未配置任何登录失败处理措施且管理面对全网或互联网开放,可被无限次口令猜测时,按高风险线索记录;锁定策略未覆盖最高权限账户(root/Administrator/super/level-15),或未保留 Console/带外恢复通道导致锁定即失联,同样记录为高风险线索。
判定口径详见 22、高风险判定指引与加固对照表。
[Sysname] password-control login-attempt 4 exceed lock
! 连续失败 4 次,永久锁定(加入黑名单)
[Sysname] password-control login-attempt 2 exceed lock-time 3
! 或:失败 2 次锁定 3 分钟后允许重试
<Sysname> display password-control blacklist
黑名单示例输出(节选):
Username: test
IP: 192.168.44.1 Login failures: 4 Lock flag: lock
Blacklist items matched: 1.
解除锁定:
[Sysname] password-control blacklist all ! 或按用户/按 IP 解除
三、会话超时与登录账户
对应控制点:GB/T 22239-2019 8.1.4.1 身份鉴别 b)(配置并启用结束会话、登录连接超时自动退出)
加固要点:所有管理入口(Console、VTY、SSH、RDP、Web 管理台、数据库会话)统一配置空闲超时,建议 5~10 分钟自动断开,超时值不得设为 0 或 never。Linux 用
TMOUT写入/etc/profile(并防止被普通用户覆盖,必要时readonly TMOUT或在 sshd_config 配ClientAliveInterval/ClientAliveCountMax);Windows 用「屏幕保护程序 + 恢复时显示登录屏幕」或组策略「交互式登录空闲时间限制」,服务器另需设置 RDP 会话的空闲与断开时限;设备侧用exec-timeout/idle-timeout,Console 与 VTY 线路须分别配置。验证方法:配置回显(
grep -rn TMOUT /etc/profile /etc/profile.d/、sshd -T | grep -Ei "clientalive"、show running-config | section line vty、display current-configuration configuration user-interface、组策略或注册表ScreenSaveTimeOut截图)+ 实测:登录后静置至阈值确认会话被自动断开且需重新鉴别;核查普通用户能否unset TMOUT绕过。
管理会话无任何空闲超时(TMOUT 未设置或为 0、设备 exec-timeout 0 0、RDP 会话永不注销、屏幕保护未启用),运维人员离岗后他人可直接接管已鉴别的高权限会话,按高风险线索记录。
判定口径详见 22、高风险判定指引与加固对照表。
[Sysname] local-user sysadmin class manage
[Sysname-luser-manage-sysadmin] password cipher PleaseChange@123
[Sysname-luser-manage-sysadmin] service-type ssh
[Sysname-luser-manage-sysadmin] authorization-attribute user-role level-15
[Sysname-luser-manage-sysadmin] quit
[Sysname] user-interface vty 0 63
[Sysname-line-vty0-63] idle-timeout 5 0 ! 空闲 5 分钟自动断开
四、SSH 远程管理(替代 Telnet)
对应控制点:GB/T 22239-2019 8.1.4.1 身份鉴别 c)(远程管理时防止鉴别信息在传输中被窃听)、8.1.2.2 通信传输 a)b)
加固要点:远程管理一律走加密通道:设备侧仅放行 SSHv2/HTTPS 并关闭 Telnet/HTTP,RSA 密钥长度不低于 2048 位、禁用 CBC 模式与 3DES 等弱算法;主机侧禁用 Telnet/FTP,SSH 关闭 root 直接登录、优先密钥认证并按需启用「口令 + 密钥」双因素,RDP 启用 NLA 与 TLS 并把来源限制到管理网段或堡垒机。管理通道加密后仍须用 ACL/防火墙收敛来源——加密只解决窃听,不解决越权访问。
验证方法:设备侧
show ip ssh/display ssh server status确认版本与算法,show running-config | section line vty确认transport input ssh;主机侧sshd -T | grep -Ei "permitrootlogin|ciphers|macs|kexs"、ss -tlnp确认无 23/21 监听,WindowsGet-ItemProperty核查 RDP 的 NLA(UserAuthentication)与端口;从非管理网段发起连接实测被拒;必要时抓包确认无明文口令。
仍启用 Telnet/HTTP 明文管理,或 SSH 允许 root/Administrator 直接远程登录且使用弱口令,导致鉴别信息可被嗅探还原或管理入口可被爆破,按《高风险判定指引》可直接判高风险;管理端口未经边界限制直接对互联网开放时同样按高风险处理。
判定口径详见 22、高风险判定指引与加固对照表。
[Sysname] ssh server enable
[Sysname] undo telnet server enable ! 关闭 Telnet 明文管理
[Sysname] user-interface vty 0 63
[Sysname-line-vty0-63] authentication-mode scheme ! 走 AAA(local-user)认证
[Sysname-line-vty0-63] protocol inbound ssh ! 仅允许 SSH
验证:display ssh server status,预期 Stelnet server: Enable。
五、管理地址访问控制(ACL)
对应控制点:GB/T 22239-2019 8.1.4.2 访问控制 a)~g)(设备自身管理安全);承载边界访问控制功能时另对应 8.1.3.2 访问控制 a)~c)
[Sysname] acl basic 2001
[Sysname-acl-ipv4-basic-2001] rule permit source 192.168.1.5 0
[Sysname-acl-ipv4-basic-2001] rule permit source 10.10.5.0 0.0.0.255
[Sysname-acl-ipv4-basic-2001] rule deny source any
[Sysname-acl-ipv4-basic-2001] quit
[Sysname] user-interface vty 0 63
[Sysname-line-vty0-63] acl 2001 inbound
验证:display acl 2001、display current-configuration configuration user-interface。
六、日志与时间同步
对应控制点:GB/T 22239-2019 8.1.4.3 安全审计 a)~d)(设备自身);承载边界审计功能时另对应 8.1.3.5 安全审计 a)b)
加固要点:日志功能已启用、日志缓冲区容量合理、已配置日志主机/syslog 外发、日志级别覆盖登录注销与配置变更等重要事件、时间同步准确(NTP 且已启用认证)、审计记录留存不少于 6 个月并受保护、SNMP 未使用 v1/v2c 明文团体名 → 符合;已开日志但未外发、级别过低(仅 emergencies)、时间未同步、SNMP 用默认团体名 → 部分符合;日志完全未启用或无外发且留存不足 → 不符合(高风险)。
验证方法:日志开关与级别配置、缓冲区与日志主机配置输出、syslog 收端(日志审计系统/SOC)接收记录截图、NTP 配置与同步状态输出、SNMP 版本与团体名或用户配置、登录与配置变更日志抽样(脱敏)、留存周期核查记录。
设备日志未启用或未外发至日志主机/日志审计系统,或日志留存明显不足 6 个月且设备本地缓冲区已被覆盖,属高风险;NTP 未同步导致日志时间不可信、无法与上位告警关联时按高风险线索记录。
判定口径详见 22、高风险判定指引与加固对照表。
[Sysname] info-center loghost 192.168.10.20 ! 集中日志服务器(留存 ≥6 个月)
[Sysname] info-center source default channel loghost log level informational
[Sysname] clock protocol ntp ! 系统时钟采用 NTP 协议
[Sysname] ntp-service unicast-server 192.168.10.1
验证:display info-center、display ntp-service status、display clock。
七、SNMPv3
对应控制点:非独立控制点;SNMP v1/v2c 明文团体名对应 8.1.4.1 c) 鉴别信息传输保密与 8.1.4.8 a) 数据保密性,SNMP 用户与权限变更纳入 8.1.4.3 安全审计
加固要点:停用 SNMP v1/v2c 与默认/弱团体名(
public/private),改用 SNMPv3 并启用认证加密(auth sha、priv aes-128 及以上);SNMP 用户按最小权限分配只读视图,管理来源用 ACL 限制到网管地址;已不使用 SNMP 时直接关闭该服务。仅删除团体名而未创建 v3 用户会导致网管采集断裂,须与运维确认后再实施。验证方法:
show snmp/display snmp-agent community(应无 v1/v2c 团体名)、show snmp user/display snmp-agent usm-user;用snmpwalk -v3 -l authPriv实测可读、用 v2c 携带原团体名实测被拒;网管侧确认采集正常。
SNMP v1/v2c 使用默认团体名 public/private 且开放 RW 权限,攻击者可读取全量配置甚至下发变更,按《高风险判定指引》可直接判高风险;仅停用 v2c 而未部署 v3 认证加密导致网管失控,须同时评估运维影响。
判定口径详见 22、高风险判定指引与加固对照表。
[Sysname] undo snmp-agent community ! 清理 v1/v2c 弱团体字
[Sysname] snmp-agent sys-info version v3
[Sysname] snmp-agent group v3 v3group privacy read-view ViewDefault
[Sysname] snmp-agent usm-user v3 v3user v3group authentication-mode sha PleaseAuth@123 privacy-mode aes128 PleasePriv@123
验证:display snmp-agent community、display snmp-agent usm-user。
八、关闭不必要的服务
对应控制点:GB/T 22239-2019 8.1.4.4 入侵防范 a)~f)(设备自身);承载边界入侵防范功能时另对应 8.1.3.3 入侵防范 a)b)
加固要点:关闭未用服务(Telnet、FTP、HTTP 管理面按需、SNMP v1/v2c、LLDP/CDP 按需)、启用端口安全与 DHCP Snooping/DAI/ARP 检测、配置 CPU 保护与攻击防范策略、管理面 ACL 限制来源、软件版本无已知高危漏洞并及时升级、具备配置回滚能力 → 符合;部分措施到位(如启用端口安全但未做 DHCP Snooping、有版本记录无漏扫闭环)→ 部分符合;管理服务对全网开放、无任何攻击防范策略、存在已知高危漏洞未修补 → 不符合(高风险)。
验证方法:服务开关与端口状态输出、端口安全/DHCP Snooping/DAI 配置、攻击防范与 CPU 保护策略、管理面 ACL、版本与补丁升级记录、漏扫报告与整改工单、上位 IPS/NDR 针对本设备的告警。
存在已知高危漏洞未修补(含已停止官方支持的型号与版本),或未启用任何攻击防范策略(无 CPU 保护、无 DHCP Snooping/DAI、无端口安全)导致设备可被作为攻击跳板,属高风险;管理端口对互联网开放时按高风险处理。
判定口径详见 22、高风险判定指引与加固对照表。
[Sysname] undo telnet server enable
[Sysname] undo ftp server ! 关闭 FTP
[Sysname] undo ip http enable ! 关闭 HTTP Web 管理
[Sysname] undo ip https enable ! 不使用 Web 管理时一并关闭
九、验证命令汇总
display password-control ! 全局密码管理状态与策略
display password-control blacklist ! 登录失败黑名单
display password-control super ! super 密码策略
display ssh server status ! SSH 服务状态
display acl 2001 ! 管理源地址限制
display info-center ! 日志配置
display ntp-service status ! NTP 状态
display snmp-agent community ! SNMP 团体字
display current-configuration ! 全量配置
测评项对照表
| 控制点(GB/T 22239-2019) | 对应章节 |
|---|---|
| 身份鉴别:口令复杂度与定期更换 | 一 |
| 身份鉴别:登录失败处理 | 二 |
| 身份鉴别:会话超时自动退出 | 三 |
| 身份鉴别:远程管理防窃听(SSH) | 四 |
| 访问控制:管理地址限制、账户最小化 | 三、五、八 |
| 安全审计:日志集中留存与时间同步 | 六 |
| 入侵防范:关闭不必要服务与端口 | 七、八 |
版本适用性对照(V5 / V7 / V9)
| 配置项 | Comware V5 | Comware V7 / V9 |
|---|---|---|
| 本地用户 | local-user abc(无 class manage 分类) | local-user abc class manage |
| 用户角色 | level 3 | authorization-attribute user-role level-15 |
| 基本 ACL | acl number 2001 | acl basic 2001 |
| VTY 范围 | user-interface vty 0 15(常见) | user-interface vty 0 63 |
| password-control 及其子命令 | 支持,语法一致 | 支持,语法一致 |
参考依据
- GB/T 22239-2019《信息安全技术 网络安全等级保护基本要求》(8.1.4 安全计算环境各控制点(网络设备自身管理安全);承载边界功能时另涉 8.1.3 安全区域边界):http://openstd.samr.gov.cn/bzgk/gb/newGbInfo?hcno=BAFB47E8874764186BDB7865E8344DAF
- GB/T 28448-2019《信息安全技术 网络安全等级保护测评要求》(测评对象边界认定、单元测评实施与结果判定:符合/部分符合/不符合/不适用):http://openstd.samr.gov.cn/bzgk/gb/newGbInfo?hcno=7E736CDF4502B6FF1258DD250AA3EC8C
- GB/T 22240-2020《信息安全技术 网络安全等级保护定级指南》、GB/T 25070-2019《安全设计技术要求》、GB/T 28449-2018《测评过程指南》,可在全国标准信息公共服务平台检索:http://openstd.samr.gov.cn/bzgk/gb/
- 新华三官方站点(文档中心·安全配置指导/命令参考检索):https://www.h3c.com/cn/
- 《网络安全等级保护测评高风险判定指引》(中关村信息安全测评联盟团体标准)——高风险情形判定口径,站内对照表:22、高风险判定指引与加固对照表
- 命令核验说明:H3C Comware V7 命令以新华三官方文档中心对应版本的《安全配置指导》《安全命令参考》核验(核验日期 2026-09-02)。四处须留意:① 出厂全局密码管理功能默认关闭(
display password-control显示Password control: Disabled),未执行password-control enable前所有 aging/length/composition/history/login-attempt 配置均不生效,这是现场最常见的整改遗漏,复测须重新实测;②password-control login-attempt N exceed lock为永久锁定并加入黑名单,须配套display password-control blacklist与password-control blacklist all(或按用户/IP)解除手段,并保留 Console 恢复通道,避免把运维锁死;③password-control策略支持全局、用户组(user-group)与本地用户三级粒度,粒度越细优先级越高,核查时须确认最终生效层级;④ V5 与 V7/V9 在本地用户分类(class manage)、角色授权(level 3vsauthorization-attribute user-role level-15)、基本 ACL(acl number 2001vsacl basic 2001)与 VTY 范围(015 vs 063)上语法不同,跨版本套用会报错,须按文末对照表核对。