(一)實驗簡介
實驗所屬系列:安全協議應用與分析
實驗對象:本科/專科信息安全專業
相關課程及專業:信息網絡安全概論、網絡攻擊與防御技術、計算機網絡
實驗時數(學分):2學時
實驗類別:實踐實驗類
(二)實驗目的
通過該實驗了解SSH服務器的配置,理解SSH和Telnet的區別。
(三)預備知識
1.Telnet
Telnet協議是TCP/IP協議族的其中之一,是Internet遠端登錄服務的標准協議和主要方式,常用於網頁服務器的遠端控制,可供使用者在本地主機執行遠端主機上的工作。
使用者首先在電腦執行Telnet程序,連線至目的地服務器,然后輸入帳號和密碼以驗證身份。使用者可以在本地主機輸入命令,然后讓已連接的遠端主機執行,就像直接在對方的控制台上輸入一樣。
傳統Telnet會話所傳輸的資料並未加密,帳號和密碼等敏感資料容易會被竊聽,因此很多服務器都會封鎖Telnet服務,改用更安全的SSH。
2.SSH
Secure Shell(縮寫為SSH),由IETF的網絡工作小組(Network Working Group)所制定;SSH為一項創建在應用層和傳輸層基礎上的安全協議,為計算機上的Shell(殼層)提供安全的傳輸和使用環境。
SSH是目前較可靠,專為遠程登錄會話和其他網絡服務提供安全性的協議。利用SSH協議可以有效防止遠程管理過程中的信息泄露問題。通過SSH可以對所有傳輸的數據進行加密,也能夠防止DNS欺騙和IP欺騙。
SSH之另一項優點為其傳輸的數據可以是經過壓縮的,所以可以加快傳輸的速度。SSH有很多功能,它既可以代替Telnet,又可以為FTP、POP、甚至為PPP提供一個安全的“通道”。
3.SSH的安全驗證
在客戶端來看,SSH提供兩種級別的安全驗證。
第一種級別(基於密碼的安全驗證),知道帳號和密碼,就可以登錄到遠程主機,並且所有傳輸的數據都會被加密。但是,可能會有別的服務器在冒充真正的服務器,無法避免被“中間人”攻擊。
第二種級別(基於密鑰的安全驗證),需要依靠密鑰,也就是你必須為自己創建一對密鑰,並把公有密鑰放在需要訪問的服務器上。客戶端軟件會向服務器發出請求,請求用你的密鑰進行安全驗證。服務器收到請求之后,先在你在該服務器的用戶根目錄下尋找你的公有密鑰,然后把它和你發送過來的公有密鑰進行比較。如果兩個密鑰一致,服務器就用公有密鑰加密“質詢”(challenge)並把它發送給客戶端軟件。從而避免被“中間人”攻擊。
在服務器端,SSH也提供安全驗證。在第一種方案中,主機將自己的公用密鑰分發給相關的客戶端,客戶端在訪問主機時則使用該主機的公開密鑰來加密數據,主機則使用自己的私有密鑰來解密數據,從而實現主機密鑰認證,確保數據的保密性。在第二種方案中,存在一個密鑰認證中心,所有提供服務的主機都將自己的公開密鑰提交給認證中心,而任何作為客戶端的主機則只要保存一份認證中心的公開密鑰就可以了。在這種模式下,客戶端必須訪問認證中心然后才能訪問服務器主機。
(四)實驗環境
(五)實驗步驟
本實驗主要了解Telnet服務和SSH服務的區別,那么要分別搭建兩個服務器,並且用Wireshark來抓包分析。
搭建Telnet服務器
Server上:
首先打開運行,輸入tlntsvr /service,啟動Telnet服務程序,再打開運行,輸入services.msc,打開服務管理程序。
找到Telnet服務,然后更改啟動類型為自動,並且啟動Telnet服務
通過netstat –an查看23端口是否開放
下面Telnet本機
退出請輸入exit。至此server配置結束。
Client:到xp上,安裝好Wireshark,然后Telnet server的IP,如telnet 10.1.1.44,然后就能看到歡迎界面
使用server的用戶名和密碼登錄,注意密碼沒有回顯,並不是沒有輸入進去。
成功登錄10.1.1.44,此時的操作如同在10.1.1.44上用命令提示符操作一樣。
打開Wireshark,在過濾欄中輸入Telnet,點擊應用。
重新連接Telnet,然后在Wireshark中找到包
搭建SSH服務器
Server:安裝OpenSSH.exe。
安裝完成后,打開命令提示符
執行 cd C:\Program Files\OpenSSH\bin,然后執行如下兩條命令:
mkgroup -l >> ..\etc\group (導入本地組)
mkpasswd -l >> ..\etc\passwd(導入本地用戶名和密碼)
最后執行 net start opensshd,開啟ssh服務。
此時查看端口
發現22端口已經開啟
Client:打開putty,輸入server的IP,點擊open
會彈出一個警告,點擊是,然后輸入server的用戶名
輸入密碼后,成功登錄
由於SSH是Unix-Like系統的標配,其目錄顯示方式是/home/user類似,所以有這個報錯,但是不影響使用
繼續打開Wireshark,輸入過濾條件ssh。
可以看到,server和client使用的軟件版本,然后是密鑰交換等信息
下面的包全是密文傳輸,還帶有MAC信息。
(六)分析與思考
傳統telnet連線會話所傳輸的資料並未加密,這代表所輸入及顯示的資料,包括帳號名稱及密碼等隱密資料,可能會遭其他人竊聽,因此有許多服務器會將telnet服務關閉,改用更為安全的SSH。Telnet也是目前多數純文字式BBS所使用的協議,部分BBS尚提供SSH服務,以保證安全的資訊傳輸。
SSH(Secure Shell)是目前比較可的為遠程登錄會話和其他網絡服務提供安全性的協議。利用SSH協議可以有效防止遠程管理過程中的信息泄露問題。通過SSH,可以把所有傳輸的數據進行加密,也能夠防止DNS欺騙和IP欺騙。 SSH,還有一個額外的好處就是傳輸的數據是經過壓縮的,所以可以加快傳輸的速度。SSH有很多功能,它既可以代替Telnet,又可以為FTP、 Pop、甚至為PPP提供一個安全的"通道"。