AAA及RADIUS/HWTACACS協議配置

簡介

AAA簡介
AAA是Authentication,Authorization and Accounting(認證、授權和計費)的簡稱,它提供了一個對認證、授權和計費這三種安全功能進行配置的一致性框架,實際上是對網絡安全的一種管理。
這裏的網絡安全主要是指訪問控制,包括:
哪些用戶可以訪問網絡服務器。
具有訪問權的用戶可以得到哪些服務。
如何對正在使用網絡資源的用戶進行計費。

針對以上問題,AAA必須提供認證功能、授權功能和計費功能。
1. 認證功能
AAA支持以下認證方式:
不認證:對用戶非常信任,不對其進行合法檢查。一般情況下不採用這種方式。
本地認證:將用戶信息(包括本地用戶的用戶名、密碼和各種屬性)配置在設備上。本地認證的優點是速度快,可以降低運營成本;缺點是存儲信息量受設備硬件條件限制。
遠端認證:支持通過RADIUS協議或HWTACACS協議進行遠端認證,設備(如Quidway系列交換機)作爲客戶端,與RADIUS服務器或TACACS服務器通信。對於RADIUS協議,可以採用標準或擴展的RADIUS協議。
2. 授權功能
AAA支持以下授權方式:
直接授權:對用戶非常信任,直接授權通過。
本地授權:根據設備上爲本地用戶帳號配置的相關屬性進行授權。
RADIUS認證成功後授權:RADIUS協議的認證和授權是綁定在一起的,不能單獨使用RADIUS進行授權。
HWTACACS授權:由TACACS服務器對用戶進行授權。

3. 計費功能
AAA支持以下計費方式:
不計費:不對用戶計費。
遠端計費:支持通過RADIUS服務器或TACACS服務器進行遠端計費。
AAA一般採用客戶端/服務器結構:客戶端運行於被管理的資源側,服務器上集中存放用戶信息。因此,AAA框架具有良好的可擴展性,並且容易實現用戶信息的集中管理。
 ISP域簡介
ISP域即ISP用戶羣,一個ISP域是由屬於同一個ISP的用戶構成的用戶羣。
在“userid@isp-name”形式的用戶名中,“@”後的“isp-name”即爲ISP域的域名。接入設備將“userid”作爲用於身份認證的用戶名,將“isp-name”作爲域名。
在多ISP的應用環境中,同一個接入設備接入的有可能是不同ISP的用戶。由於各ISP用戶的用戶屬性(例如用戶名及密碼構成、服務類型/權限等)有可能各不相同,因此有必要通過設置ISP域的方法把它們區別開。
在ISP域視圖下,可以爲每個ISP域配置包括使用的AAA策略(使用的RADIUS方案等)在內的一整套單獨的ISP域屬性。
 RADIUS協議簡介
AAA是一種管理框架,因此,它可以用多種協議來實現。在實踐中,人們最常使用RADIUS協議來實現AAA。
1. 什麼是RADIUS
RADIUS(Remote Authentication Dial-In User Service,遠程認證撥號用戶服務)是一種分佈式的、客戶端/服務器結構的信息交互協議,能保護網絡不受未授權訪問的干擾,常被應用在既要求較高安全性,又要求維持遠程用戶訪問的各種網絡環境中。
RADIUS服務包括三個組成部分:
協議:RFC 2865和RFC 2866基於UDP/IP層定義了RADIUS幀格式及其消息傳輸機制,並定義了1812作爲認證端口,1813作爲計費端口。
服務器:RADIUS服務器運行在中心計算機或工作站上,包含了相關的用戶認證和網絡服務訪問信息。
客戶端:位於撥號訪問服務器設備側,可以遍佈整個網絡。

RADIUS基於客戶端/服務器模型。交換機作爲RADIUS客戶端,負責傳輸用戶信息到指定的RADIUS服務器,然後根據從服務器返回的信息對用戶進行相應處理(如接入/掛斷用戶)。RADIUS服務器負責接收用戶連接請求,認證用戶,然後給交換機返回所有需要的信息。
RADIUS服務器通常要維護三個數據庫,如圖1-1所示。
第一個數據庫“Users”用於存儲用戶信息(如用戶名、口令以及使用的協議、IP地址等配置)。
第二個數據庫“Clients”用於存儲RADIUS客戶端的信息(如共享密鑰)。
第三個數據庫“Dictionary”存儲的信息用於解釋RADIUS協議中的屬性和屬性值的含義。另外,RADIUS服務器還能夠作爲其他AAA服務器的客戶端進行代理認證或計費。

 

image

2. RADIUS的基本消息交互流程
RADIUS客戶端(交換機)和RADIUS服務器之間通過共享密鑰來認證交互的消息,增強了安全性。RADIUS協議合併了認證和授權過程,即響應報文中攜帶了授權信息。

用戶、交換機、RADIUS服務器之間的交互流程如圖1-2所示。

image

