1. 课程导入与安全加固框架

在数据中心网络里,Cisco Nexus 交换机承担着高密度服务器接入、VXLAN 隧道封装、跨 Leaf-Spine 转发以及管理面控制等关键职责。一旦 Nexus 被攻破,攻击者可能横向移动至整个 Fabric,甚至通过管理面下发配置、篡改转发表项。因此,本课程不是单纯罗列命令,而是围绕“威胁模型—加固目标—验证闭环”建立一套可复现的安全加固方法。

一、Nexus 安全威胁模型

Nexus 的安全风险通常来自四个层面。第一是管理面:默认账号、弱口令、Telnet/HTTP 明文访问、SNMP v1/v2c 团体字泄露、AAA 未启用,都会让攻击者直接获得设备控制权。第二是控制面:未启用 CoPP(Control Plane Policing)时,ARP、ICMP、BGP、OSPF 等协议报文可能被泛洪,导致 CPU 过载、邻居震荡。第三是数据面:VLAN 跳跃、MAC 泛洪、DHCP 欺骗、ARP 欺骗、未授权端口接入,会造成流量窃听或中间人攻击。第四是运维面:配置备份未加密、日志外发未认证、镜像端口被滥用、NTP 未认证导致时间篡改,都会削弱审计与溯源能力。

这些威胁并非孤立存在。例如,攻击者先通过 SNMP 团体字读取设备信息,再利用弱口令登录管理面,随后关闭 CoPP 或修改 ACL,最终在数据面实施流量劫持。因此加固必须覆盖多个平面,而不是只改一个口令。

二、加固目标与验证闭环

本课程把加固目标归纳为五个可验证的维度:身份可信(AAA、RBAC、SSH 密钥)、访问可控(ACL、CoPP、端口安全)、数据可保(VLAN 隔离、DHCP Snooping、Dynamic ARP Inspection)、行为可审(Syslog、NTP、配置归档)、状态可验(show 命令、日志、抓包、基线比对)。

“验证闭环”是课程的核心方法论:先建立基线,再实施加固,然后通过验证确认效果,最后把结果回写到基线,形成持续改进。验证不是“看一眼 show run”,而是要有明确的预期值、观测点和判定标准。例如,启用 CoPP 后,应观察 show policy-map interface control-plane 的匹配计数是否增长,同时确认 BGP 邻居仍保持 Established。

Nexus 安全加固框架:四平面威胁 → 五维目标 → 验证闭环 管理面威胁 默认账号 / 弱口令 Telnet / HTTP 明文 SNMP v1/v2c 团体字 AAA 未启用 RBAC 权限过宽 控制面威胁 CoPP 未启用 协议报文泛洪 BGP/OSPF 邻居震荡 CPU 过载 路由表被篡改 数据面威胁 VLAN 跳跃 MAC 泛洪 DHCP / ARP 欺骗 未授权端口接入 中间人攻击 运维面威胁 配置备份未加密 日志外发未认证 镜像端口滥用 NTP 未认证 审计溯源困难 五维加固目标 身份可信 访问可控 数据可保 行为可审 状态可验 验证闭环:基线 → 加固 → 验证 → 回写 ① 建立基线 ② 实施加固 ③ 验证效果 ④ 回写基线 持续改进循环

三、课程实验环境搭建

为了让加固与验证可复现,本课程使用一套最小化但完整的实验拓扑。推荐使用 Cisco Nexus 9000v 或 Nexus 93180YC-FX 虚拟/物理设备,至少两台 Leaf 和一台 Spine,Leaf 之间通过 VXLAN 建立二层扩展。管理网络单独使用一个 VLAN,例如 VLAN 99,管理地址段为 192.168.99.0/24,其中 Spine 为 .1,Leaf-1 为 .11,Leaf-2 为 .12。所有设备启用 SSH、关闭 Telnet 和 HTTP,NTP 指向 192.168.99.1,Syslog 指向 192.168.99.200。

实验前需要准备一台 Linux 跳板机(如 192.168.99.100),用于 SSH 登录、抓包和日志收集。跳板机上安装 tcpdump、sshpass 和 python3,便于自动化验证。建议为每台 Nexus 创建独立的管理账号,例如 netadmin,并绑定到自定义角色 NETOPS,仅允许 show 和 configure 权限,禁止 bash 和 install 命令。

下面给出 Leaf-1 的基础加固配置示例,作为后续章节的起点。注意:以下参数属于教学示例,实际部署时应根据组织安全策略调整。

! 关闭明文管理服务
no feature telnet
no feature http-server

! 启用 SSH 和 AAA
feature ssh
aaa authentication login default group tacacs+ local
aaa authorization exec default group tacacs+ local
username netadmin password 0 Cisco@12345
role name NETOPS
  rule 1 permit show
  rule 2 permit configure
username netadmin role NETOPS

! 管理接口 ACL
ip access-list MGMT-ACL
  10 permit tcp 192.168.99.0/24 any eq 22
  20 permit tcp 192.168.99.0/24 any eq 443
  30 deny ip any any log
interface mgmt0
  ip access-group MGMT-ACL in

! NTP 与 Syslog
ntp server 192.168.99.1
logging server 192.168.99.200 6
logging source-interface mgmt0

! CoPP 启用
policy-map type control-plane COPP-POLICY
  class class-default
    police rate 10000 pps burst 10000 packets
control-plane
  service-policy input COPP-POLICY

配置完成后,使用以下命令验证关键状态:show running-config | include telnet|http 应无输出;show ssh server 应显示已启用;show aaa authentication 应显示 TACACS+ 优先;show policy-map interface control-plane 应看到 CoPP 策略已应用。若某条命令输出与预期不符,说明加固未生效,需要回到对应平面排查。

建议在实验前对每台设备执行 show tech-support 并保存为基线文件,后续每次加固后重新采集,用 diff 对比配置与状态变化,这是验证闭环中最直接的证据。
不要在生产设备上直接套用示例口令和 ACL。实验环境中的 192.168.99.0/24 仅为教学网段,实际部署必须替换为真实管理网段,并遵循最小权限原则。