安全殼層協議SSH詳解

來源:互聯網
上載者:User

轉自:http://bbs.hx95.com/read-htm-tid-230463.html

 

一、SSH介紹

  SSH即安全殼層協議,英文全稱是Secure Shell Protocol或Secure Shell。其運作原理跟Telnet類似,只是其具有更高的安全性。通過使用SSH,你可以把所有傳輸的資料進行加密,這樣“中間人”這種攻擊方式就不可能實現了,而且也能夠防止DNS和IP欺騙。還有一個額外的好處就是傳輸的資料是經過壓縮的,所以可以加快傳輸的速度。SSH有很多功能,它既可以代替telnet,又可以為ftp、pop、甚至ppp提供一個安全的“通道”。  

最初SSH是由芬蘭的一家公司開發的。但是因為受著作權和密碼編譯演算法的限制,現在很多人都轉而使用OpenSSH(http://www.openssh.com/)。

OpenSSH是SSH的替代軟體,而且是免費的,可以預計將來會有越來越多的人使用它而不是SSH。為方便學習,本文以SSH為例進行相關知識介紹。  

二、SSH產生的背景

  傳統的網路服務程式,如:Ftp、Pop和Telnet在本質上都是不安全的,因為它們在網路上用明文傳送口令和資料,別有用心的人非常容易就可以截獲這些口令和資料。而且這些服務程式的安全驗證方式也是有其弱點的,就是很容易受到“中間人”(man-in-the-middle)這種方式的攻擊。所謂“中間人”的攻擊方式,就是“中間人”冒充真正的伺服器接收你的傳給伺服器的資料,然後再冒充你把資料傳給真正的伺服器。當前很多網路攻擊者都會採用這種手段。為防止“中間人”攻擊,SSH應運而生。

三、SSH的安全驗證是如何工作的

  從用戶端來看,SSH提供兩種層級的安全驗證。

  第一種層級(基於口令的安全驗證)只要你知道自己帳號和口令,就可以登入到遠程主機。所有傳輸的資料都會被加密,但是不能保證你正在已連線的服務器就是你想已連線的服務器。可能會有別的伺服器在冒充真正的伺服器,也就是受到“中間人”這種方式的攻擊。

  第二種層級(基於密匙的安全驗證)需要依靠密匙,也就是你必須為自己建立一對密匙,並把公用密匙放在需要訪問的伺服器上。如果你要串連到SSH伺服器上,用戶端軟體就會向伺服器發出請求,請求用你的密匙進行安全驗證。伺服器收到請求之後,先在你在該伺服器的家目錄下尋找你的公用密匙,然後把它和你發送過來的公用密匙進行比較。如果兩個密匙一致,伺服器就用公用密匙加密“質詢”(challenge)並把它發送給用戶端軟體。用戶端軟體收到“質詢”之後就可以用你的私人密匙解密再把它發送給伺服器。

  用這種方式,你必須知道自己密匙的口令。但是,與第一種層級相比,第二種層級不需要在網路上傳送口令。

  第二種層級不僅加密所有傳送的資料,而且“中間人”這種攻擊方式也是不可能的(因為他沒有你的私人密匙)。但是整個登入的過程可能需要10秒。

四、SSH主要組成部分:

  傳輸層協議SSH-TRANS:提供了伺服器認證,保密性及完整性。此外它有時還提供壓縮功能。SSH-TRANS通常運行在TCP/IP串連上,也可能用於其它可靠資料流上。 SSH-TRANS提供了強力的加密技術、密碼主機認證及完整性保護。該協議中的認證基於主機,並且該協議不執行使用者認證。更高層的使用者認證協議可以設計為在此協議之上。

  使用者認證協議SSH-USERAUTH:用於向伺服器提供用戶端使用者鑒別功能。它運行在傳輸層協議SSH-TRANS上面。當SSH-USERAUTH開始後,它從低層協議那裡接收工作階段識別項(從第一次金鑰交換中的交換雜湊H)。工作階段識別項唯一標識此會話並且適用於標記以證明私密金鑰的所有權。SSH-USERAUTH 也需要知道低層協議是否提供保密性保護。

  連線協定SSH-CONNECT:將多個加密隧道分成邏輯通道。它運行在使用者認證協議上。它提供了互動式登入話路、遠程命令執行、轉寄TCP/IP串連和轉寄X11串連。

  一旦建立一個安全傳輸層串連,客戶機就發送一個服務要求。當使用者認證完成之後,會發送第二個服務要求。這樣就允許新定義的協議可以與上述協議共存。連線協定提供了用途廣泛的各種通道,有標準的方法用於建立安全互動式會話外殼和轉寄(“隧道技術”)專有 TCP/IP 連接埠和 X11 串連。  

五、SSH的兩大部分

  SSH軟體包由伺服器端與用戶端兩大部分構成。伺服器端主要是安裝在被控制端,即我們需要進行遠端管理的對象。而用戶端就是安裝在操作方的主機上。SSH軟體包適用於所有的作業系統,包括微軟、Linux以及思科公司的IOS作業系統等等。

############################################################################################

六、配製執行個體

  由於SSH採用了加密機制,所以其配製起來比Telnet協議要複雜一點。下面就以Cisco的防火牆伺服器為例,看看如何配置SSH協議,讓其在伺服器上生效。

  為了讓防火牆啟用SSH服務,則需要通過五個步驟。

  第一步:配置防火牆主機名稱。

  這個步驟雖然不是啟用SSH服務的必備步驟。不過,筆者還是建議使用者給防火牆起一個合適的名字。當通過用戶端訪問SSH服務期的時候,輸入名字要比輸入IP地址簡單的多。而且,名字也比枯燥無味的數字好記的多。故起一個容易記憶的SSH伺服器名字,是SSH伺服器管理的基礎。

  在Cisco防火牆中,可以利用hostname命令來配置SSH伺服器的名字。為了便於識別,一般在取名的時候,需要符合一定的規則。如利用“裝置名稱――實體名字”規則來命名。

  第二步:產生金鑰組。

  在Cisco防火牆中,其建議採用的是“密鑰認證安裝方式”。所以,需要為其產生金鑰組。這個步驟也很簡單,因為防火牆中已經有預設的事項方式。管理員只需要在命令列中,輸入:ca generate rsa key 1024這個命令,防火牆作業系統就會自動產生一個金鑰組。金鑰組產生後,管理員還需要使用命令CA SAVE ALL命令,把這個金鑰組儲存起來。

  這裡要注意,不同的系統採用的加密機制不同,所以,產生的金鑰組方式也不同。作為企業安全管理員來說,應該對密鑰產生的方式有一個統一的規劃。在安全允許的情況下,最後在公司內部統一安全密鑰的產生方式。這可以大大的減少我們維護的工作量。

  第三步:指定用戶端的IP地址。

  Cisco防火牆為了提高遠端管理的安全性,特別進行了一個IP地址的過濾。在SSH伺服器上,必須指定用戶端的IP地址。只有允許的Ip地址,才可以通過SSH用戶端串連到SSH伺服器上。

  這是一個很重要的安全控制手段。通過這種方式,則只有特定的用戶端才可以利用SSH協議遠端管理防火牆。而未經授權的用戶端無權進行訪問。這讓SSH遠端管理安全性更有保障。

  管理員可以利用ssh ip_adress 命令,來配置允許訪問的用戶端IP地址。一般情況下,只允許管理員才可以通過SSH方式訪問遠程主機。

  第四步:設定訪問口令。

  為了保障SSH的安全,雖然已經限制了用戶端,但是仍然非常有必要為其設定一個訪問帳戶與口令。有時候,SSH伺服器也會有預設的使用者名稱。但是,為了SSH伺服器的安全,筆者強烈建議使用者在第一時間把這個預設密碼改掉。在第一時間更改伺服器與裝置的預設帳戶與密碼,是網路安全人員要養成的一個必備的工作習慣。在SSH中,可以採用password命令來更改SSH的登陸使用者名稱。

  第五步:設定空閑時間。

  最後,還需要設定一個會話在斷開前的空閑時間。這跟螢幕保護裝置類似。有時候你可能有其他的事情,需要離開SSH用戶端一段時間。但是,此時你人已經離開了,但是SSH會話沒有中斷掉。若此時有人利用你離開的這段時間,搞破壞動作,那該怎麼辦呢?  所以,我們需要像設定螢幕保護裝置一樣,給SSH會話設定一個最大的空閑時間。當超過這個時間後,SSH伺服器會自動中斷這個會話,從而保障SSH伺服器的安全。此時,我們可以利用ssh tineout命令來設定這個最大空閑時間。其單位是分。預設情況下,其最大的空閑時間為5分鐘。

  在用戶端上,一般不需要進行額外的配置。只是在用戶端選擇上,要考慮相容性問題。即你在伺服器上若選擇的是SSH1版本的話,則用戶端也必須是SSH1版本的。若伺服器端是SSH2的,則用戶端也要選擇SSH2版本的(版本必須對應)。

  若需要管理多台SSH伺服器的話,有兩種便捷的方式。一是通過上面的“安全密鑰認證方式”。如此的話,只需要一個帳戶與口令,就可以對所有的SSH服務進行管理。二是在SSH用戶端上可以儲存相關的配置。當管理員需要訪問某台SSH伺服器的時候,只需要在用戶端上進行選擇,而不用重複的輸入伺服器端的配置,如IP地址與連接埠等等。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.