AAA及RADIUS/HWTACACS協議配置(一)

1.1 簡介
1.1.1 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框架具有良好的可擴展性,並且容易實現用戶信息的集中管理。
1.1.2 ISP域簡介
ISP域即ISP用戶羣,一個ISP域是由屬於同一個ISP的用戶構成的用戶羣。
在“userid@isp-name”形式的用戶名中,“@”後的“isp-name”即爲ISP域的域名。接入設備將“userid”作爲用於身份認證的用戶名,將“isp-name”作爲域名。
在多ISP的應用環境中,同一個接入設備接入的有可能是不同ISP的用戶。由於各ISP用戶的用戶屬性(例如用戶名及密碼構成、服務類型/權限等)有可能各不相同,因此有必要通過設置ISP域的方法把它們區別開。
在ISP域視圖下,可以爲每個ISP域配置包括使用的AAA策略(使用的RADIUS方案等)在內的一整套單獨的ISP域屬性。


1.1.3 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協議中的屬性和屬性值的含義。

image

另外,RADIUS服務器還能夠作爲其他AAA服務器的客戶端進行代理認證或計費。

 
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

image

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

image

1.1.4 HWTACACS協議簡介
1. 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服務器發送計費迴應報文,指示計費結束報文已經收到。

1.2 配置任務簡介

image

image

image

1.3 配置AAA
需要爲合法用戶提供網絡接入服務,同時對網絡設備進行保護,防止非授權訪問和抵賴行爲,需要配置AAA。當需要通過ISP域來對接入用戶進行AAA等管理時,需要配置ISP域。

1.3.1 配置準備
如果採用遠端認證、授權或計費方案時,需要已經創建RADIUS或HWTACACS方案。
RADIUS方案(radius-scheme):可以通過引用配置好的RADIUS方案來實現認證、授權、計費。有關RADIUS方案的配置請參見“1.4 配置RADIUS協議。”
HWTACACS方案(hwtacacs-scheme):可以通過引用配置好的HWTACACS方案來實現認證、授權、計費。有關HWTACACS方案的配置請參見“1.5 配置HWTACACS協議。”

1.3.2 創建ISP域

image

1.3.3 配置ISP域的屬性

image

image

注意:
對於交換機,每個接入用戶都屬於一個ISP域。如果某個用戶在登錄時沒有攜帶ISP域名,則交換機將它歸於缺省的ISP域。
在對用戶實施計費時,當發現沒有可用的計費服務器或與計費服務器通信失敗時,只要用戶配置了accounting optional命令,即使無法實施計費,也不會掛斷用戶。
自助服務器定位功能需要與支持自助服務的RADIUS服務器配合使用,如CAMS。自助服務即用戶可以對自己的帳號或卡號進行管理和控制。安裝自助服務軟件的服務器即自助服務器。

說明:
CAMS服務器是華爲公司提供的業務管理系統,支持與交換機等網絡產品共同組網,完成終端用戶的認證、授權、計費和權限管理等功能,實現網絡的可管理、可運營,保證網絡和用戶信息的安全。

1.3.4 配置ISP域的AAA方案
用戶可以通過兩種方式配置認證、授權、計費方案:
1. 認證、授權、計費捆綁方式
採用這種方式時,用戶通過scheme命令指定具體的AAA方案。若採用RADIUS或HWTACACS方案,認證、授權、計費統一由RADIUS或HWTACACS方案中指定的RADIUS或TACACS服務器來完成,即認證、授權、計費不能分別指定不同的方案。

image

注意:
用戶可以通過引用配置好的radius-scheme-name來實現認證、授權、計費,而採用本地認證方案時只能進行認證、授權,無法實現計費。
如果scheme命令配置了radius-scheme radius-scheme-name local參數,則local爲RADIUS服務器沒有正常響應後的備選認證方案,即當RADIUS服務器有效時,不使用本地認證;當RADIUS服務器無效時,使用本地認證。
如果local或者none作爲第一方案,那麼只能採用本地認證或者不進行認證,不能再同時採用RADIUS方案。
如果scheme命令配置了hwtacacs-scheme hwtacacs-scheme-name local參數,則local爲TACACS服務器沒有正常響應後的備選認證方案,即當TACACS服務器有效時,不使用本地認證;當TACACS服務器無效時,使用本地認證。
如果配置的認證方式爲scheme none,則用戶登錄到系統後所能訪問的命令級別爲0。

