安全外殼協(xié)議(SSH)是一種在不安全網(wǎng)絡上提供安全遠程登錄及其它安全網(wǎng)絡服務的協(xié)議。Secure Shell,又可記為SSH,最初是UNIX系統(tǒng)上的一個程序,后來又迅速擴展到其他操作平臺。SSH是一個好的應用程序,在正確使用時,它可以彌補網(wǎng)絡中的漏洞。
SSH 主要有三部分組成:
傳輸層協(xié)議 [SSH-TRANS] 提供了服務器認證,保密性及完整性。此外它有時還提供壓縮功能。 SSH-TRANS 通常運行在 TCP/IP連接上,也可能用于其它可靠數(shù)據(jù)流上。 SSH-TRANS 提供了強力的加密技術、密碼主機認證及完整性保護。該協(xié)議中的認證基于主機,并且該協(xié)議不執(zhí)行用戶認證。更高層的用戶認證協(xié)議可以設計為在此協(xié)議之上。
用戶認證協(xié)議 [SSH-USERAUTH] 用于向服務器提供客戶端用戶鑒別功能。它運行在傳輸層協(xié)議 SSH-TRANS 上面。當 SSH-USERAUTH 開始后,它從低層協(xié)議那里接收會話標識符(從第一次密鑰交換中的交換哈希 H )。會話標識符唯一標識此會話并且適用于標記以證明私鑰的所有權。 SSH-USERAUTH 也需要知道低層協(xié)議是否提供保密性保護。
連接協(xié)議 [SSH-CONNECT] 將多個加密隧道分成邏輯通道。它運行在用戶認證協(xié)議上。它提供了交互式登錄話路、遠程命令執(zhí)行、轉(zhuǎn)發(fā) TCP/IP 連接和轉(zhuǎn)發(fā) X11 連接。
通過使用SSH,你可以把所有傳輸?shù)臄?shù)據(jù)進行加密,這樣"中間人"這種攻擊方式就不可能實現(xiàn)了,而且也能夠防止DNS欺騙和IP欺騙。使用SSH,還有一個額外的好處就是傳輸?shù)臄?shù)據(jù)是經(jīng)過壓縮的,所以可以加快傳輸?shù)乃俣取SH有很多功能,它既可以代替Telnet,又可以為FTP、PoP、甚至為PPP提供一個安全的"通道"。
很多情況是由于服務器提供了Telnet服務引起的。的確,對于UNIX系統(tǒng),如果要遠程管理它,必定要使用遠程終端,而要使用遠程終端,自然要在服務器上啟動Telnet服務。但是Telnet服務有一個致命的弱點——它以明文的方式傳輸用戶名及口令,所以,很容易被別有用心的人竊取口令。目前,一種有效代替Telnet服務的有用工具就是SSH服務。SSH客戶端與服務器端通訊時,用戶名及口令均進行了加密,有效防止了對口令的竊聽。SSH的出現(xiàn)使遠程控制更加安全。
SSH雖然有上述優(yōu)點,但還是會受到黑客的攻擊,下面再談談如何防止SSH攻擊:
1、基本配置:
有不認證,密碼認證,用戶名和密碼認證三中方式,建議采用基于用戶和密碼的認證方式。如果考慮到所有網(wǎng)絡設備進行統(tǒng)一認證,可以使用同一個radius服務器進行認證。具體如下:
建立一個權限是觀察級別的telnet用戶:
|
在tty 0 4 接口上使能用戶和密碼認證:
|
2、考慮到安全性,可以將認證用戶的權限設置為level 0參觀級別。然后使用super命令進行權限提升,綜合考慮到用戶名,密碼,超級密碼,可以說為黑客設置了三道防線。具體如下:
|
3、可以在tty接口設置acl,只允許部分ip遠程telnet,是為第四道防線,具體如下:
建立一個基于源ip的acl:
|
將acl應用在vty 0 4的inbound方向:
|
4、結(jié)合以往經(jīng)驗,經(jīng)常會有ssh攻擊網(wǎng)絡設備,雖然不會導致設備被入侵,但會占用cpu和內(nèi)存等資源,可以在tty接口不允許ssh報文進入,是為第五道防線,具體如下:
在vty 0 4接口只允許telnet用戶訪問:
|
真正利用好SSH服務可以提高遠程控制的安全性,防止口令被竊取。