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