基本交互步驟如下:
(1) 用戶輸入用戶名和口令。
(2) RADIUS客戶端根據獲取的用戶名和口令,向RADIUS服務器發送認證請求包(Access-Request)。
(3) RADIUS服務器將該用戶信息與Users數據庫信息進行對比分析,如果認證成功,則將用戶的權限信息以認證響應包(Access-Accept)發送給RADIUS客戶端;如果認證失敗,則返回Access-Reject響應包。
(4) RADIUS客戶端根據接收到的認證結果接入/拒絕用戶。如果可以接入用戶,則RADIUS客戶端向RADIUS服務器發送計費開始請求包(Accounting-Request),Status-Type取值爲start。
(5) RADIUS服務器返回計費開始響應包(Accounting-Response)。
(6) 用戶開始訪問資源。
(7) RADIUS客戶端向RADIUS服務器發送計費停止請求包(Accounting-Request),Status-Type取值爲stop。
(8) RADIUS服務器返回計費結束響應包(Accounting-Response)。
(9) 用戶訪問資源結束。

3. RADIUS協議的報文結構
RADIUS協議採用UDP報文來承載數據,通過定時器管理機制、重傳機制、備用服務器機制,確保RADIUS服務器和客戶端之間交互消息正確收發。

  RADIUS報文結構如圖1-3所示。

image

(1) Code域(1字節)決定RADIUS報文的類型,如表1-1所示

image

(2) Identifier域(1字節)用於匹配請求包和響應包,隨着Attribute域改變、接收到有效響應包而不斷變化,而在重傳時保持不變化。
(3) Length域(2字節)指明整個包的長度,內容包括Code,Identifier,Length,Authenticator和Attribute。超過長度域的字節被視爲填充,在接收時應被忽略;如果包比長度域所指示的短時,則應被丟棄。

(4) Authenticator域(16字節)用於驗證RADIUS服務器傳輸回來的報文,並且還用於密碼隱藏算法中,分爲Request Authenticator和Response Authenticator。
(5) Attribute域攜帶專門的認證、授權和計費信息,提供請求和響應報文的配置細節,該域採用(Type、Length、Value)三元組的形式提供。
類型(Type)域1個字節,取值爲1~255,用於指明屬性的類型。表1-2列出了RADIUS授權、認證常用的屬性。
長度(Length)域1個字節,指明此屬性的長度,單位爲字節,包括類型字段、長度字段和屬性值字段。
屬性值(Value)域包括該屬性的信息,其格式和內容由類型域和長度域決定,最大長度爲253字節。

image

image

RADIUS協議具有良好的可擴展性,協議中定義的26號屬性(Vendor-Specific)用於設備廠商對RADIUS進行擴展,以實現標準RADIUS沒有定義的功能。
如圖1-4所示的報文結構,Vendor-ID域佔4字節,表示廠商代號,最高字節爲0,其餘3字節的編碼見RFC1700。廠商可以封裝多個自己定義的“(Type、Length、Value)”子屬性,從而在應用中得以擴展。

 

image

HWTACACS協議簡介
HWTACACS特性
HWTACACS(HUAWEI Terminal Access Controller Access Control System)是在TACACS(RFC 1492)基礎上進行了功能增強的安全協議。該協議與RADIUS協議類似,主要是通過Client-Server模式與TACACS服務器通信來實現多種用戶的AAA功能,可用於PPP和VPDN接入用戶及終端用戶的認證、授權和計費。
與RADIUS相比,HWTACACS具有更加可靠的傳輸和加密特性,更加適合於安全控制。HWTACACS協議與RADIUS協議的主要區別如表1-3所示

image

image

HWTACACS的典型應用是撥號用戶或終端用戶需要登錄到設備上進行操作。交換機作爲HWTACACS的客戶端,將用戶名和密碼發給TACACS服務器進行驗證,驗證通過並得到授權之後可以登錄到交換機上進行操作。如圖1-5所示。

image

2. HWTACACS的基本消息交互流程
以Telnet用戶爲例,說明使用HWTACACS對用戶進行認證、授權和計費。基本消息交互流程圖如圖1-6所示。

image

在整個過程中的基本消息交互流程如下:
(1) 用戶請求登錄交換機,TACACS客戶端收到請求之後,向TACACS服務器發送認證開始報文。
(2) TACACS服務器發送認證迴應報文,請求用戶名;TACACS客戶端收到迴應報文後,向用戶詢問用戶名。
(3) TACACS客戶端收到用戶名後,向TACACS服務器發送認證持續報文,其中包括了用戶名。
(4) TACACS服務器發送認證迴應報文,請求登錄密碼;TACACS客戶端收到迴應報文,向用戶詢問登錄密碼。
(5) TACACS客戶端收到登錄密碼後,向TACACS服務器發送認證持續報文,其中包括了登錄密碼。
(6) TACACS服務器發送認證迴應報文,指示用戶通過認證。

(7) TACACS客戶端向TACACS服務器發送授權請求報文。
(8) TACACS服務器發送授權迴應報文,指示用戶通過授權。
(9) TACACS客戶端收到授權迴應成功報文,向用戶輸出交換機的配置界面。
(10) TACACS客戶端向TACACS服務器發送計費開始報文。
(11) TACACS服務器發送計費迴應報文,指示計費開始報文已經收到。
(12) 用戶退出,TACACS客戶端向TACACS服務器發送計費結束報文。
(13) TACACS服務器發送計費迴應報文,指示計費結束報文已經收到。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章