Telnet 到Cisco路由器進行遠程管理是很多網管的選擇,但是通過Telnet傳輸的數據都是明文,因此這種登錄方式存在很大的安全隱患。一個惡意用戶完全可能通過類似Sniffer這樣的嗅探工具,在管理員主機或者適當的接口進行本地監聽獲取管理員登錄Cisoc路由器的密碼。
1、安全測試:
筆者在本地安裝了sniffer,然後利用Telnet登錄Cisco路由器。停止嗅探然後解碼查看,如圖1所示筆者登錄路由器進入用戶模式和全局模式是輸入的密碼都明文顯示出來了。雖然密碼被拆分成了兩部分,但一個有經驗的攻擊者完全可能將它們進行組合從而獲取Cisco路由器的登錄密碼。其實,不僅僅是這些,利用嗅探工具管理員所有在路由器上輸入的命令都會被嗅探到。這樣,就算是管理員更改了路由器的密碼,並且進行了加密但都可以嗅探得到
從上面最後一行Data:後面的那個C就表示我們輸入的第一個密碼。再接著查看後面的幾個Telnet Data數據包我們就可以看出它的密碼。這樣對於我們的網絡來說是特別不安全的。
2、SSH的安全性
SSH 的英文全稱是Secure Shell,是由芬蘭的一家公司開發的。SSH由客戶端和服務端的軟件組成,有1.x和2.x兩個不兼容的版本。SSH的功能強大,既可以代替 Telnet,又可以為FTP、POP3和PPP提供一個安全的“通道”。使用SSH,可以把傳輸的所有數據進行加密。即使有人截獲到數據也無法得到有用的信息。同時,數據經過壓縮,大大地加快傳輸的速度。它默認的連接端口是22。通過使用SSH,可以把所有傳輸的數據進行加密,這樣類似上面的“中間人” 攻擊方式就不可能實現了,而且它也能夠防止DNS和IP欺騙。另外,它還有一個額外的好處就是傳輸的數據是經過壓縮的,所以可以加快傳輸的速度。
3、SSH部署
基於上面的測試和SSH的安全特性,要實現Cisco路由器的安全管理用SSH代替Telnet是必要的。當然,要實現SSH對CISOC的安全管理,還需要在路由器上進行相關設置。下面筆者就在虛擬環境中演示SSH的部署、連接的技術細節。
(1).Cisco配置
下面是在Cisco上配置SSH的相關命令和說明:
R2(config)#ip domain-name cisco.com 配置一個域名
R2(config)#crypto key generate rsa general-keys modulus 1024 //生成一個rsa算法的密鑰,密鑰為1024位
(提示:在Cisoc中rsa支持360-2048位,該算法的原理是:主機將自己的公用密鑰分發給相關的客戶機,客戶機在訪問主機時則使用該主機的公開密鑰來加密數據,主機則使用自己的私有的密鑰來解密數據,從而實現主機密鑰認證,確定客戶機的可靠身份。)
The name for the keys will be: R2.cisco.com
% The key modulus size is 1024 bits
% Generating 1024 bit RSA keys, keys will be non-exportable...[OK]
R2(config)#
*Mar 1 00:09:46.607: %SSH-5-ENABLED: SSH 1.99 has been enabled
R2(config)#ip ssh time 120 設置ssh時間為120秒
R2(config)#ip ssh authentication 4 設置ssh認證重復次數為4,可以在0-5之間選擇
R2(config)#line vty 0 4
R2(config-line)#transport input ssh 設置vty的登錄模式為ssh,默認情況下是all即允許所有登錄
R2(config-line)#login
R2(config-line)#
這樣設置完成後,就不能telnet到Cisoc路由器了。
設置登錄方式,然後點擊“Open”。
而這裡就是頒發給我們的證書。
R2(config)#aaa new-model 啟用AAA
R2(config)#aaa authentication login default local 啟用aaa認證,設置在本地服務器上進行認證
R2(config)#username cisco pass cisco 創建一個用戶cisco並設置其密碼為cisco用於SSH客戶端登錄
R2(config)#line vty 0 4
R2(config-line)#login authentication default 設置使用AAA的default來進行認證
R2(config-line)#exit
R2(config)#
好了現在就可以使用SSH登錄了。
(2).SSH登錄
上面設置完成後就不能Telnet到cisco了,必須用專門的SSH客戶端進行遠程登錄。為了驗證SSH登錄的安全性,我們在登錄的過程中啟用網絡抓包軟件進行嗅探。
我采用的SSH客戶端為PuTTY,啟動該軟件輸入路由器的IP地址172.16.1.1,然後進行扥兩個會彈出一個對話框,讓我們選擇是否使用剛才設置的 SSH密鑰,點擊“是”進入登錄命令行,依次輸入剛才在路由器上設置的SSH的登錄用戶及其密碼cisco,可以看到成功登錄到路由器。
然後我們查看嗅探工具抓包的結果,所有的數據都進行了加密,我們看不到注入用戶、密碼等敏感信息。由此可見,利用SSH可以確保我們遠程登錄Cisco路由器的安全。
總結:其實,SSH不僅可用於路由器的安全管理。在我們進行系統的遠程管理、服務器的遠程維護等實際應用中都可以部署基於SSH遠程管理。另外,當下的 SSH工具不僅有命令行下的,也有一些GUI圖形界面下的工具。網絡管理,安全第一,SSH能夠極大程度地預防來自“中間人”的攻擊,希望本文對大家提升網絡管理的安全性有所幫助幫助。