實驗5 安裝及建置AAA Server

Download Report

Transcript 實驗5 安裝及建置AAA Server

實驗 5:安裝及建置AAA Server
國立雲林科技大學
自由軟體研發中心
實驗 5:安裝及建置AAA Server
User
實驗目的
AAA
Server
NAS
Authentication Request on
EAPoL or EAPoW
Authentication Response
on EAPoL or EAPoW
RADIUS
Authentication Request
RADIUS Authentication
Response & Authorization
Get IP Addr.
Accounting Start Request
Accounting Start Response
Enjoy!
Logout
Accounting Stop Request
Accounting Stop Response


本實驗需安裝與建置AAA Server,我們使用Open Source套件–FreeRADIUS 來完成AAA
協議的三項功能。
Authentication



Authorization




採用802.1x 控制User未經授權之前,無法使用網路資源。
認證協定使用PEAP (Protected EAP)。
我們將在NAS (Network Access Server, 向RADIUS提出請求的網路設備)上建置多個VLAN,並在
這些VLAN上預先設定不同的Access Control List。
FreeRADIUS依據User所在的群組授權不同的VLAN ID,
NAS會依照RADIUS回傳的屬性,將User分配到不同的VLAN下。
Accounting

我們將展示FreeRADIUS的計費記錄資訊。
國立雲林科技大學 自由軟體研發中心
2
實驗 5:安裝及建置AAA Server
實驗目的
Cisco Catalyst 3560 Switch
Cisco Router 2600
Vlan 1
FreeRADIUS
140.125.32.6
Realm: cnl.yuntech.edu.tw
Fa0/0
Fa0/1
Fa0/24
Fa0/7
Vlan 3
User
Vlan 2
Guest


安裝於Linux作業系統。
Cisco Router 2600


VLAN
2
3
本實驗所需的網路拓墣如上。
FreeRADIUS


Group Username
guest
guest
user
lwc
為了讓實驗環境(私有網域)存取Internet資源,所以在Router上執行NAT機制。
Cisco Catalyst 3560 Switch



連接各台主機的設備,並啟用它的IP Routing功能。
我們在Switch上設定802.1x,讓User未經許可前,無法存取網路資源。
共新增兩個VLAN(VLAN ID 2, 3),讓User與Guest分別在不同的網域。
國立雲林科技大學 自由軟體研發中心
3
實驗 5:安裝及建置AAA Server

實驗流程
本實驗大致上可分為下列幾個部份
1) FreeRADIUS安裝與設定
2) 路由器設定
3) 交換器設定
4) 利用MySQL 模組記錄FreeRADIUS的資訊
5) 最高層認證中心、客戶端與伺服端之憑證製作
6) 在WindowXP安裝客戶端憑證與設定PEAP
國立雲林科技大學 自由軟體研發中心
4
實驗 5:安裝及建置AAA Server





FreeRADIUS安裝與設定
RADIUS介紹
FreeRADIUS介紹
FreeRADIUS安裝
FreeRADIUS設定
FreeRADIUS執行與測試
圖片來源:國家高速網路與計算中心
國立雲林科技大學 自由軟體研發中心
5
實驗 5:安裝及建置AAA Server
RADIUS介紹

User
存取要求
授權回應

NAS
驗證結果
身份驗證
Local
RADIUS

採用UDP封包做為傳輸協定,標準認證使用的
通訊埠為1812、計費使用的通訊埠為1813。

運作流程(如左圖所示):
使用者向網路設備(NAS)提出存取要求,NAS
則傳送一目地埠為1812的UDP封包至本地
RADIUS伺服器,若該使用者屬於漫遊身份
時,則將由其它RADIUS伺服器代理驗證並回
傳驗證結果至NAS。NAS依驗證結果授權使用
者是否可以使用網路資源。
驗證轉送
驗證結果
Other
RADIUS
遠端用撥入驗證服務 (Remote Access Dial In
User Service)的應用場合通常有
 撥接用戶撥入身份認證
 有線、無線網路存取身份認證
 其它網路設備管理者登入認證
它具備AAA功能:
 驗證(Authentication)
 你是誰?
 授權(Authorization)
 允許你能使用那些服務?
 計費(Accounting)
 使用服務後付費
國立雲林科技大學 自由軟體研發中心
6
實驗 5:安裝及建置AAA Server
FreeRADIUS介紹



