2. Arista EOS安全架构与基线框架

要理解 Arista EOS 上的安全基线与访问控制,不能只记住几条命令,而要先看清 EOS 的安全架构:它把“谁在管理设备、管理流量走哪条路、业务流量怎么被约束”拆成了几个相互独立又彼此配合的层次。EOS 本身是一个基于 Linux 的模块化网络操作系统,其安全设计可以概括为三句话:控制平面与数据平面分离、模块化进程与权限隔离、基线配置按层次递进收敛。本节围绕这三点展开,并给出可直接落地的基线框架。

一、EOS 的模块化安全设计

EOS 内部由多个独立进程(Agent)组成,例如负责路由协议的 Bgp、Ospf,负责接口与转发表的 Fib、IpRouting,负责管理的 Ssh、EosSdk 等。每个进程运行在受保护的 Linux 命名空间中,拥有独立的文件系统视图与资源配额。这种设计带来两个安全收益:其一,某个协议进程异常或崩溃不会直接拖垮整个系统,Sysdb(系统数据库)作为进程间通信总线,只允许经过校验的键值写入;其二,进程之间通过 Sysdb 交互而非直接内存共享,攻击面被显著收窄。

与模块化配套的是 权限分级。EOS 的 CLI 权限从 0 到 15 分级,默认 network-admin 为 15 级,network-operator 为 1 级。基线中应显式创建只读账号用于监控与审计,避免所有运维人员共用 15 级账号。例如:

username audit privilege 1 role network-operator secret sha512 <hash>
username netops privilege 15 role network-admin secret sha512 <hash>
management api http-commands
   protocol https
   no shutdown
   vrf MGMT

这里把 eAPI(HTTP-Commands)绑定到 MGMT VRF,是模块化安全在管理面的直接体现:管理接口与业务转发面在路由上被隔离。

二、控制平面与数据平面分离

EOS 的控制平面负责协议计算、路由决策、管理会话;数据平面负责实际的报文转发。二者分离的核心价值在于:即使控制平面被攻击或过载,数据平面仍可按已下发的转发表继续转发,业务不中断;反过来,数据平面的 ACL、QoS 策略也不会因为协议震荡而失效。

在基线上,这一分离通过三个手段落地。第一,管理面独立 VRF:将 SSH、eAPI、SNMP、NTP、TACACS+ 全部绑定到 MGMT VRF,业务 VRF 不暴露管理端口。第二,控制平面策略(CoPP):对送往 CPU 的流量分类限速,防止 ICMP、ARP、BGP 等协议报文被用于 DoS。第三,数据平面 ACL:在业务接口入方向部署 ACL,只放行必要流量。

下面这张图展示了 EOS 安全架构中管理面、控制面、数据面的分层关系,以及基线配置的作用位置:

管理面(MGMT VRF) SSH / eAPI SNMP / Syslog NTP / TACACS+ AAA 认证授权 RBAC 角色 控制面(CPU / Sysdb) BGP / OSPF 进程 Sysdb 系统数据库 CoPP 控制面策略 路由表 / FIB 下发 进程隔离 数据面(转发 ASIC) 入向 ACL 过滤 VLAN / VRF 隔离 QoS / 限速策略 出向 ACL 过滤 转发 基线作用点:管理面收敛入口 → 控制面限速保护 → 数据面最小放行

三、基线配置的层次结构

EOS 基线不是一堆命令的堆砌,而是有明确层次的收敛过程。从下往上依次是:设备基础层 → 管理访问层 → 控制平面保护层 → 数据平面策略层 → 监控审计层。每一层都依赖下一层已就绪,顺序颠倒会导致配置被覆盖或策略失效。

设备基础层包括主机名、管理 IP、默认网关、时钟与时区、Banner 登录警告。这一层看似简单,但 Banner 在法律合规中具有实际意义,应明确写出“未经授权禁止访问”。

管理访问层是安全基线中权重最高的部分。核心动作包括:关闭 Telnet 与 HTTP,只保留 SSHv2 与 HTTPS;限制源地址;配置 AAA 指向 TACACS+ 服务器;设置 exec-timeout 与登录失败锁定。示例:

management ssh
   idle-timeout 10
   authentication mode keyboard-interactive
   no shutdown
management console
   idle-timeout 10
aaa authentication login default group tacacs+ local
aaa authorization exec default group tacacs+ local
ip access-list MGMT-ACCESS
   10 permit tcp 10.10.0.0/24 any eq 22
   20 permit tcp 10.10.0.0/24 any eq 443
   30 deny ip any any log

注意最后一条 deny ip any any log,显式拒绝并记录,是基线可审计性的关键。没有 log 的隐式拒绝在排障时几乎无法定位。

控制平面保护层主要依赖 CoPP。EOS 默认已有 CoPP 策略,但基线中应根据实际协议启用情况调整。例如只运行 BGP 和 OSPF 的设备,可以收紧 ICMP 与未使用协议的限速值。查看当前策略用 show policy-map type copp,确认各 class 的 committed rate 是否符合预期。

数据平面策略层包括业务接口 ACL、VLAN 隔离、VRF 划分、端口安全(port-security)与 DHCP Snooping。对于数据中心场景,重点是东西向流量的最小化放行:只允许应用所需的端口与协议,其余显式拒绝。

监控审计层包括 Syslog 外送、SNMPv3 只读、NetFlow/sFlow 采样、配置变更日志。基线中应确保日志时间戳与 NTP 同步,否则跨设备关联分析会失效。

四、基线框架的落地检查

把上述层次整理成一份可执行的基线检查表,便于逐项核对。下表给出关键项与验证命令,参数为示例值,实际部署时应按环境调整:

层次 基线项 示例值 / 命令 验证方式
设备基础 Banner 与时钟 banner login、clock timezone show banner
管理访问 关闭 Telnet/HTTP no management telnet show management
管理访问 AAA 与源限制 TACACS+、MGMT-ACCESS ACL show aaa、show ip access-lists
控制平面 CoPP 限速 按协议调整 committed rate show policy-map type copp
数据平面 接口 ACL 与 VRF 最小放行、显式拒绝 show ip interface
监控审计 Syslog 与 NTP 外送服务器、时间同步 show logging、show ntp status
建议在变更窗口内按“设备基础 → 管理访问 → 控制平面 → 数据平面 → 监控审计”的顺序逐层实施,每层完成后用对应 show 命令确认,再进入下一层。若管理访问层配置错误导致失联,应提前准备好 Console 或带外管理通道。