2. 認證、授權、計費分離方式
採用這種方式時,用戶可以通過authentication、authorization、accounting這三條命令分別指定認證、授權、計費方案。認證、授權、計費分離方式中對於AAA支撐的各種業務的具體實現如下:
對於終端用戶
認證採用:RADIUS,local,RADIUS-local或者none。
授權採用:none。
計費採用:RADIUS或者none。
用戶可以參照上面的實現任意組合配置認證、授權和計費的方案。

對於FTP用戶
對於FTP用戶僅支持認證。
認證採用:RADIUS,local,RADIUS-local。
請在ISP域視圖下進行下列配置。
表1-8 配置ISP域的AAA

image

說明:
如果在配置了認證、授權、計費分離方案的同時還配置了認證、授權、計費捆綁方案,優先使用認證、授權、計費分離方案。
由於RADIUS方案與local方案不支持認證和授權的分離,在配置認證、授權時應注意:當域中配置了scheme radius-scheme命令或者scheme local命令,且沒有同時配置authentication命令時,此時如果配置了authorization none,RADIUS方案和local方案返回的授權信息仍然有效。

1.3.5 配置動態VLAN下發特性
動態VLAN下發是指以太網交換機根據RADIUS服務器下發的屬性值,將已經通過身份認證的用戶所在的端口動態地加入到不同的VLAN中,從而對用戶所能訪問的網絡資源進行控制。
目前交換機支持RADIUS認證服務器下發整型和字符串型的VLAN ID:

整型:交換機根據RADIUS認證服務器下發的整型ID將端口加入相應VLAN中,如果該VLAN不存在,則首先創建VLAN,而後將端口加入到新創建的VLAN中。
字符串型:交換機根據RADIUS認證服務器下發的字符串型ID,與交換機上已存在VLAN的名稱進行比對,如果找到匹配項,則將該端口加入相應VLAN中,否則VLAN下發失敗,用戶無法通過認證。
交換機支持兩種模式的動態VLAN下發的是爲了適應認證服務器而設置的。不同的認證服務器下發方式不同,建議用戶根據所使用的服務器動態VLAN下發的格式來對設備進行配置。
這裏列出幾種常用的服務器的下發模式:

image

在實際應用中,爲了與Guest VLAN配合使用,一般將端口控制方式設置爲基於端口的方式;如果將端口控制方式設置爲基於MAC地址的方式,則每個端口下面只能連接一個用戶。

image

image

注意:
對於字符串型VLAN下發模式,交換機在處理過程中遵循整型優先的原則:如果RADIUS服務器下發的VLAN名稱是全數字的字符串,如字符串“1024”,並且轉換成整型的數值在合法的VLAN範圍之內,則交換機會將全數字型的字符串轉換爲整型處理,將認證端口加入轉換後的整型數值VLAN中,即該端口會被加入到VLAN 1024中。
同時啓用了MSTP多實例和802.1x的端口,如果需要實現動態VLAN下發功能,則要將MSTP端口設置爲邊緣端口。
802.1x認證應用動態VLAN下發特性時,如果要下發的VLAN在設備上已經存在並且是動態VLAN,則無法下發成功,用戶認證失敗。

1.3.6 配置本地用戶的屬性
當AAA方案選擇了本地認證方案(local)時,應在交換機上創建本地用戶並配置相關屬性。
所謂本地用戶,是指在交換機上設置的一組用戶的集合。該集合以用戶名爲用戶的唯一標識。爲使某個請求網絡服務的用戶可以通過本地認證,需要在交換機上的本地用戶數據庫中添加相應的表項。

image

image

注意:
當採用local-user password-display-mode cipher-force命令後,即使用戶通過password命令指定密碼顯示方式爲明文顯示(即simple方式)後,密碼也會顯示爲密文。
如果配置的認證方式需要用戶名和口令(包括本地認證和RADIUS認證),則用戶登錄系統後所能訪問的命令級別由用戶的優先級確定。對於SSH用戶,使用RSA公鑰認證時,其所能使用的命令以用戶界面上設置的級別爲準。
如果配置的認證方式爲不認證或採用password認證,則用戶登錄到系統後所能訪問的命令級別由用戶界面的優先級確定。

1.3.7 配置強制切斷用戶連接

image

說明:
對於Telnet、FTP類型登錄用戶,可以通過display connection命令查看到連接,但是不能通過cut connection命令切斷連接。

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