在眾多的RADIUS軟體中,認證機制的支
援度最高、功能性最強大。
Open Source專案,據統計目前約有5萬的
軟體開發者。
支援的作業系統

PAP/CHAP
PEAP
TTLS
FreeRADIUS
V
V
V
GNU RADIUS
V
X
X
Merit RADIUS
V
X
X
M$ IAS
V
V
X
Ci$co ACS
V
V
X

支援的硬體平台




IA-64 (Itanium & Itanium2) 、 PPC (IBM
POWER & PowerPC)、Sparc、x86
支援的認證協定


Linux、AIX、Cygwin、FreeBSD、HP-UX、
Mac OSX 、 NetBSD 、 OpenBSD 、
OSF/Unix 、Solaris
PAP 、 CHAP 、 MS-CHAP 、 EAP-MD5 、
EAP-GTC 、 EAP-TLS 、 EAP-TTLS 、
PEAPv0、LEAP、EAP-SIM、Digest
支援完整的AAA能力。
設定方式模組化,容易維護。
官方網站

http://www.freeradius.org/
國立雲林科技大學 自由軟體研發中心
7
實驗 5:安裝及建置AAA Server
FreeRADIUS安裝

# emerge --sync
# USE=“mysql ssl” emerge freeradius
左圖為FreeRADIUS於Gentoo Linux上的
安裝流程。


/*於/etc/raddb目錄下的幾個重要設定檔*/
radiusd.conf
/*主要系統設定檔: 認證協定模組啟用或停用設在
此設定*/
client.conf
/*認證客戶端設定檔*/
proxy.conf
/*認證轉送設定檔*/
users
/*本地帳號及處理方式設定檔*/



Portage Tree更新至最新版。
在安裝FreeRADIUS時,也安裝mysql、ssl
等相關模組。
設定檔路徑
 /etc/raddb
記錄檔路徑
 系統運作及認證記錄檔
 /var/log/radius/radius.log
 計費資訊記錄檔
 /var/log/radius/radacct/<NAS IP
位址>/auth-detail-計費日期
執行檔路徑
 /usr/sbin/radiusd
國立雲林科技大學 自由軟體研發中心
8
實驗 5:安裝及建置AAA Server
FreeRADIUS設定

程式啟動
系統運作流程

radiusd.conf
程式啟動: 讀取radiusd.conf系統設定

收到認證請求
Access-Request

收到認證請求(Access-Request)封包

來源檢查

client.conf
非本地帳號
由其它RADIUS
Server代理認證

領域判斷

proxy.conf
本地帳號
帳號/金鑰管理中心
UNIX shadow/passwd
SQL Server
LDAP
比對client.conf的認證來源設定
若該請求為合法用戶時,則比對領域
名稱(Realm),決定認證處理方式

合法用戶
UDP 1812/1813
比對proxy.conf的領域名稱設定
有相同的realm設定
 使用proxy.conf中所設定的處理
方式由其它RADIUS代理認證
無相同的realm設定
 使用users中所設定的預設處理
方式比對users中的帳號與金鑰
身份驗證
users
fail
回覆認證失敗
Access-Reject
success
回覆認證成功
Access-Accept
授權相關屬性
國立雲林科技大學 自由軟體研發中心
9
實驗 5:安裝及建置AAA Server


主要的FreeRADIUS系統設定檔,系統啟動時會讀取這個檔案,用以決定執行時
的功能及運作方式。
user = radiusd


使用預設的1812/1813
proxy_requests = yes


* 代表監視所有的網路介面
port = 0


執行時群族為radiusd
bind_address = *


執行時身份為radiusd
group = radiusd


FreeRADIUS設定- radiusd.conf
啟用proxy RADIUS Server代理認證
其它的設定可參考radiusd.conf檔,內有詳細的參數說明。
國立雲林科技大學 自由軟體研發中心
10
實驗 5:安裝及建置AAA Server
User
NAS
140.125.32.1
FreeRADIUS
140.125.32.6
Client Server
FreeRADIUS設定- client.conf

