Radius認(rèn)證服務(wù)器的配置與應(yīng)用(802.1x)
作者:北京師范大學(xué)珠海分校 - 信息技術(shù)學(xué)院 - 姜南
環(huán)境:Windows 2003 Radius服務(wù)器+Cisco 2950交換機+Windows XP/2003客戶端
IEEE 802.1x協(xié)議
IEEE 802.1x是一個基于端口的網(wǎng)絡(luò)訪問控制協(xié)議,該協(xié)議的認(rèn)證體系結(jié)構(gòu)中采用了“可控端口”和“不可控端口”的邏輯功能,從而實現(xiàn)認(rèn)證與業(yè)務(wù)的分離,保證了網(wǎng)絡(luò)傳輸?shù)男?。IEEE 802系列局域網(wǎng)(LAN)標(biāo)準(zhǔn)占據(jù)著目前局域網(wǎng)應(yīng)用的主要份額,但是傳統(tǒng)的IEEE 802體系定義的局域網(wǎng)不提供接入認(rèn)證,只要用戶能接入集線器、交換機等控制設(shè)備,用戶就可以訪問局域網(wǎng)中其他設(shè)備上的資源,這是一個安全隱患,同時也不便于實現(xiàn)對局域網(wǎng)接入用戶的管理。IEEE 802.1x是一種基于端口的網(wǎng)絡(luò)接入控制技術(shù),在局域網(wǎng)設(shè)備的物理接入級對接入設(shè)備(主要是計算機)進(jìn)行認(rèn)證和控制。連接在交換機端口上的用戶設(shè)備如果能通過認(rèn)證,就可以訪問局域網(wǎng)內(nèi)的資源,也可以接入外部網(wǎng)絡(luò)(如Internet);如果不能通過認(rèn)證,則無法訪問局域網(wǎng)內(nèi)部的資源,同樣也無法接入Internet,相當(dāng)于物理上斷開了連接。
IEEE 802. 1x協(xié)議采用現(xiàn)有的可擴展認(rèn)證協(xié)議(Extensible Authentication Protocol,EAP),它是IETF提出的PPP協(xié)議的擴展,最早是為解決基于IEEE 802.11標(biāo)準(zhǔn)的無線局域網(wǎng)的認(rèn)證而開發(fā)的。雖然IEEE802.1x定義了基于端口的網(wǎng)絡(luò)接入控制協(xié)議,但是在實際應(yīng)用中該協(xié)議僅適用于接入設(shè)備與接入端口間的點到點的連接方式,其中端口可以是物理端口,也可以是邏輯端口。典型的應(yīng)用方式有兩種:一種是以太網(wǎng)交換機的一個物理端口僅連接一個計算機;另一種是基于無線局域網(wǎng)(WLAN)的接入方式。其中,前者是基于物理端口的,而后者是基于邏輯端口的。目前,幾乎所有的以太網(wǎng)交換機都支持IEEE 802.1x協(xié)議。
RADIUS服務(wù)器
RADIUS(Remote Authentication Dial In User Service,遠(yuǎn)程用戶撥號認(rèn)證服務(wù))服務(wù)器提供了三種基本的功能:認(rèn)證(Authentication)、授權(quán)(Authorization)和審計(Accounting),即提供了3A功能。其中審計也稱為“記賬”或“計費”。
RADIUS協(xié)議采用了客戶機/服務(wù)器(C/S)工作模式。網(wǎng)絡(luò)接入服務(wù)器(Network Access Server,NAS)是RADIUS的客戶端,它負(fù)責(zé)將用戶的驗證信息傳遞給指定的RADIUS服務(wù)器,然后處理返回的響應(yīng)。RADIUS服務(wù)器負(fù)責(zé)接收用戶的連接請求,并驗證用戶身份,然后返回所有必須要配置的信息給客戶端用戶,也可以作為其他RADIUS服務(wù)器或其他類認(rèn)證服務(wù)器的代理客戶端。服務(wù)器和客戶端之間傳輸?shù)乃袛?shù)據(jù)通過使用共享密鑰來驗證,客戶端和RADIUS服務(wù)器之間的用戶密碼經(jīng)過加密發(fā)送,提供了密碼使用的安全性。
基于IEEE 802.1x認(rèn)證系統(tǒng)的組成
一個完整的基于IEEE 802.1x的認(rèn)證系統(tǒng)由認(rèn)證客戶端、認(rèn)證者和認(rèn)證服務(wù)器3部分(角色)組成。
認(rèn)證客戶端。認(rèn)證客戶端是最終用戶所扮演的角色,一般是個人計算機。它請求對網(wǎng)絡(luò)服務(wù)的訪問,并對認(rèn)證者的請求報文進(jìn)行應(yīng)答。認(rèn)證客戶端必須運行符合IEEE 802.1x 客戶端標(biāo)準(zhǔn)的軟件,目前最典型的就是Windows XP操作系統(tǒng)自帶的IEEE802.1x客戶端支持。另外,一些網(wǎng)絡(luò)設(shè)備制造商也開發(fā)了自己的IEEE 802.1x客戶端軟件。
認(rèn)證者認(rèn)證者一般為交換機等接入設(shè)備。該設(shè)備的職責(zé)是根據(jù)認(rèn)證客戶端當(dāng)前的認(rèn)證狀態(tài)控制其與網(wǎng)絡(luò)的連接狀態(tài)。扮演認(rèn)證者角色的設(shè)備有兩種類型的端口:受控端口(controlled Port)和非受控端口(uncontrolled Port)。其中,連接在受控端口的用戶只有通過認(rèn)證才能訪問網(wǎng)絡(luò)資源;而連接在非受控端口的用戶無須經(jīng)過認(rèn)證便可以直接訪問網(wǎng)絡(luò)資源。把用戶連接在受控端口上,便可以實現(xiàn)對用戶的控制;非受控端口主要是用來連接認(rèn)證服務(wù)器,以便保證服務(wù)器與交換機的正常通訊。
認(rèn)證服務(wù)器認(rèn)證服務(wù)器通常為RADIUS服務(wù)器。認(rèn)證服務(wù)器在認(rèn)證過程中與認(rèn)證者配合,為用戶提供認(rèn)證服務(wù)。認(rèn)證服務(wù)器保存了用戶名及密碼,以及相應(yīng)的授權(quán)信息,一臺認(rèn)證服務(wù)器可以對多臺認(rèn)證者提供認(rèn)證服務(wù),這樣就可以實現(xiàn)對用戶的集中管理。認(rèn)證服務(wù)器還負(fù)責(zé)管理從認(rèn)證者發(fā)來的審計數(shù)據(jù)。微軟公司的Windows Server 2003操作系統(tǒng)自帶有RADIUS服務(wù)器組件。
實驗拓?fù)鋱D
安裝RADIUS服務(wù)器
如果這臺計算機是一臺Windows Server 2003的獨立服務(wù)器(未升級成為域控制器,也未加入域),則可以利用SAM來管理用戶賬戶信息;如果是一臺Windows Server 2003域控制器,則利用活動目錄數(shù)據(jù)庫來管理用戶賬戶信息。雖然活動目錄數(shù)據(jù)庫管理用戶賬戶信息要比利用SAM來安全、穩(wěn)定,但RADIUS服務(wù)器提供的認(rèn)證功能相同。為便于實驗,下面以一臺運行Windows Server 2003的獨立服務(wù)器為例進(jìn)行介紹,該計算機的IP地址為172.16.2.254。
在"控制面板"中雙擊"添加或刪除程序",在彈出的對話框中選擇"添加/刪除Windows組件"
在彈出的"Windows組件向?qū)?中選擇"網(wǎng)絡(luò)服務(wù)"組件,單擊"詳細(xì)信息"
勾選"Internet驗證服務(wù)"子組件,確定,然后單擊"下一步"進(jìn)行安裝
在"控制面板"下的"管理工具"中打開"Internet驗證服務(wù)"窗口
創(chuàng)建用戶賬戶
RADIUS服務(wù)器安裝好之后,需要為所有通過認(rèn)證才能夠訪問網(wǎng)絡(luò)的用戶在RADIUS服務(wù)器中創(chuàng)建賬戶。這樣,當(dāng)用戶的計算機連接到啟用了端口認(rèn)證功能的交換機上的端口上時,啟用了IEEE 802.1x認(rèn)證功能的客戶端計算機需要用戶輸入正確的賬戶和密碼后,才能夠訪問網(wǎng)絡(luò)中的資源。
在"控制面板"下的"管理工具"中打開"計算機管理",選擇"本地用戶和組"
為了方便管理,我們創(chuàng)建一個用戶組"802.1x"專門用于管理需要經(jīng)過IEEE 802.1x認(rèn)證的用戶賬戶。鼠標(biāo)右鍵單擊"組",選擇"新建組",輸入組名后創(chuàng)建組。
在添加用戶之前,必須要提前做的是,打開"控制面板"-"管理工具"下的"本地安全策略",依次選擇"賬戶策略"-"密碼策略",啟用"用可還原的加密來儲存密碼"策略項。
否則以后認(rèn)證的時候?qū)霈F(xiàn)以下錯誤提示。
接下來我們添加用戶賬戶"0801010047",設(shè)置密碼"123"。鼠標(biāo)右鍵單擊"用戶",選擇"新用戶",輸入用戶名和密碼,創(chuàng)建用戶。
將用戶"0801010047"加入到"802.1x"用戶組中。鼠標(biāo)右鍵單擊用戶"0801010047",選擇"屬性"。在彈出的對話框中選擇"隸屬于",然后將其加入"802.1x"用戶組中。
設(shè)置遠(yuǎn)程訪問策略
在RADIUS服務(wù)器的”Internet驗證服務(wù)”窗口中,需要為Cisco2950交換機以及通過該交換機進(jìn)行認(rèn)證的用戶設(shè)置遠(yuǎn)程訪問策略。具體方法如下:
新建遠(yuǎn)程訪問策略,鼠標(biāo)右鍵單擊"遠(yuǎn)程訪問策略",選擇"新建遠(yuǎn)程訪問策略"
選擇配置方式,這里我們使用向?qū)J?/p>
選擇訪問方法,以太網(wǎng)
選擇授權(quán)方式,將之前添加的"802.1x"用戶組加入許可列表
選擇身份驗證方法,"MD5-質(zhì)詢"
確認(rèn)設(shè)置信息
只保留新建的訪問策略,刪掉其他的
創(chuàng)建RADIUS客戶端
需要說明的是,這里要創(chuàng)建的RADIUS客戶端,是指類似于圖3中的交換機設(shè)備,在實際應(yīng)用中也可以是VPN服務(wù)器、無線AP等,而不是用戶端的計算機。RADIUS服務(wù)器只會接受由RADIUS客戶端設(shè)備發(fā)過來的請求,為此需要在RADIUS服務(wù)器上來指定RADIUS客戶端。以圖3的網(wǎng)絡(luò)拓?fù)錇槔?,具體步驟如下:
新建RADIUS客戶端。鼠標(biāo)右鍵單擊"RADIUS客戶端",選擇"新建RADIUS客戶端"
設(shè)置RADIUS客戶端的名稱和IP地址??蛻舳薎P地址即交換機的管理IP地址,我們這里是172.17.2.250,等會說明如何配置。
設(shè)置共享密鑰和認(rèn)證方式。認(rèn)證方式選擇"RADIUS Standard",密鑰請記好,等會配置交換機的時候這個密鑰要相同。
顯示已創(chuàng)建的RADIUS客戶端
在交換機上啟用認(rèn)證機制
現(xiàn)在對支持IEEE 802.1x認(rèn)證協(xié)議的交換機進(jìn)行配置,使它能夠接授用戶端的認(rèn)證請求,并將請求轉(zhuǎn)發(fā)給RADIUS服務(wù)器進(jìn)行認(rèn)證,最后將認(rèn)證結(jié)果返回給用戶端。在拓?fù)鋱D中:
RADIUS認(rèn)證服務(wù)器的IP地址為172.17.2.254/24
交換機的管理IP地址為172.16.2.250/24
需要認(rèn)證的計算機接在交換機的FastEthernet0/5端口上
因此我們實驗時只對FastEthernet0/5端口進(jìn)行認(rèn)證,其他端口可不進(jìn)行設(shè)置。具體操作如下:
使用Console口登陸交換機,設(shè)置交換機的管理IP地址
Cisco2950>enable
Cisco2950#configure terminal
Cisco2950(config)#interface vlan 1 (配置二層交換機管理接口IP地址)
Cisco2950(config-if)#ip address 172.17.2.250 255.255.255.0
Cisco2950(config-if)#no shutdown
Cisco2950(config-if)#end
Cisco2950#wr
在交換機上啟用AAA認(rèn)證
Cisco2950#configure terminal
Cisco2950(config)#aaa new-model (啟用AAA認(rèn)證)
Cisco2950(config)#aaa authentication dot1x default group radius (啟用dot1x認(rèn)證)
Cisco2950(config)#dot1x system-auth-control (啟用全局dot1x認(rèn)證)
指定RADIUS服務(wù)器的IP地址和交換機與RADIUS服務(wù)器之間的共享密鑰
Cisco2950(config)#radius-server host 172.17.2.254 key slyar.com (設(shè)置驗證服務(wù)器IP及密鑰)
Cisco2950(config)#radius-server retransmit 3 (設(shè)置與RADIUS服務(wù)器嘗試連接次數(shù)為3次)
配置交換機的認(rèn)證端口,可以使用interface range命令批量配置端口,這里我們只對FastEthernet0/5啟用IEEE 802.1x認(rèn)證
Cisco2950(config)#interface fastEthernet 0/5
Cisco2950(config-if)#switchport mode access (設(shè)置端口模式為access)
Cisco2950(config-if)#dot1x port-control auto (設(shè)置802.1x認(rèn)證模式為自動)
Cisco2950(config-if)#dot1x timeout quiet-period 10 (設(shè)置認(rèn)證失敗重試時間為10秒)
Cisco2950(config-if)#dot1x timeout reauth-period 30 (設(shè)置認(rèn)證失敗重連時間為30秒)
Cisco2950(config-if)#dot1x reauthentication (啟用802.1x認(rèn)證)
Cisco2950(config-if)#spanning-tree portfast (開啟端口portfast特性)
Cisco2950(config-if)#end
Cisco2950#wr
測試802.1x認(rèn)證接入
1、將要進(jìn)行認(rèn)證接入的計算機接入交換機的FastEthernet0/5端口,設(shè)置IP地址為172.17.2.5(隨便設(shè)置,只要不跟認(rèn)證服務(wù)器IP及交換機管理IP沖突即可)
2、在"本地連接"的"驗證"標(biāo)簽欄中啟用IEEE 802.1x驗證,EAP類型設(shè)置為"MD5-質(zhì)詢",其余選項可不選。
3、如果之前配置沒有問題,過一會即可看到托盤菜單彈出要求點擊進(jìn)行驗證
4、點擊之后會彈出類似銳捷客戶端一樣的登陸框,要求輸入用戶名和密碼。這里我們輸入之前配置的用戶名"0801010047",密碼"123",確定。
5、驗證成功后可以ping一下172.17.2.254進(jìn)行驗證,同時可以觀察到交換機FastEthernet0/5端口指示燈已經(jīng)由黃色變?yōu)榫G色。
為保證計算機支持802.1x驗證,請確認(rèn)Wireless Configuration服務(wù)正常開啟。
6、可以通過"控制面板"-"管理工具"中的"事件查看器"-"系統(tǒng)"子選項觀察802.1x的驗證日志。
聯(lián)系客服