Telnet 預設埠 23 明文傳輸、掃描器首選目標。本文提供 Cisco 路由器/交換機修改 Telnet 埠、封鎖 23 埠、限制來源 IP、驗證生效的四步標準化操作流程,構建遠程管理安全基線。
Router> enable
Router# configure terminal
Router(config)# line vty 0 4 ! 根據設備型號確認 VTY 數量,常見 0-4 或 0-15
Router(config-line)# password ! 設定 Telnet 密碼(建議 ≥12 位複雜度)
Router(config-line)# login ! 啟用密碼驗證
Router(config-line)# exec-timeout 5 0 ! 5 分鐘無操作自動登出
Router(config-line)# transport input telnet ! 明確指定允許 Telnet(若改 SSH 則為 ssh)
Router(config-line)# exit
username admin privilege 15 secret + login local 實現本地用戶名/密碼認證,優於單純 line password。Cisco 使用 rotary 機制映射虛擬埠:實際監聽埠 = 3000 + rotary 值。
Router(config)# line vty 0 4
Router(config-line)# rotary 2 ! 設定 rotary 值為 2
Router(config-line)# exit
! 實際 Telnet 連接埠 = 3000 + 2 = 3002
! 連接命令:telnet 3002
! 1. 建立擴展 ACL
Router(config)# access-list 101 deny tcp any any eq 23 ! 封鎖所有來源訪問 23 埠
Router(config)# access-list 101 permit tcp any any eq 3002 ! 允許訪問新埠 3002
Router(config)# access-list 101 permit ip any any ! 允許其他所有 IP 流量(視策略調整)
! 2. 應用到 VTY 線路(入方向)
Router(config)# line vty 0 4
Router(config-line)# access-class 101 in
Router(config-line)# exit
! 假設管理網段為 10.10.10.0/24
Router(config)# access-list 101 permit tcp 10.10.10.0 0.0.0.255 any eq 3002
Router(config)# access-list 101 deny tcp any any eq 23
Router(config)# access-list 101 deny tcp any any eq 3002 ! 拒絕非管理網段訪問新埠
Router(config)# access-list 101 permit ip any any
! 應用到 VTY
Router(config)# line vty 0 4
Router(config-line)# access-class 101 in
access-class in 過濾連接到路由器自身的流量(控制平面),不影響過境流量。permit ip any any 必須放最後,隱含 deny any any。PC> telnet 23
Connecting to :23 ... [Connection refused / Timeout / No route]
PC> telnet 3002
Trying , 3002 ... Open
User Access Verification
Password:
Router>
show access-lists 101 觀察 deny tcp any any eq 23 計數器增長。ssh -l admin 確保主管理通道正常。! 1. 生成 RSA 金鑰 (模數 ≥ 2048)
Router(config)# crypto key generate rsa modulus 2048
! 2. 啟用 SSHv2
Router(config)# ip ssh version 2
Router(config)# ip ssh authentication-retries 3
Router(config)# ip ssh time-out 60
! 3. VTY 僅允許 SSH
Router(config)# line vty 0 4
Router(config-line)# transport input ssh
Router(config-line)# login local
! 4. 移除 rotary、ACL 針對 Telnet 的規則(保留 SSH ACL 限制來源 IP)
| 階段 | 關鍵動作 | 命令核心 | 驗證方式 |
|---|---|---|---|
| 1. 基礎認證 | VTY 密碼/本地用戶、超時、僅允許 Telnet/SSH | line vty / password / login / transport input | Telnet/SSH 連接提示認證 |
| 2. 修改埠 | 設定 rotary 值 N → 實際埠 3000+N | rotary N | telnet ip 300N 連接成功 |
| 3. 封鎖 23 | 擴展 ACL deny 23 + permit 新埠 + access-class in | access-list 101 / access-class 101 in | telnet ip 23 失敗;show access-lists 計數增長 |
| 4. 終極方案 | 啟用 SSHv2、禁用 Telnet、限制管理來源 IP | crypto key generate rsa / ip ssh version 2 / transport input ssh | SSH 連接成功;Telnet 完全不可達 |
結語: 修改埠僅是「隱藏」,封鎖 23 埠才是「防禦」,限制來源 IP 才是「最小權限」,棄用 Telnet 改用 SSHv2 才是根治。請按環境成熟度逐級落地,並納入網絡設備安全基線檢查清單定期巡檢。