Client 通 常 是 要 求 認 證 的 網 路 設 備 ,
clients.conf處理與Client端相關的設定(如
左所示),所有合法的IP位址或網段都必須
記錄在這個檔案之中,若無記錄則視為非
法客戶則不提供認證服務。
Internet
Client 127.0.0.1 {
secret
= es602
Shortname = localhost
nastype
= other
}
網路設備outgoing_switch, IP ADDRESS為
140.125.32.1 與 RADIUS SERVER的通訊
祕密金錀為es602, nastype為other。
Client 140.125.32.1 {
secret
= es602
Shortname = wire_802dot1X
nastype
= other
}
Client < IP Address>{
secret
= <祕密金鑰>
Shortname = <名稱>
nastype
= <NAS型別>
}
Client < IP Address 網段>{
secret
= <祕密金鑰>
Shortname = <名稱>
nastype
= <NAS型別>
}
國立雲林科技大學 自由軟體研發中心
11
實驗 5:安裝及建置AAA Server
FreeRADIUS設定- users

設定認證帳號的處理方式

DEFAULT Auth-Type = System


DEFAULT Auth-Type = Local


使用系統帳號
使用users檔案中的帳號
DEFAULT Auth-Type = LDAP

使用LDAP作為認證方式
<帳號名稱> Auth-Type := Local, <帳號驗證條件>
範例:
nortel Auth-Type := Local, User-Password ==“es602”
Service-Type = Administrative-User
設定使用者帳號 nortel,其使用者密碼為 es^02,
若使用者認證成功後,RADIUS則回傳授權屬性
Service-Type = Administrative-User
國立雲林科技大學 自由軟體研發中心
12
實驗 5:安裝及建置AAA Server
FreeRADIUS設定- proxy.conf


記載當伺服器收到一個帳號的認證要求時,
各 個 realm 應 該 使 用 ( 被 轉 送 至 ) 哪 些
RADIUS伺服器進行處理。
REALM (領域名稱)


realm <REALM 名稱> {
type = radius
authhost= <認證伺服器 IP>:<port>
accthost = <計費伺服器 IP>:<port>
secret = <祕密金鑰>
ldflag = <round_robin | fail_over>
<nostrip>
}
LWC @ edu.tw
Account realm

ldflag (平衡負載旗標)





帳號所屬單位或是伺服器的辨識依據。
不區分大小寫。
FreeRADIUS 支 援 在 多 個 RADIUS 之 間 的
Load balancing及Redundancy機制。
round_robin: 依序循環地選擇符合realm字
串的RADIUS伺服器。(Load balancing)
fail_over: 符合realm字串的第一筆RADIUS
伺服器,若該伺服器未能正常提供服務時,
則由符合realm字串的第二筆記錄的伺服來
認證。(Redundancy)
FreeRADIUS預設為fail_over。
nostrip (不濾除realm字串)


Strip功能為FreeRADIUS收到帳號名稱時,
濾除其realm名稱,以便後端模組進行帳號
及密碼認證。
FreeRADIUS預設為strip。
國立雲林科技大學 自由軟體研發中心
13
實驗 5:安裝及建置AAA Server
Access-Request
[email protected]
NAS
140.125.32.1
FreeRADIUS設定- proxy.conf-example

當Local RADIUS收到由[email protected]的送
出Access-Request封包後,比對後發現在
proxy.conf有一筆realm記錄符合edu.tw時,
則依照該記錄將Access-Request交給Proxy
RADIUS驗證。採用round_robin平衡負載
的策略和不去除realm的選項(nostrip)以避
免 Proxy RADIUS 無 法 識 別 該
[email protected] 的 帳 號 。 以 下 是 Local
RADIUS伺服器的proxy.conf所記錄realm為
edu.tw的記錄。

realm edu.tw{
type = radius
authhost = 140.125.32.240:1812
accthost = 140.125.32.240:1813
ldflag = round_robin
nostrip
}
Local RADIUS
140.125.32.6
Realm:yuntech.edu.tw
Client Server
Roaming
User
Internet
Proxy RADIUS
140.125.32.240
Realm: edu.tw
國立雲林科技大學 自由軟體研發中心
14
實驗 5:安裝及建置AAA Server
# /etc/init.d/radiusd start
*Starting radiusd …
[ ok ]
# radtest nortel es602 localhost 0 es602
Sending Access-Request of id 178 to 127.0.0.1 port 1812
User-Name = "nortel"
User-Password = "es602"
NAS-IP-Address = 255.255.255.255
NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=178, length=26
Service-Type = Administrative-User
# radtest [email protected] es602 localhost 0 es602
Sending Access-Request of id 178 to 127.0.0.1 port 1812
User-Name = "nortel"
User-Password = "es602"
NAS-IP-Address = 255.255.255.255
NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=178, length=26
Service-Type = Administrative-User
# radtest [email protected] failpasswd localhost 0 es602
Sending Access-Request of id 202 to 127.0.0.1 port 1812
User-Name = "[email protected]"
User-Password = "failpasswd"
NAS-IP-Address = 255.255.255.255
NAS-Port = 0
Re-sending Access-Request of id 202 to 127.0.0.1 port 1812
User-Name = "[email protected]"
User-Password = "failpasswd"
NAS-IP-Address = 255.255.255.255
NAS-Port = 0
rad_recv: Access-Reject packet from host 127.0.0.1:1812, id=202, length=20
#
FreeRADIUS 執行及測試

