3. 配置合规基线与标准
在完成合规治理的整体框架设计之后,真正落到设备上的第一步,是把“合规”从抽象要求变成可检查、可复现、可版本化的配置基线。配置合规基线(Configuration Compliance Baseline)是指:针对某一类网络设备角色(如核心交换机、汇聚交换机、接入交换机、出口路由器、防火墙等),在特定软件版本与业务场景下,规定其必须满足的一组配置项、取值范围、启用状态与禁止项,并以此作为日常巡检、变更审批与审计比对的统一参照。它既不是一份“推荐配置大全”,也不是某台设备的运行配置快照,而是经过裁剪、参数化、可复用、可判定的标准配置集合。
理解基线,需要区分三个容易混淆的概念。第一是运行配置,即设备当前实际生效的配置,它反映现状,可能合规也可能不合规。第二是基线模板,即标准化的配置骨架,包含固定项与可变参数,用于生成目标配置。第三是合规判定规则,即把运行配置与基线模板逐项比对后,得出“符合、缺失、多余、取值越界”等结论的逻辑。三者关系可以概括为:模板定义“应该是什么”,运行配置代表“现在是什么”,判定规则回答“差在哪里”。只有三者齐备,合规检查才具备可执行性。
从图中可以看到,基线并不是凭空产生的,它来自“外部规范 + 内部制度”的双重输入,经过模板化设计后,再通过 Comware 的命令体系落地,最终形成采集、解析、比对、结论、处置的判定闭环。下面分别展开三个关键环节。
一、行业规范与内部制度的映射方法
外部规范通常以“要求条款”的形式出现,例如“应启用远程管理的加密传输”“应对重要操作进行日志记录”“应限制空闲超时时间”。这些条款不能直接变成配置命令,必须经过一次映射:把条款翻译为设备上可观察、可判定的配置对象。映射时建议使用“条款 → 控制目标 → 配置对象 → 判定条件”四列结构。以“远程管理加密”为例,控制目标是禁止明文 Telnet、启用 SSH;配置对象是 telnet server、ssh server、user-interface vty 下的 protocol inbound;判定条件是 Telnet 未启用、SSH 已启用、VTY 仅允许 SSH 接入。内部制度则往往更具体,例如“接入交换机必须关闭未使用端口”“所有上联口必须配置描述且包含对端设备名”,这类要求直接对应接口配置项,映射难度较低,但需要明确适用范围,避免把接入侧要求误加到核心设备上。
映射过程中最容易出问题的是“一对多”和“多对一”。一条外部条款可能对应多个配置对象,例如“访问控制”可能同时涉及 ACL、VTY 权限、SNMP 团体字、NTP 认证;而多个条款也可能共同约束同一个对象,例如密码复杂度、密码有效期、密码历史记录都落在本地用户与密码策略上。建议在映射表中为每条记录标注唯一编号,并记录来源条款号,便于后续审计追溯。
二、基线模板的设计原则
基线模板要同时满足“标准统一”和“场景可调”两个目标,设计时应遵循以下原则。第一,按角色分类,不要用一份模板覆盖所有设备。核心交换机、接入交换机、出口路由器的职责不同,基线项差异很大。第二,固定项与参数项分离,固定项如 ssh server enable、undo telnet server enable 不允许随意改动;参数项如管理 VLAN、NTP 服务器地址、SNMP 位置字符串,应使用占位符表示,由具体设备填充。第三,可判定优先,每条基线项都要能回答“怎么查、查什么、什么算合格”,避免写入“建议合理配置”这类无法判定的描述。第四,版本绑定,Comware V7 与 V5 在命令语法、默认行为上存在差异,模板必须标注适用的软件版本范围。第五,最小必要,基线只约束合规必需项,不要把性能调优、业务策略等易变内容纳入,否则会导致大量误报,削弱基线的权威性。
三、Comware 适配方法
把模板落到 Comware 设备上,需要处理视图层级、命令语法、默认值和校验命令四个问题。Comware 采用分层视图,系统视图、接口视图、用户线视图、协议视图各自独立,模板中的每一项都应明确其所在视图。例如 SSH 相关配置在系统视图,VTY 协议限制在 user-interface vty 视图,接口描述在接口视图。命令语法方面,要注意缩写与全称的等价性,例如 dis cu 与 display current-configuration 等价,但基线判定时建议统一使用全称,避免因缩写差异造成误判。默认值问题尤为关键:Comware 中很多安全相关功能默认关闭,例如 ssh server 默认未启用,telnet server 默认可能启用,模板必须显式写出“启用”或“关闭”,不能依赖默认状态。校验命令应尽量选择输出稳定、字段明确的命令,例如用 display ssh server status 判断 SSH 状态,用 display current-configuration | include telnet 判断是否存在 Telnet 相关配置。
下面给出一份可直接参考的接入交换机基线模板片段,采用“固定项 + 参数项”结构,参数用 { } 标注。该示例为教学示例,实际部署时需按现场规划替换参数并验证。
# 角色:接入交换机 适用版本:Comware V7
# 固定项
ssh server enable
undo telnet server enable
undo http server enable
undo snmp-agent community read public
snmp-agent sys-info version v3
# 参数项
sysname {SW_NAME}
ntp-service unicast-server {NTP_IP}
snmp-agent sys-info location {LOCATION}
# 用户线
user-interface vty 0 4
authentication-mode scheme
protocol inbound ssh
idle-timeout 10 0
# 接口(对每个用户口)
interface {PORT}
description {PEER_DESC}
undo shutdown
# 校验命令
display ssh server status
display current-configuration | include telnet
display users
判定时,把设备运行配置按视图解析后与模板逐项比对。以 protocol inbound ssh 为例,若运行配置中该行为 protocol inbound all 或缺失,则判定为“不符合”;若存在 protocol inbound telnet,则判定为“严重不符合”。对于 idle-timeout,若实际值大于模板要求,判定为“取值越界”。对于模板中未出现但运行配置中存在的项,如 telnet server enable,判定为“多余且违规”。所有偏差应记录设备名、视图、命令、期望值、实际值、判定结论与建议动作,形成可跟踪的整改清单。
综上,配置合规基线的本质是把规范要求转化为可判定的配置标准。行业规范与内部制度提供输入,模板设计负责结构化与参数化,Comware 适配解决命令落地与校验问题,三者共同支撑起后续的自动化检查与变更治理。只有基线本身清晰、可执行、可追溯,合规治理才不会停留在纸面。