1. 程式人生 > >安全的網路通道——網路准入之二層准入

安全的網路通道——網路准入之二層准入

安全是網路設計的永恆話題,網路攻擊與防護措施兩方,一直以來都在“魔高一尺,道高一丈”的迴圈螺旋式發展。進入雲端計算時代,網路安全的重要性更加突出,幾乎所有的雲端計算業務都不可能脫離嚴密的安全策略而獨立存在。

雲端計算強調資源請求與資源排程的分離,實際處理請求的後臺系統與發出請求的終端使用者之間是一種鬆耦合關係,也許使用者永遠也不知道幫他處理郵件的伺服器是什麼型號、位於什麼地方。在這種情況下,安全對於雲端計算服務的重要性是顯而易見的。在企業使用者眼裡,雲端計算的靈活性、高性價比、高可靠都有著無可比擬的優勢,但如果在安全性上不過關,將沒有一個企業級使用者會將自己的內部資料託管到一個存在洩密風險的平臺上。從IaaS到PaaS、SaaS,雲端計算服務包含的內容越來越多,使用者能夠接觸到的底層資訊卻越來越少,在一個典型的SaaS服務中,使用者可能連底層用的是FC儲存還是iSCSI儲存都不知道。由於缺少基礎架構的細節資訊,使用者會對接入雲服務的過程提出更高的安全要求。

網路准入的內涵非常廣泛,本文主要描述主流的二層准入、三層准入和客戶端准入三種方式。

一、二層准入

大型企業往往利用DHCP協議進行IP地址的分發,使用者電腦無需配置IP地址,在接入網路的時候,網路上的DHCP伺服器將自動為每個電腦網絡卡分配一個可用的IP地址。二層准入就是使用者在獲得三層IP地址之前必須通過的認證,當用戶在接入網路之初,需要同網路側通過二層連結進行認證資料的互動,只有成功通過認證才能向DHCP伺服器申請IP地址,從而收發資料。

二層准入的代表實現方式就是802.1X。802.1X是IEEE 802.1協議集的一部分,定義了EAP(Extensible Authentication Protocol——可擴充套件驗證協議)在乙太網環境中的實現方式,而EAP是IETF在RFC3748中制定的在資料鏈路層中進行認證行為的一種機制,以滿足在不同的二層環境下進行統一認證的需求。這個邏輯連起來就是,IETF首先制定了在資料鏈路層也就是二層上進行驗證的EAP機制,然後IEEE給出了EAP在乙太網環境中的執行方式,這個方式就是大家熟知的802.1X,

802.1X協議包含三個基本元素,分別是Supplicant(客戶端)、Authenticator(認證方)和Authentication Server(認證伺服器)。客戶端就是支援802.1X功能的終端裝置,如筆記本、智慧手機。認證方是將客戶端接入網路的接入裝置,在有線網路中是接入交換機,在無線網路中是無線AP和控制器;在VPN連結中,認證方則是VPN伺服器。認證方負責接受客戶端的認證請求,但本身並沒有處理這些請求的能力,它會將獲得的資訊轉發到認證伺服器,由認證伺服器辨別客戶端的合法性。認證伺服器通常是集中部署在網路內的一臺安全裝置,當收到轉發來的使用者請求後,認證伺服器將請求資訊同已有的使用者資料作對比,並將結果返還給認證方。

802.1X的認證流程可以分為以下四步:

1、埠初始化

作為認證方的接入交換機探測到有一個客戶連線到一個埠後,它會馬上把這個埠置於“未授權”狀態,處於“未授權”狀態的埠除了802.1X報文不會轉發其他任何流量,包括DHCP和HTTP流量。

2、EAP初始化

交換機會定時向一個二層廣播地址發出EAP請求信令,開啟了802.1X功能的客戶端在連上交換機後會保持偵聽發往這個二層地址的訊號,一旦捕捉到交換機發出的EAP請求,客戶端便馬上回復一個包含自己ID的EAP應答。交換機收到應答後會通知後臺的認證伺服器,告訴它有一個新客戶端需要進行開始EAP認證。

3、EAP協商

接下來的這個工作準確說來是包含在EAP協議裡的標準步驟,由於EAP按照實現方式不同,分為好幾個型別,所以在真正開始使用者的身份認證之前,客戶端同網路側要協商一個雙方都支援的EAP型別來進行後續的流程。

認證伺服器收到交換機發來的通知後,馬上通過交換機向客戶端回送一個EAP報文,這個報文說明了認證伺服器希望在接下來的流程中採用的EAP型別,如果客戶端對此沒有異議,那麼雙方便可以進行下一步,否則客戶端可以同網路側展開NAK(Negative Acknowledgement——消極認可)協商,知道雙方取得共識。

IETF定義了種類繁多的EAP方式,包括EAP-MD5、EAP-OTP、EAP-GTC、EAP-TLS、EAP-IKEv2、EAP-SIM、EAP-AKA等,除此之外,還有不少廠家自己開發的EAP版本,如LEAP、EAP-FAST等。因此進行802.1X設計的一個重要原則就是根據實際需求選擇恰當的EAP模式,如果你在交換機上配置了EAP-FAST,卻發現使用者電腦的作業系統不支援這種EAP型別,兩邊就沒法接上頭了。

4、使用者身份驗證

當客戶端和認證伺服器成功約定了一種EAP方式後,客戶端就可以同交換機開始真正的驗證過程。代表使用者身份的資訊被髮送給交換機,交換機又將這個資訊轉發給認證伺服器,根據認證伺服器判斷的結果,交換機向客戶端發出“認證成功”或“認證失敗”的報文。

如果使用者身份驗證成功,交換機埠會被放開,使用者獲得訪問網路的許可權;如果驗證失敗,交換機埠則保持在“未授權”狀態,客戶端無法通過這個埠收發流量。

當客戶端登出時,它會向交換機發出一個表示自己離網的EAP報文,交換機隨即將這個埠重新置於“未授權”狀態。如果交換機發現這個鏈路層連線中斷,它也會將這個埠設定為“未授權”狀態,因為這時使用者可能直接斷開網線離開了,如果這個埠再次連通,也許是一個新使用者,那就需要重新進行使用者身份驗證了。

在整個過程中,認證方和認證伺服器之間通過特定的協議通訊,目前採用最普遍的兩個協議時RADIUS(Remote Authentication Dial In User Service——遠端認證撥號接入使用者服務)和TACACS+(Terminal Access Controller Access-Control System Plus——增強型終端訪問控制器訪問控制系統)。總體說來,TACACS+的穩定性、安全性和靈活性更高,但TACACS+是思科私有協議,因此,在一般的使用者接入場合,RADIUS更加常見。

二層准入正如其名所示,所有的流程都是在二層環境下完成的,客戶端與交換機之間不會進行IP層面的信令互動。實際上,在客戶端通過驗證之前,它甚至無法通過DHCP獲取IP地址,如果你檢視一個802.1X驗證失敗的電腦網絡卡,你會發現上面沒有可以使用的IP地址。

經過多年的發展,802.1X+RADIUS的實現方式已經發展成為一個功能非常強大的准入方案,RADIUS豐富的欄位使
--------------------- 
原文:https://blog.csdn.net/blog_szhao/article/details/34478941?utm_source=copy 
版權宣告:本文為博主原創文章,轉載請附上博文連結!