FreeRADIUS背景執行


FreeRADIUS除錯模式(emerge時USE旗標
需設定)


radtest <帳號> <密碼> <認證伺服器 IP>
<:PORT | 0> <密鑰>
其它Windows測試工具


/usr/local/sbin/radiusd –X
認證測試工具radtest


/usr/local/sbin/radiusd
ntradping
若無法測試成功請檢查 Client.conf、users、
proxy.conf及radiusd.conf檔案設定。
國立雲林科技大學 自由軟體研發中心
15
實驗 5:安裝及建置AAA Server


安裝FreeRADIUS與設定
下列圖示按滑鼠右鍵選擇播放,Step by Step說明安裝過程。
影片的播放過程中出現綠框黑鍵時,影片將停留在那個畫面,並請點選它,以便影片繼續進行。
國立雲林科技大學 自由軟體研發中心
16
實驗 5:安裝及建置AAA Server

在FreeRADIUS使用SQL記錄AAA的功能需求


先確定已完成FreeRADIUS的安裝與設定並啟用與MySQL Server的模組設定。
記錄於SQL資料庫中的使用者帳號與密碼。


Select * From `radcheck` LIMIT 0,30;
可在這個資料表(radcheck)新增使用者名稱、密碼。
id

FreeRADIUS Configuration -Authentication
Username
Attribute
op
Value
1
es602
User-Password
:=
es^02
2
cloudchi
User-Password
:=
cloudz
3
guest
User-Password
:=
guest
4
lwc
User-Password
:=
12321
記錄於SQL資料庫中使用者所在群組。


Select * From `groupcheck` LIMIT 0,30;
這個資料表可以分派使用者屬於那個群組。
Username
GroupName
Priority
es602
foruser
1
guest
forguest
1
lwc
forguest
1
cloudchi
foruser
1
國立雲林科技大學 自由軟體研發中心
17
實驗 5:安裝及建置AAA Server

當使用者認證成功後,RADIUS將回傳的相關授權屬性,其中包含各群組的VLAN name。
若對以下屬性、數值對有疑問的話,可以參考RFC2865。


id
FreeRADIUS Configuration - Authorization
Select * From `radgroupreply` LIMIT 0,30
各NAS廠商對RADIUS支援度各有不同,所以在添購設備之前,建議先行調查。
Groupname
Attribute
op
說明
Value
1
foruser
Auth-Type
:=
Local
認證採用的方式。
2
foruser
Service-Type
:=
Framed-User
用戶需要什麼服務或是能提供什麼服務?
3
foruser
Framed-IP-Address
:=
255.255.255.254
設定用戶的IP位址。
4
foruser
Framed-IP-Netmask
:=
255.255.255.0
設定用戶的網路遮罩。
5
foruser
Tunnel-Type:1
:=
VLAN
分派VLAN使用
6
foruser
Tunnel-Medium-Type:1
:=
IEEE-802
分派VLAN使用
7
foruser
Tunnel-Private-Group-ID:1
:=
foruser
分派VLAN使用
8
foruser
Cisco-AVPair:1
:=
ip:addr-pool=foruser
指定dhcp ip pool
9
foruser
Session-Timeout
:=
0
會議期限(Secs)
10
forguest
Auth-Type
:=
Local
認證採用的方式。
11
forguest
Service-Type
:=
Framed-User
用戶需要什麼服務或是能提供什麼服務?
12
forguest
Framed-IP-Address
:=
255.255.255.254
設定用戶的IP位址。
13
forguest
Framed-IP-Netmask
:=
255.255.255.0
設定用戶的網路遮罩。
14
forguest
Tunnel-Type:1
:=
VLAN
分派VLAN使用
15
forguest
Tunnel-Medium-Type:1
:=
IEEE-802
分派VLAN使用
16
forguest
Tunnel-Private-Group-ID:1
:=
forguest
分派VLAN使用
17
forguest
Cisco-AVPair:1
:=
ip:addr-pool=forguest
指定dhcp ip pool
18
forguest
Session-Timeout
:=
0
會議期限(Secs)
國立雲林科技大學 自由軟體研發中心
18
實驗 5:安裝及建置AAA Server
使用者帳號
ID
計時開始
下傳流量
計時結束
FreeRADIUS – Accounting information
領域位置 NAS IP位址
上傳流量
Session歷時
NAS實體位址 USER實體位址 計費中斷原因
國立雲林科技大學 自由軟體研發中心
USER IP
19
路由器設定
實驗 5:安裝及建置AAA Server
1)
2)
3)
4)
5)
6)
7)
8)
9)
10)
11)
12)
13)
telnet 2600
Configure terminal
interface FastEthernet0/0
ip address 140.125.32.248 255.255.255.0
ip nat outside
exit
interface FastEthernet0/1
ip address 192.168.1.254 255.255.255.0
ip nat inside
exit
ip route 0.0.0.0 0.0.0.0 140.125.32.254
ip nat inside source list 1 interface FastEthernet0/0
overload
access-list 1 permit any
PEAP
LWC





