SSH遠程管理網絡設備的注意事項
思科的大部分網絡設備都支持遠程管理。即利用遠程管理協議以命令行的方式登錄到網絡設備中,然后對這些設備進行管理。由于地理位置的限制,遠程管理現在已經是網絡設備管理的主要方式。一般情況下,只有在初始化設置的時候網絡管理員才會在通過控制臺直接管理網絡設備。然后后續的管理維護基本上都是通過遠程管理來實現。可見遠程管理對于思科網絡設備的重要性。
一、配置虛擬端口以支持遠程協議
在思科的網絡設備上,只要采用了IOS管理系統,那么都支持遠程管理協議。不過網絡管理員需要注意的是,遠程登錄跟遠程桌面不同。采用SSH等協議來進行遠程管理,基本上都是通過命令行方式來進行的。而對于思科網絡設備來說,如果要通過命令行形式來管理的,那么有一個前提條件,即需要配置虛擬端口的口令。特別需要說的是,如果要進行帶內訪問,那么還必須配置enable口令。雖然這個配置并不是很難,但是如果在設備初始化的時候,沒有配置虛擬端口的口令。那么就無法通過SSH等遠程登陸協議來管理網絡設備。
可以利用如下兩個命令來配置思科網絡設備虛擬端口的口令和enable口令:password(虛擬終端接口命令)和enable password(全局配置命令)。這里要注意這個命令的寫法。筆者同時還是一個Linux系統工程師。為此在維護思科網絡設備的時候,老是把這個password口令寫成passwd。因為在Linux操作系統中就是利用passwd來代替password的。
在進行配置的時候,主要需要注意enable password命令的使用。在這個命令中有一個可選項叫做encryption –type。主要用來指定采用什么方法對口令進行加密。據筆者所知,現在思科的網絡設備支持多達7種以上的口令加密方法。如果指定了這個選項的話,那么在交換機上配置這個enable口令的話還需要同時提供encrypted-password參數作為加密口令。不過對于大部分企業來說,沒必要進行這么復雜的設置,即不需要啟用這個選項。一般情況下只有這個設備是企業與互聯網之間的連接設備,即邊界路由器等等,由于其直接向互聯網開放,才需要啟用。否則的話,為了簡單起見,這個選項還是不要采用的好。 #p#
二、為SSH協議進行特別的配置
對于思科的網絡設備來說,其主要支持ssh與telent兩種遠程連接協議。作為網絡管理員,需要注意的是這兩種遠程連接協議的區別,特別是在安全性上的差異。由于Telnet協議在網絡中進行數據傳輸的時候,采用的都是明文的形式。如用戶名與密碼、指令等等都是通過明文形式傳輸的。為此其很不安全。故筆者建議大家,采用ssh協議來進行遠程管理。這個協議在功能上跟telnet協議基本相同,只是更加的安全。因為如果采用ssh協議的話,那么數據在網絡中傳輸采用的都是加密處理過的數據。即使其他攻擊者截取了這些信息,不知道加密的方法,他們就無法對數據進行解密。為此他們即使獲取了這些信息,也沒有絲毫的用處。所以,從安全性上考慮,筆者建議大家采用ssh遠程管理協議。
如果采用telnet協議的話,只需要配置虛擬端口口令與enable口令即可。但是如果采用ssh協議的話,還需要做一些準備工作。具體的來說,主要有以下幾方面的內容。
一是要確認現有的IOS版本是否支持ssh協議。由于telnet協議出現的早。為了彌補telnet協議的不足,才在后來推出了ssh協議。為此并不是所有的IOS版本都支持ssh協議。現在推出的版本都已經支持了這個協議,主要是那些早期的設備。有可能采用的還是舊的IOS,對ssh協議支持的不是很好。一般來說,要讓網絡設備支持ssh協議的話,要求IOS的版本至少要達到12.1以上。如果沒有達到這個版本,那么網絡管理員可能就需要對其進行升級。以滿足ssh協議管理的要求。
二是需要產生ssh協議所需要的密鑰。除了在版本上要保證外,還需要為ssh加密傳輸產生一個密鑰。默認情況下,思科的網絡設備不會自動產生ssh連接所需要的密鑰,需要網絡管理員利用命令crypto key generate rsa等類似的命令來生成密鑰。這個命令的含義就是利用RSA算法產生一個可用的密鑰。在比較新的IOS版本中,除了支持RSA以外,網絡管理員還可以選擇其他類型的密鑰。為此可以根據對安全的要求不同,采用不同安全等級的密鑰算法。不過筆者認為,一般情況下這個RSA的算法已經足夠安全了,特別是對于交換機來說。
三是還需要啟用aaa new-model全局配置命令。這個命令主要用來指定ssh連接所需要使用的本地用戶名和口令對入站的SSH會話進行認證,以及完成一些DNS名稱和虛擬終端配置方面的工作。對這個AAA進行合理的配置,可以進一步提高SSH遠程連接的安全性,以及消除一些SSH遠程連接過程中的一個安全隱患。為此網絡管理員需要評估ssh連接的安全風險,并根據風險的等級和來源進行AAA的相關配置。只有如此,才能夠有針對性的提高遠程管理的安全。 #p#
三、SSH背后的一些安全隱患
雖然在大部分情況下,ssh已經足夠安全。但是在一些大型網絡的維護中,網絡管理員還需要了解ssh協議的一些安全隱患。說句實話,目前為止還沒有哪一家企業或者機構可以拍拍胸脯的說自己開發的協議是絕對安全的。所以從某種程度上來說,安全往往是一種相對的。為此網絡管理員對于SSH協議也不能夠百分之百的相信,還需要了解這個協議的一些安全隱患。 一般來說,ssh 協議仍然會受到以下的非法攻擊。
如ssh協議雖然采用了加密機制,但是如果這個加密機制與其安全等級不相符合的話,那么非法攻擊者仍然可以收集相關的信息,通過攔截大量的數據楨來進行密鑰分析。為此網絡管理員應該根據網絡設備的位置、角色等因素,來評估這個網絡設備的風險等級。然后根據相關的等級,再為其指定適用的加密機制。只有如此,才能夠性能與安全兩者兼顧。如果對于安全要求級別高的網絡設別,而采用了一些簡單的加密機制,則攻擊者就可以花比較短的時間破譯用戶名與密碼,從而進行攻擊。所以在加密機制的選擇上,可以根據從高的原則來進行設置。即在安全需要等級不明的情況下,盡量采用比較安全的加密機制。
SSH協議雖然對用戶名、口令等采用了加密處理,但是其主要的身份驗證方法仍然是依靠用戶名與口令來進行驗證。如果用戶采用了比較簡單的用戶名與口令,如生日、單個英文單詞或者網絡設備管理員的默認密碼等等,都是比較危險的。只要攻擊者愿意,對于這些用戶名與密碼,攻擊者可以通過字典攻擊的手段,輕易的破解。
另外,如果攻擊者利用ssh協議進行連續的非授權登陸嘗試,則很有可能導致緩沖區溢出或者Dos攻擊;如攻擊者也可能利用SSH協議向網絡設備發送反常算法,如發送無效的IP楨的填充符或者填充符長度或者發送無效的字段等等。這些要么會導致網絡設備癱瘓,要么就會占用大量的網絡帶寬從而影響企業網絡的性能。
從以上分析中可以看出,ssh 協議雖然比較安全,但是這個安全也是相對了。SSH協議也不是一個保險箱,能夠百分之百的保證遠程管理的安全。作為網絡管理員,除了平時要保護用戶與口令的安全(不定時的更換用戶名與密碼、設置比較復雜的密碼),還需要采用其他一些技術手段,在必要的時候作為輔助手段來提高SSH協議的安全性。如通過獨立的身份認證服務器等等。 總之,采用SSH協議要比采用TELNET協議安全的多。但是即使采用SSH協議,這個安全問題也不容易忽視。
【編輯推薦】