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。
三、课程实验环境搭建
为了让加固与验证可复现,本课程使用一套最小化但完整的实验拓扑。推荐使用 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 对比配置与状态变化,这是验证闭环中最直接的证据。