Fa0/7
Fa0/24
Cisco 3560 Switch
Fa0/1
Fa0/0
Cisco Router 2600
NAT
140.125.32.248
FreeRADIUS
140.125.32.6
Realm: cnl.yuntech.edu.tw
由 於 我 們 的 實 驗 在 私 有 網 域 (Private
Network)下進行,其網路拓墣需要使用一
路 由 器 , 提 供 網 路 位 址 轉 譯 (Network
Address Translation)之用。
使用兩個網路介面(Fa0/0、Fa0/1)、分別為
inside、outside網路之用。
新增一「允許全部IP的ACL」至NAT位址
轉譯的條件,主要目的為把由內往外的封
包上的來源IP位址,偽裝成Fa0/0的IP位址。
該 路 由 器 的 預 設 通 訊 閘 為
「140.125.32.254」。
左邊的設定為在Cisco 2600 Router上的設
定。
國立雲林科技大學 自由軟體研發中心
20
交換器設定
實驗 5:安裝及建置AAA Server
1)
2)
3)
4)
5)
6)
7)
8)
9)
telnet 3560
Configure terminal
aaa new-model
aaa authentication dot1x default group radius
aaa authorization network default group radius
aaa accounting dot1x default start-stop group radius
radius-server host 140.125.32.6 auth-port 1812 acctport 1813 key cisco
PEAP
LWC


ip classless
ip route 0.0.0.0 0.0.0.0 192.168.1.1

10)
11)
12)
13)
14)
15)
16)
17)
18)
dot1x system-auth-control
interface FastEthernet0/7
switchport mode access
dot1x pae authenticator
dot1x port-control auto
dot1x timeout reauth-period 6000
dot1x reauthentication
dot1x auth-fail max-attempts 2
spanning-tree portfast


Fa0/7
Fa0/24
Cisco 3560 Switch
Fa0/1
Fa0/0
Cisco Router 2600
NAT
140.125.32.248
FreeRADIUS
140.125.32.6
Realm: cnl.yuntech.edu.tw
網路拓墣需要使用一交換器,提供使用者
存取網路之用,並與RADIUS Server協同
執行802.1x的存取控制。
實驗需架設RADIUS,所以我們在Linux平
台 上 安 裝 FreeRADIUS 套 件 ; 亦 可 在
Window2000上安裝Cisco ACS套裝軟體。
本實驗採用中階的路由交換器網路設備
(Cisco Switch 3560),該設備可以完全符合
我 們 的 實 驗 需 求 (Authentication 、
Authorization、Accounting的功能)。
NAS 與 RADIUS 通 訊 時 使 用 的 金 鑰 為
「cisco」。
左邊的設定為在Cisco Switch 3560上的設
定。
國立雲林科技大學 自由軟體研發中心
21
交換器: IEEE 802.1x
實驗 5:安裝及建置AAA Server
Supplicant
Supplicant
PAE
Authentication
Server
Authenticator
Service Offered
By Authenticator
Authentication
PAE
Authentication
Server

以連接埠為基礎的網路存取控制(
Port-Based Network Access Control)藉由身
份認證,來增強安全性的不足。

