遠程登錄安全(三) SSH

介紹:
SSH 爲 Secure Shell 的縮寫,由 IETF 的網絡工作小組(Network Working Group)所制定;SSH 爲建立在應用層和傳輸層基礎上的安全協議。SSH 是目前較可靠,專爲遠程登錄會話和其他網絡服務提供安全性的協議。利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題。SSH最初是UNIX系統上的一個程序,後來又迅速擴展到其他操作平臺。SSH在正確使用時可彌補網絡中的漏洞。SSH客戶端適用於多種平臺。幾乎所有UNIX平臺-包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平臺,都可運行SSH。
傳統的網絡傳輸協議,如ftp、pop和telnet在本質上都是不安全的,因爲它們在網絡上用明文傳送口令和數據,別有用心的人非常容易就可以截獲這些口令和數據。而且,這些服務程序的安全驗證方式也是有其弱點的, 就是很容易受到"中間人"(man-in-the-middle)這種方式的攻擊。所謂"中間人"的攻擊方式, 就是"中間人"冒充真正的服務器接收你傳給服務器的數據,然後再冒充你把數據傳給真正的服務器。服務器和你之間的數據傳送被"中間人"一轉手做了手腳之後,就會出現很嚴重的問題。通過使用SSH,可以把所有傳輸的數據進行加密,這樣"中間人"這種攻擊方式就不可能實現了,而且也能夠防止DNS欺騙和IP欺騙。
從客戶端來看,SSH提供兩種級別的安全驗證。

第一種級別(基於口令的安全驗證)

只要你知道自己帳號和口令,就可以登錄到遠程主機。所有傳輸的數據都會被加密,但是不能保證你正在連接的服務器就是你想連接的服務器。可能會有別的服務器在冒充真正的服務器,也就是受到"中間人"這種方式的攻擊。

第二種級別(基於密匙的安全驗證)

需要依靠密匙,也就是你必須爲自己創建一對密匙,並把公用密匙放在需要訪問的服務器上。如果你要連接到SSH服務器上,客戶端軟件就會向服務器發出請求,請求用你的密匙進行安全驗證。服務器收到請求之後,先在該服務器上你的主目錄下尋找你的公用密匙,然後把它和你發送過來的公用密匙進行比較。如果兩個密匙一致,服務器就用公用密匙加密"質詢"(challenge)並把它發送給客戶端軟件。客戶端軟件收到"質詢"之後就可以用你的私人密匙解密再把它發送給服務器。

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

第二種級別不僅加密所有傳送的數據,而且"中間人"這種攻擊方式也是不可能的(因爲他沒有你的私人密匙)。但是整個登錄的過程可能需要10秒。
功能: 1. 可以遠程ssh隧道登錄
2.可以做代理服務器
一. 實驗環境: 虛擬機RHEL6.5 一臺 (SSH服務器端)
kali 一臺(後面用kali連接 抓包分析) (SSH客戶端)
二. 步驟
1. 配置網絡IP,掛載鏡像,關閉防火牆,SELINUX等
2. 配置yum源 ,安裝ssh server
3. 開啓sshd服務,並且查看監聽的端口
在這裏插入圖片描述
sshd默認開啓22端口,可以在配置文件修改 /etc/ssh/sshd_config
先來看看配置文件:
在這裏插入圖片描述
sshd-config 這個是服務器端配置文件
ssh_config 是客戶端配置文件
【A】 服務器端配置文件
1.在這裏插入圖片描述
2.在這裏插入圖片描述
3.在這裏插入圖片描述
在這裏插入圖片描述
【看看客戶端配置文件:】
(一般來說 ,客戶端一般不需配置什麼) 在這裏插入圖片描述
驗證:
第一種方式----基於口令的驗證方式
1. 默認情況下:
在服務器端創建一個用戶 zhangsan
在這裏插入圖片描述
使用kali嘗試登錄:
在這裏插入圖片描述
抓包分析流程:
(1) 前三個包 Client—Server TCP三次握手
在這裏插入圖片描述
(2) 接下來6個包 建立SSH安全隧道 過程
在這裏插入圖片描述
(3) 在這裏插入圖片描述
(4) .驗證口令,然後安全傳輸數據
在這裏插入圖片描述
查看包SSH具體內容:
在這裏插入圖片描述
數據模塊被加密
然後追蹤TCP流,全是加密的數據
在這裏插入圖片描述
紅色 部分表示: 源到目,藍色反之。
修改ssh服務器端配置文件:
1.禁用root登錄
在這裏插入圖片描述
結果:
在這裏插入圖片描述
2. 防止ssh爆破 限制嘗試次數爲3次
在這裏插入圖片描述
服務器端直接不讓連接
在這裏插入圖片描述
3.
.在這裏插入圖片描述
在這裏插入圖片描述
還是拒絕登錄 原因: 文件上線開啓密碼註釋了 但默認還是開啓的
在這裏插入圖片描述
重新啓動服務
在這裏插入圖片描述
默認開啓公鑰認證:
在這裏插入圖片描述
在這裏插入圖片描述
將認證裏面的公鑰認證也禁止
在這裏插入圖片描述
嘗試別的登錄:
在這裏插入圖片描述
還可以限制 只允許某個IP或者某個用戶登錄:
AllowUsers bob,admin@ip -p 22
用戶之間用, 分割
結論: 口令方式 空密碼無法登錄。(若驗證可以,請務必聯繫我)
【使用公私鑰對】
1. 在客戶機上創建密鑰對
ssh-keygen -t rsa
在這裏插入圖片描述
在/root/.ssh目錄下:
id_rsa 私鑰,id_rsa_pub 公鑰
在這裏插入圖片描述
2. 將公鑰傳給服務器端的庫中,爲了方便新建一個目錄:
在客戶端新建一個 用戶,將該用戶公鑰上傳至服務器
在這裏插入圖片描述
在這裏插入圖片描述
服務器端創建一個/home/alice
在這裏插入圖片描述
在這裏插入圖片描述
在服務器端查看:
在這裏插入圖片描述
服務器端開啓公鑰認證:
在這裏插入圖片描述
在這裏插入圖片描述
在服務器端也創建一個alice
然後使用alice在客戶機上登錄,
在這裏插入圖片描述
先進行私鑰認證,如果私鑰認證失敗,然後認證口令
在這裏插入圖片描述
認證成功!(如果退出後下次登錄不在需要私鑰短語認證)
在這裏插入圖片描述
注意客戶端和服務器的alice公鑰文件權限要一致(否則可能出錯)
在這裏插入圖片描述
在這裏插入圖片描述
【中間人攻擊】
在客戶端建立一個bob
並且建立bob的私鑰短語
在這裏插入圖片描述
然後登錄-------------------服務器沒有bob這個用戶
在這裏插入圖片描述
就是說,並沒有把bob的公鑰放到服務器的公鑰庫中

bob有可能獲取了alice公私鑰以及私鑰短語
在這裏插入圖片描述
然後Bob上傳alice的公鑰信息登錄
並且修改文件所有者權限
在這裏插入圖片描述
首先切換到bob用戶下, 因爲服務器端已經有了alice的公鑰庫,
直接登錄alice賬號,因爲服務器端還沒有bob的指紋信息
讓輸入alice的口令登錄
在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在bob用戶下登錄alice 成功。

發佈了71 篇原創文章 · 獲贊 96 · 訪問量 9251
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章