Telnet 協議明文傳輸、預設僅驗證密碼 (無用戶名),是路由器管理平面的巨大安全隱患。本文以 Cisco IOS / 華為 VRP 通用命令為例,演示如何配置 **本地用戶數據庫 + VTY 線路 `login local`** 實現「用戶名+密碼」雙因子式登入,並延伸至 SSH 替代、AAA/RADIUS 集中認證、管理平面保護 (CoPP) 的進階加固體系。
Router> enable
Router# configure terminal
Router(config)# username admin privilege 15 secret StrongP@ssw0rd2024!
Router(config)# username netops privilege 1 secret ReadOnlyP@ss2024!
• `privilege 15` = 特權模式 (相當 root);`privilege 1` = 用戶模式 (唯讀)。
• `secret` 使用 MD5/SHA-256 加密存儲 (舊版 `password` 為可逆弱加密),**強制使用 `secret`**。
Router(config)# line vty 0 4
Router(config-line)# password FallbackLineP@ss ! 保留 line 密碼作備用 (若 AAA 故障)
Router(config-line)# login local
Router(config-line)# transport input ssh ! 僅允許 SSH,**禁用 Telnet**
Router(config-line)# exec-timeout 10 0 ! 10 分鐘無操作自動斷開
Router(config-line)# access-class 10 in ! 應用 ACL 限制管理源 IP (見下文)
Router(config)# access-list 10 permit 10.255.0.0 0.0.0.255 ! 管理網段 10.255.0.0/24
Router(config)# access-list 10 deny any log
僅允許跳板機/堡壘機/運維 PC 所在網段訪問 VTY,其他來源直接丟棄並記日誌。
本地用戶分散在各設備,密碼輪換、人員離職撤銷極其痛苦。生產網必須部署 AAA 服務器:
! 1. 啟用 AAA
aaa new-model
! 2. 定義 RADIUS 服務器組
radius server ISE_PRIMARY
address ipv4 10.255.1.10 auth-port 1812 acct-port 1813
key RadiusSharedSecretKey
!
radius server ISE_SECONDARY
address ipv4 10.255.1.11 auth-port 1812 acct-port 1813
key RadiusSharedSecretKey
!
aaa group server radius RADIUS_GROUP
server name ISE_PRIMARY
server name ISE_SECONDARY
! 3. 定義認證/授權/計費方法列表
aaa authentication login VTY_AUTH group RADIUS_GROUP local ! 優先 RADIUS,回退本地
aaa authorization exec VTY_AUTHZ group RADIUS_GROUP local if-authenticated
aaa accounting exec VTY_ACCT start-stop group RADIUS_GROUP
! 4. 應用到 VTY
line vty 0 15
login authentication VTY_AUTH
authorization exec VTY_AUTHZ
accounting exec VTY_ACCT
transport input ssh
access-class 10 in
優勢:統一身份源、強制雙因子 (MFA)、命令授權 (僅允許特定命令集)、全審計日志 (誰、何時、什麼命令、結果)、密碼策略集中管控 (複雜度/過期/歷史)。
即使 ACL/AAA 完美,攻擊者仍可發送海量 SSH/Telnet/SNMP/ICMP 封包佔用 CPU,導致控制平面無響應。CoPP (Control Plane Policing) 在數據平面入口對管理流量分類、限速:
class-map type control-plane match-any SSH_CLASS
match access-group name SSH_ACL
!
policy-map type control-plane COPP_POLICY
class SSH_CLASS
police rate 100 pps conform transmit exceed drop ! 限制 SSH 嘗試 100pps
class class-default
police rate 500 pps conform transmit exceed drop ! 其他管理流量 500pps
!
control-plane
service-policy input COPP_POLICY
配合 `login block-for 120 attempts 3 within 60` (登入失敗 3 次鎖定 120 秒)、`login quiet-mode access-class QUIET_ACL` (靜默模式白名單),構建纵深防禦。
路由器管理平面安全是網絡安全的「守門員」。從 `login local` 起步,演進至 AAA+CoPP,每一步都顯著提高攻擊成本。不要等到日誌出現「Failed login from 192.168.1.100」才醒悟 — 此刻開始加固。