Controlled Port
Uncontrolled Port
MAC Enable
LAN
EAP-MD5
PEAP
LEAP
.
.
EAP-TTLS
EAP-TLS
EAP-MD5
PEAP
LEAP
.
.
EAP-TTLS
EAP-TLS
EAP
RADIUS
RADIUS
UDP
UDP
EAPOL
EAPOL
IP
IP
MAC
MAC
MAC
MAC
PHY
PHY
PHY
PHY

當使用者欲存取Internet網路資源時,首先
需經過認證伺服器(FreeRADIUS)的身份認
證 。 當 使 用 者 與 Switch 處 於 Port
Unauthorized 狀態時,代表所有的資料將
不能通過;唯有認證的封包才允許通行。
直 到 認 證 成 功 後 , 狀 態 轉 變 成 Port
Authorized後,使用者此時才可使用網路
資源。
NAS若要完成該實驗,則需要支援兩種網
路協定;一是EAP(802.1X)協定,另外則
是RADIUS協定。
國立雲林科技大學 自由軟體研發中心
22
交換器設定(續)
實驗 5:安裝及建置AAA Server
19)
20)
21)
22)
23)
24)
25)
26)
27)
28)
29)
30)
31)
32)
33)
34)
35)
36)
interface Vlan1
ip address 192.168.1.254 255.255.255.0
interface Vlan2
ip address 192.168.2.254 255.255.255.0
interface Vlan3
ip address 192.168.3.254 255.255.255.0
ip dhcp pool dhcp-vlan-1
network 192.168.1.0 255.255.255.0
default-router 192.168.1.254
dns-server 140.125.252.1 140.125.253.2
ip dhcp pool forguest
network 192.168.2.0 255.255.255.0
default-router 192.168.2.254
dns-server 140.125.252.1 140.125.253.2
ip dhcp pool foruser
network 192.168.3.0 255.255.255.0
default-router 192.168.3.254
dns-server 140.125.252.1 140.125.253.2
PEAP
LWC

Fa0/24
Cisco 3560 Switch
Fa0/1
Fa0/0
Cisco Router 2600
NAT
140.125.32.248
FreeRADIUS
140.125.32.6
Realm: cnl.yuntech.edu.tw
配置三個Virtual LAN




Fa0/7
Vlan1
讓Switch、Router們獨立形成一區域網路。
Vlan2
讓訪客存取的區域網路。
Vlan3
讓使用者存取的區域網路。
啟用三個ip dhcp pool



dhcp-vlan-1
這個設定在本實驗並無太大用途,但它供
一般VOIP Phone自動取得IP位址、IP遮罩、
通訊閘、DNS資訊。
forguest
讓訪客能自動取得IP位址、IP遮罩、通訊
閘、DNS資訊。
foruser
讓使用者能自動取得IP位址、IP遮罩、通
訊閘、DNS資訊。
國立雲林科技大學 自由軟體研發中心
23
交換器設定(續)
實驗 5:安裝及建置AAA Server
37)
38)
39)
40)
41)
42)
43)
44)
45)
46)
47)
ip access-list extended aclguest
permit tcp any any eq www
permit tcp any eq www any
permit udp any any eq bootps
permit udp any eq bootps any
permit udp any any eq domain
permit udp any eq domain any
vlan access-map guest_vlan 10
action forward
match ip address aclguest
vlan filter guest_vlan vlan-list 2
PEAP
LWC

Fa0/24
Cisco 3560 Switch
Fa0/1
Fa0/0
Cisco Router 2600
NAT
140.125.32.248
FreeRADIUS
140.125.32.6
Realm: cnl.yuntech.edu.tw
我們將限制訪客存取網路資源的權限,只
開放訪客能使用




Fa0/7
WWW – http protocol
Bootps – dhcp reguest
Domain – dns reguest
vlan filter guest_vlan vlan-list 2

2代表Vlan2的VLAN ID Number。
國立雲林科技大學 自由軟體研發中心
24
實驗 5:安裝及建置AAA Server

