萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 網路安全 >  >> 路由器知識 >> 路由器基礎

路由器 Telnet 安全加固實戰:配置本地用戶認證替代單密碼登入

Telnet 協議明文傳輸、預設僅驗證密碼 (無用戶名),是路由器管理平面的巨大安全隱患。本文以 Cisco IOS / 華為 VRP 通用命令為例,演示如何配置 **本地用戶數據庫 + VTY 線路 `login local`** 實現「用戶名+密碼」雙因子式登入,並延伸至 SSH 替代、AAA/RADIUS 集中認證、管理平面保護 (CoPP) 的進階加固體系。

為什麼預設 Telnet 不安全?

  • **明文傳輸:** 用戶名、密碼、命令輸出均可被中間人竊聽 (Wireshark 直接還原)。
  • **無用戶名審計:** 僅共享一個 `password`,無法追溯「誰在何時做了什麼」。
  • **弱口令風險:** 預設 `admin/admin`/`cisco/cisco` 為掃描器首選字典。
  • **無並發控制:** VTY 0-4 五條線路默認無連接數限制,易遭暴力破解佔滿線路導致管理員無法登入 (DoS)。

基礎加固:本地用戶 + `login local` (四步完成)

1. 進入全局配置模式創建本地用戶


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`**。

2. 進入 VTY 線路配置模式 (通常 0-4 或 0-15)


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 (見下文)

3. 定義管理平面訪問控制列表 (ACL) — 只信任運維網段


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,其他來源直接丟棄並記日誌。

4. 驗證測試

  • 從受信 IP (10.255.0.5) SSH 連接:`ssh admin@router_ip` → 提示用戶名/密碼 → 登入成功,`show users` 顯示 `admin vty 0 idle 00:00:00`。
  • 從非信任 IP Telnet/SSH → 連接被拒/超時 (ACL 生效)。
  • 從受信 IP Telnet → 連接被拒 (`transport input ssh` 生效)。

進階加固:企業級 AAA + RADIUS/TACACS+ 集中認證

本地用戶分散在各設備,密碼輪換、人員離職撤銷極其痛苦。生產網必須部署 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)、命令授權 (僅允許特定命令集)、全審計日志 (誰、何時、什麼命令、結果)、密碼策略集中管控 (複雜度/過期/歷史)。

終極防線:管理平面保護 (CoPP / CPPr)

即使 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` (靜默模式白名單),構建纵深防禦。

檢查清單:配完必核對

  1. 無 `line vty` 使用 `login` (無 local/AAA) 或無 `password`。
  2. 無 `transport input telnet` (全網設備)。
  3. 所有 VTY 應用 `access-class` 限制源 IP。
  4. 啟用 `aaa new-model` 並指向 RADIUS/TACACS+ (生產環境)。
  5. 配置 `enable secret` (非 `enable password`),採用 SHA-256 (`algorithm-type sha256`)。
  6. 配置 `service password-encryption` 加密配置文件中所有明文密碼。
  7. 備份配置至離線加密存儲,定期審計用戶列表、權限、登入日誌。

路由器管理平面安全是網絡安全的「守門員」。從 `login local` 起步,演進至 AAA+CoPP,每一步都顯著提高攻擊成本。不要等到日誌出現「Failed login from 192.168.1.100」才醒悟 — 此刻開始加固。

copyright © 萬盛學電腦網 all rights reserved