利用MySQL 模組記錄FreeRADIUS的
資訊
我們將在MySQL記錄FreeRADIUS的認證、授權設定與計費資訊。
# emerge mysql
# mysql -uroot -prootpass radius < db_mysql.sql
# vi /etc/raddb/sql.conf
/* 只列表需更動的地方 */
/* 只列表需更動的地方 */
preacct {
preprocess
suffix
#files
server = "localhost"
login = "root"
password = “abcde“
sql_user_name = "%{Stripped-User-Name:-%{User-Name:-DEFAULT}}
# vi /etc/raddb/radiusd.conf
authorise {
preprocess
chap mschap
#counter
#attr_filter
#eap
suffix
sql
#files
#etc_smbpasswd
}
authenticate {
authtype PAP {
pap
}
authtype CHAP {
chap
}
authtype MS-CHAP{
mschap
#pam
#unix
#authtype LDAP { ldap
}
}
}
accounting {
acct_unique
detail
#counter
unix
sql
radutmp
#sradutmp
}
session {
radutmp
}
}
國立雲林科技大學 自由軟體研發中心
25
利用MySQL 模組記錄FreeRADIUS的
資訊
實驗 5:安裝及建置AAA Server
# mysql -uroot -pabcde -h localhost
mysql> use radius
Database changed
mysql> select * from usergroup;
+---------- +----------+----------+
| UserName | GroupName | priority |
+---------- +----------+----------+
| es602
| user
|
1|
| guest
| forguest
|
1|
| lwc
| foruser
|
1|
| cloudchi | user
|
1|
+---------- + -----------+ ----------+
4 rows in set (0.00 sec)
mysql> select * from radcheck;
+----+---------- +--------------- +---- + --------+
| id | UserName | Attribute
| op | Value |
+----+---------- +--------------- +---- +--------+
| 2 | cloudchi | User-Password | := | cloudz |
| 1 | es602
| User-Password | := | es^02 |
| 3 | guest
| User-Password | := | guest |
| 4 | lwc
| User-Password | := | 12321 |
+---+ ----------+ ---------------+----+ --------+
4 rows in set (0.00 sec)
mysql> select * from radreply;
Empty set (0.00 sec)

當我們匯入db_mysql.sql後,裡面包
含許多的資料表,其中

usergroup



radcheck



記錄使用者屬於那個群組。
我們新增四筆帳號資訊。
記錄使用者認證時所需的帳號與密碼。
我們新增四筆對應帳號的密碼資訊。
radreply

設定RADIUS該回應屬性數值對給使
用者。(針對單一使用者)
國立雲林科技大學 自由軟體研發中心
26
實驗 5:安裝及建置AAA Server
mysql> select * from radgroupreply;;
+----+----------- +--------------------------+----+----------------------- +
| id | GroupName | Attribute
| op |
Value
|
+----+----------- +--------------------------+----+----------------------- +
| 1 | forguest
| Auth-Type
| := | Local
|
| 2 | forguest
| Service-Type
| := | Framed-User
|
| 3 | forguest
| Framed-IP-Address
| := | 255.255.255.254
|
| 4 | forguest
| Framed-IP-Netmask
| := | 255.255.255.0
|
| 5 | forguest
| Tunnel-Type:1
| := | VLAN
|
| 6 | forguest
| Tunnel-Medium-Type:1
| := | IEEE-802
|
| 7 | forguest
| Tunnel-Private-Group-ID:1 | := | forguest
|
| 8 | forguest
| Cisco-AVPair:1
| := | ip:addr-pool=forguest |
| 9 | forguest
| Session-Timeout
| := | 0
|
| 10 | foruser
| Auth-Type
| := | Local
|
| 11 | foruser
| Service-Type
| := | Framed-User
|
| 12 | foruser
| Framed-IP-Address
| := | 255.255.255.254
|
| 13 | foruser
| Framed-IP-Netmask
| := | 255.255.255.0
|
| 14 | foruser
| Tunnel-Type:1
| := | VLAN
|
| 15 | foruser
| Tunnel-Medium-Type:1
| := | IEEE-802
|
| 16 | foruser
| Tunnel-Private-Group-ID:1 | := | foruser
|
| 17 | foruser
| Cisco-AVPair:1
| := | ip:addr-pool=foruser |
| 18 | foruser
| Session-Timeout
| := | 0
|
+----+ -----------+
---------------------------+----+ -----------------------+
21 rows in set (0.00 sec)
利用MySQL 模組記錄FreeRADIUS的
資訊

radgroupreply

國立雲林科技大學 自由軟體研發中心
設定RADIUS該回應屬性數值對給群
組。(針對群組內的使用者)
27
實驗 5:安裝及建置AAA Server
利用MySQL 模組記錄FreeRADIUS的
資訊

radpostauth

國立雲林科技大學 自由軟體研發中心
我們使用phpmyadmin套件來觀察記錄
於radpostauth的認證資訊,該資料表
包含id數值、使用者名稱、密碼、回
應訊息、時戳欄位。
28
實驗 5:安裝及建置AAA Server
利用MySQL 模組記錄FreeRADIUS的
資訊

radacct

使用者帳號
ID
計時開始
下傳流量
計時結束
記錄計費資訊。
領域位置 NAS IP位址
上傳流量
Session歷時
NAS實體位址 USER實體位址 計費中斷原因
國立雲林科技大學 自由軟體研發中心
USER IP
29
最高層認證中心、客戶端與伺服端之
憑證製作: CA階層信任模型
實驗 5:安裝及建置AAA Server
憑證
憑證(Certificate)是附上憑證所有人(Owner)的資料
(公司名稱、伺服器名稱、個人真實姓名、E-mail、
通訊地址等資料),並在後面附上有數位簽章的個
人公鑰(Public Key)。憑證上會附有幾個數位簽章,
Root CA
代表這些簽名的單位,已嚴格檢驗擁有這個
Public Key的所有人的個人資料與憑證相符,沒
有假造。

認證中心
CA
CA
認證中心(Certificate Authority, CA)也是一種憑證,
CA
上面附有認證中心的資料,主要用以簽發憑證使
用,證明憑證所有人和憑證上所記載的資料相符。

最高層認證中心
最高層認證中心(Root CA)也是認證中心的一種,
與一般認證中心的差別是它不會直接簽發憑證,
Certificate
而是授權給中間的認證中心,讓這些中間的認證
Certificate Certificate
中心簽發憑證給用戶。
Certificate

在X.509中,每個合格的憑證皆會有一個簽名,
SSL採用的是X.509,由上往下階層式的憑證制度
在最下層的憑證 (Certificate)上,會有認證中心
(CA)的簽名,代表認證中心(CA)檢查過該名使用
者的資料;中間的認證中心(CA),也會有管轄它
的最高層認證中心(Root CA),代表最高層認證中
心授權給它。由於最高層認證中心位處金字塔最
頂層,所以無人能簽署,只能自己簽自己。

國立雲林科技大學 自由軟體研發中心
30
最高層認證中心、客戶端與伺服端之
憑證製作: CA階層信任模型
實驗 5:安裝及建置AAA Server
Root CA
(NYUST_CNL_ADM)

我們將使用OpenSSL製作出PEAP所需要的憑證。



Server
(forDOT1X)
Client
(es602)
本實驗需建立的憑證。
Root CA的憑證

Root CA Certificate
Client Certificate
Server Certificate
我們將安裝Root CA的憑證與帶有Private Key的
Client憑證至WindowXP中。
Client的附有私鑰的憑證
國立雲林科技大學 自由軟體研發中心
31
實驗 5:安裝及建置AAA Server


最高層認證中心、客戶端與伺服端之
憑證製作與設定
下列圖示按滑鼠右鍵選擇播放,Step by Step說明安裝過程。
影片的播放過程中出現綠框黑鍵時,影片將停留在那個畫面,並請點選它,以便影片繼續進行。
國立雲林科技大學 自由軟體研發中心
32
實驗 5:安裝及建置AAA Server

在WindowXP安裝客戶端憑證與設定
PEAP
下列圖示按滑鼠右鍵選擇播放,Step by Step說明安裝過程。
國立雲林科技大學 自由軟體研發中心
33
實驗 5:安裝及建置AAA Server










參考資料
FreeRADIUS安裝與管理 國家高速網路與計算中心/唐可忠
http://www.freeradius.org/
http://wiki.freeradius.org/Main_Page
http://wlanrc.nchc.org.tw/index1-1.html
HOWTO: EAP-TLS Setup for FreeRADIUS and Windows XP Supplicant
RFC 2865, Remote Authentication Dial In User Service (RADIUS)
IEEE 802.1x Multi-Domain Authentication on Cisco Catalyst Layer 3 Fixed Configuration Switches
Configuration Example
「Configuring 802.1X Port-Based Authentication」, Cisco
「Combined Avaya and Cisco QoS Strategy」, Cisco
「Configuring VLAN ACLs」, Cisco
國立雲林科技大學 自由軟體研發中心
34