freeradius 安裝與管理

43
1 DATE:2/6/06 國家高速網路與計算中心 唐可忠 Email: [email protected] FreeRADIUS 安裝與管理

Upload: kimura-takuya

Post on 10-Mar-2015

990 views

Category:

Documents


13 download

TRANSCRIPT

Page 1: FreeRADIUS 安裝與管理

11DATE:2/6/06

國家高速網路與計算中心唐可忠

Email: [email protected]

FreeRADIUS 安裝與管理

Page 2: FreeRADIUS 安裝與管理

22

課程大綱

RADIUS 介紹

FreeRADIUS 介紹

FreeRADIUS 安裝說明

FreeRADIUS 設定說明

認證環境建置案例討論

Page 3: FreeRADIUS 安裝與管理

33

前言

Trust no one.校園提供的網路資源

WWWE-mail校務系統

無線 / 有線網路存取能力

其他

公眾 (public) 或私有 (private) 資源資源控管

Page 4: FreeRADIUS 安裝與管理

44

RADIUS 簡介 #1RADIUS / Remote Access DIalin User Service應用範圍

撥接用戶撥入身份認證

無線網路存取身份認證

其他網路設備或服務驗證

RADIUS 的任務 – AAA你是誰?

Authentication/ 認證 (AuthN)

我能夠允許你進行些什麼?Authorization/ 授權 (AuthZ)

當你使用服務時,你做了些什麼?Accounting/ 計費 (Acct)

RADIUS 實作

採用 UDP 封包為傳輸協定,標準認證 port 為 1812 、計費 port 為 1813舊式 RADIUS 標準的傳輸 port 為 1645 與 1646

Page 5: FreeRADIUS 安裝與管理

55

RADIUS 簡介 #2RADIUS 相關 RFCsRFC2865

Remote Authentication Dial In User Service (RADIUS) RFC2866

RADIUS AccountingRFC2867

RADIUS Accounting Modifications for Tunnel Protocol Support

RFC2868 RADIUS Attributes for Tunnel Protocol Support

RFC2869 RADIUS Extensions

Page 6: FreeRADIUS 安裝與管理

66

RADIUS 簡介 #3

RADIUS 的角色

使用者網路設備網路資源

RADIUSServer

存取要求 身份驗證

授權回應 驗證結果

驗證結果認證轉送

其他RADIUS

Page 7: FreeRADIUS 安裝與管理

77

FreeRADIUS簡介

目前功能最強大的 Open Source RADIUS 伺服器軟體

應用範圍撥接伺服器的認證及統計作業

各種身份驗證工作,例如無線網路權限控制

環境支援可運作於 Linux 、 FreeBSD 、 NetBSD 、 Solaris 等作業系統

支援 UNIX 、 LDAP 、 SQL Server 等帳號系統

支援 PAP 、 EAP 、 CHAP 、 MS-CHAP 等多種認證協定

其他支援完整的 AAA 能力

模組化設定,容易維護

官方網站http://www.freeradius.org

Page 8: FreeRADIUS 安裝與管理

88

FreeRADIUS認證方式

PAP (Password Authentication Protocol)直接送出密碼明文到遠端進行驗證

實作容易,但非常不安全

CHAP (Challenge Handshake Authtication Protocol)密碼經過加密後送到遠端進行驗證

實作容易,但帳號系統必須支援明碼密碼

比 PAP 安全一些

EAP (Extensible Authentication Protocol)支援多種驗證方式的認證協定

支援較高等級的加密方式

使用者必須使用特殊的認證客戶端軟體

相關網路硬體必須支援 EAP使用上比較不方便,但是安全性高

Page 9: FreeRADIUS 安裝與管理

99

FreeRADIUS安裝方式透過現成的 package 安裝

許多 Linux 安裝套件均提供 FreeRADIUS 的 binary 安裝檔

Red-Hat Linux 與 Fedora Linux 可透過 rpm 安裝FreeBSD 可透過 ports 安裝

使用原始程式編譯從 FreeRADIUS 官方網站下載原始程式手動設置及編譯

被包裝成 package 的 FreeRADIUS 其設定檔路徑可能會與手動編譯的預設路徑有出入

常見的 FreeRADIUS 設定檔目錄/usr/local/etc/raddb/etc/raddb

Page 10: FreeRADIUS 安裝與管理

1010

FreeRADIUS安裝說明

取得原始程式包裹wget ftp://ftp.freeradius.org/pub/radius/freeradius-

1.1.0.tar.gz

解開原始程式包裹tar xzvf freeradius-1.1.0.tar.gz

編譯 FreeRADIUScd freeradius-1.1.0/;./configure進行 configure 的過程請檢視有無錯誤發生,一般而言應該都是缺少程式庫套件的問題居多

make;make install系統預設安裝於 /usr/local

Page 11: FreeRADIUS 安裝與管理

1111

FreeRADIUS系統相關檔案

設定檔目錄/usr/local/etc/raddb/

記錄檔路徑系統運作及認證記錄檔

/usr/local/var/log/radius/radius.log

Accounting 計費資訊記錄檔/usr/local/var/log/radius/radacct/<NAS IP 位址 >/detail- 計費日期

• 例如 : /usr/local/var/log/radius/radacct/192.168.0.253/detail-20060130

執行檔路徑/usr/local/sbin/radiusd

Page 12: FreeRADIUS 安裝與管理

1212

FreeRADIUS系統設定檔較重要的系統設定檔

radiusd.confFreeRADIUS 主要系統設定檔

eap.confEAP 認證相關設定檔

clients.conf認證客戶端設定檔

proxy.conf認證轉送設定檔

users本地帳號及處理方式設定檔

snmp.confSNMP 相關設定檔

Page 13: FreeRADIUS 安裝與管理

1313

FreeRADIUS名詞解釋 #1

Realm/ 領域名稱

跟我們所知的 Domain Name 是很類似的東西

例如某用戶帳號 [email protected]使用者名稱 (username): kevin使用者領域 (realm name): nchc.org.tw

例如某用戶帳號 kevin使用者名稱 : kevin使用者領域 : ( 在 FreeRADIUS 中以 NULL 表示之 )

Realm 名稱的用途作為帳號所屬單位或伺服器的辨識依據,概念上跟 Domain Name一樣

Page 14: FreeRADIUS 安裝與管理

1414

FreeRADIUS名詞解釋 #2

Proxy/ 轉送

在多部 RADIUS 必須協同合作認證的情況下,就會使用到 RADIUS Proxy 功能。

簡單來說就是一種把認證請求封包丟給其他 RADIUS 伺服器的機制。

封包是否 proxy 的依據主要是以 realm 名稱來辨別。

Secret Key/ 密鑰認證客戶端的封包透過 secret key 加密後傳送給 RADIUS

伺服器,以避免明文在網路上傳遞。

伺服器也用同一把 secret key 將封包解密,然後再處理客戶端的請求。

FreeRADIUS 中的 secret key 僅是簡單的字串型態。

Page 15: FreeRADIUS 安裝與管理

1515

FreeRADIUS名詞解釋 #3

Attributes / 屬性欄位RADIUS 採用許多的屬性欄位名稱來代表各種不同的資料,例如發出認證時,我們會至少發出兩個屬性資料 User-Name 以及 User-Password ,分別代表著使用者的帳號名稱與密碼RADIUS 在回覆認證請求或授權時,也是透過各種欄位的組合來描述認證狀況以及授權內容認證請求者 ( 可能是使用者個人,或是網路設備 )則根據這個欄位內容判斷認證的結果,以及相關授權範圍的解讀。

Page 16: FreeRADIUS 安裝與管理

1616

FreeRADIUS運作流程 #1系統運作流程

系統運作於 UDP port 1812/1813讀取 radiusd.conf 系統設定

收到認證請求 (Access-Request) 封包比對 clients.conf 的認證來源設定

比對領域名稱 (Realm) ,決定處理方式比對 proxy.conf 的領域名稱設定有合法的 realm 設定

• 採用 proxy.conf中所設定處理方式

無合法的 realm 設定• 採用 users中所設定的預設認證方式

• 比對 users中的帳號

Page 17: FreeRADIUS 安裝與管理

1717

FreeRADIUS運作流程 #2

系統啟動

檢查來源

領域判斷

身份驗證

radiusd.conf

clients.conf

proxy.conf

users

收到認證請求Access-Request

合法客戶

非法客戶

拒絕服務

認證轉送 (RADIUS Proxy)

非本地領域帳號

UNIX shadow/passwdSQL ServerLDAP….

本地領域帳號

回覆認證失敗Access-Reject

回覆驗證成功Access-Accept

授權相關欄位Session-TimeoutIdle-Timeout…

Page 18: FreeRADIUS 安裝與管理

1818

FreeRADIUSradiusd.conf 設定

radiusd.conf 是主要的 FreeRADIUS 系統設定檔,系統運作時會讀取這個檔案,用以決定執行時的功能及運作方式

伺服器運作設定執行時期的身份

user = nobody• 執行時期的身份為 nobody

group = nobody• 執行時期的群組為 nobody

預設 ( 被註解起來的狀況 ) 為 root ,使用 UNIX 系統帳號來認證的環境一定要以root 身份運作。

伺服器運作位置bind_address = *

• * 代表聽取所有的網路介面,亦可寫上 IP 位址

port = 0• 0 代表使用預設的 1812/1813 來運作

更細節的運作位置設定可透過 listen 這個設定來達成

radiusd.conf中有相當詳盡的說明及範例可供參考

Page 19: FreeRADIUS 安裝與管理

1919

FreeRADIUSclients.conf 設定 #1

clients.conf 處理跟客戶端相關的設定,所有合法的客戶端 IP位址或網段都必須記錄在這個檔案之中,若無記錄則視為非法客戶端不予提供服務。

設定格式client < 客戶端 IP Address> {

secret = <Secret Key 密鑰 >shortname = < 客戶端代號 >nastype = <NAS型號 >

} 哪些 IP 該寫入 clients.conf 之中?

任何會與這部 RADIUS Server 使用 RADIUS 協定溝通者,例如支援 RADIUS 的無線網路 Access Point 、無線網路閘道設備或任何可能對此伺服器發出 RADIUS 認證要求的客戶端,都必須記錄在這個檔案內。

Page 20: FreeRADIUS 安裝與管理

2020

FreeRADIUSclients.conf 設定 #2

設定範例192.168.0.5 為一合法的 RADIUS 客戶端,可能是 AP 或是其他支

援 RADIUS client 的電腦,這個客戶端使用 qqsec字串作為密鑰(secret key)

client 192.168.0.5 {secret = qqsecshortname = my_radius_client_pcnastype = other

}

若想要指定某大範圍網段的 IP ,也可以使用 client 192.168.0.0/24 這樣的設定方式,代表這整個網段都使用相同的設定

client 192.168.0.0/24 {secret = qqsecshortname = my_radius_clientsnastype = other

}

Page 21: FreeRADIUS 安裝與管理

2121

FreeRADIUSusers 檔案設定 #1

users 檔案用途設定帳號認證的處理方式

使用 UNIX 系統帳號• DEFAULT Auth-Type = System

使用 users中所設定的帳號• DEFAULT Au th-Type = Local

使用 LDAP 作為認證方式• DEFAULT Auth-Type = LDAP

設定 Local 帳號基礎格式

• < 帳號名稱 > Auth-Type := Local, < 帳號驗證條件 >

範例一• kevin Auth-Type := Local, User-Password == "pwd123"• 設定使用者帳號 kevin ,其密碼為 pwd123

範例二• kevin Auth-Type := Local, Client-IP-Address == "127.0.0.1", User-Password == "pwd123"• 設定使用者帳號 kevin ,限制其連線來源為 127.0.0.1 ,其密碼為 pwd123

Page 22: FreeRADIUS 安裝與管理

2222

FreeRADIUSusers 檔案設定 #2

users 檔案中常見的運算子

屬性 = 資料在該屬性沒有被設置的前提下新增該屬性資料

屬性 := 資料直接設定該屬性資料

屬性 == 資料判斷該屬性的內容是否與資料內容相符

屬性 != 資料判斷該屬性的內容是否與資料內容不相符

屬性 =~ 正規表示式判斷屬性的內容是否符合正規表示式的規則

屬性 !~ 正規表示式判斷屬性的內容是否不符合正規表示式的規則

Page 23: FreeRADIUS 安裝與管理

2323

FreeRADIUSusers 檔案設定 #3

DEFAULT 設定有時我們需要設定一些預設的屬性資料,這時就可以靠 DEFAULT

設定來完成DEFAULT Auth-Type := System

• 當 users 中沒有合適用來比對的帳號記錄時,就使用 System 方式來驗證

DEFAULT User-Name =~ "_test$", Client-IP-Address == "127.0.0.1" Session-Timeout := 3

• 當帳號是以 _test 為字尾者,並且來自 127.0.0.1 的連線,設定其 Session-Timeout 為 3秒

Fall-Through 設定一般來說 FreeRADIUS 在比對 users 資料時,如果找到相符的就

會結束比對。

加上 Fall-Through = Yes 則會將 users 檔案的設定都比對過,然後再挑出最符合的一項設定。

如果我們有很多的 DEFAULT 設定,那麼一定要配合 Fall-Through = Yes 才行因為 DEFAULT 之意就是當所有條件都不符合時才使用這些設定。使用 Fall-Through = Yes 可以強制在完成比對後,繼續尋找合適的設定,這些設定會附加在原本的回覆封包之中 (亦即多增加了一些屬性資料 )。

Page 24: FreeRADIUS 安裝與管理

2424

FreeRADIUSproxy.conf 設定 #4

proxy.conf 中所記載的資料,就是說明當伺服器收到一個帳號的認證要求時,各個 realm 應該使用 ( 被轉送至 )哪些 RADIUS 伺服器進行處理。

多個 RADIUS 伺服器之間的備援及負載平衡也在 proxy.conf中設定 ( 透過 ldflag選項設定 )設定格式

realm <REALM 名稱 > {type = radiusauthhost= < 認證伺服器 IP>:<port>accthost = < 計費伺服器 IP>:<port>secret = < 密鑰 secret key>ldflag = <round_robin | fail_over><nostrip>

}

Page 25: FreeRADIUS 安裝與管理

2525

FreeRADIUSproxy.conf 設定 #5

Realm 名稱的命名?沿用使用者帳號的 domain name

[email protected] 其 realm 就設定為 nchc.org.tw一般用 UNIX 系統帳號者多採用這個方法

• 因為 UNIX 帳號通常都伴隨著機器的 domain name。

使用其他容易或方便識別的字串wifi.nchc.org.tw

• 使用者帳號為 [email protected]

CAMPUS_WLAN• 使用者帳號為 kevin@CAMPUS_WLAN• 較不建議以此種方式命名

一般使用 SQL 伺服器或以 users內置帳號者可能會採用這個方法

其他注意事項realm 名稱與帳號 domain name 沒有直接關係。

realm 名稱是自由的,由管理者指定即可。

FreeRADIUS 在判斷 realm 時不會區分大小寫。

Page 26: FreeRADIUS 安裝與管理

2626

FreeRADIUSproxy.conf 設定 #6

Realm 的分類沒有 realm

如果使用者以 kevin 這個帳號來認證,那麼這就是一個沒有 realm 名稱的帳號proxy.conf 設定原則

• 使用自己的認證設定去驗證帳號

自己的 realm假設使用者以 [email protected] 來認證,且 nchc.org.tw 是自己所管理的帳號範圍,那麼這就是自己的 realmRADIUS 本身可以擁有很多個 realm 設定proxy.conf 設定原則

• 使用自己的認證設定去驗證帳號

其他的 realm凡是這部 RADIUS 無法進行處理,但其他 RADIUS 可以處理的帳號都屬於其他的 realmproxy.conf 設定原則

• 你必須告訴 FreeRADIUS 該怎麼處理這些帳號認證請求,一般的處理方式就是轉送

Page 27: FreeRADIUS 安裝與管理

2727

FreeRADIUSproxy.conf 設定 #7

nostrip 的功用strip 功能在 FreeRADIUS中的意思是將收到的帳號名稱濾除其 realm 名稱。

例如 : [email protected] kevin

為什麼要濾除 realm 名稱?因為 realm 只是一個識別字串,並非真正的使用者帳號名稱,濾除後才能讓認證模組取得正確的使用者帳號並進行身份驗證。

為什麼不要濾除 realm 名稱?設置 nostrip 選項通常是為了認證轉送用途。

因為對方 RADIUS 也必須靠 realm 名稱來辨識帳號的所屬來源,濾除 realm 會造成對方 RADIUS將該帳號視為沒有 realm 的帳號。

系統預設為 strip ,不需要特別設定

Page 28: FreeRADIUS 安裝與管理

2828

FreeRADIUSproxy.conf 設定 #8設定範例將沒有 realm 的帳號以預設的認證方式驗證

realm NULL {type = radiusauthhost = LOCALaccthost = LOCAL

} 註 : 在設定為 LOCAL 的情況下, secret 設定可以省略,因為用不到

將沒有 realm 的帳號轉送到 192.168.0.10:1645 去驗證realm NULL {

type = radiusauthhost = 192.168.0.10:1645accthost = 192.168.0.10:1646secret = dontshowit

}

Page 29: FreeRADIUS 安裝與管理

2929

FreeRADIUSproxy.conf 設定 #9設定範例將 realm 為 wifi.nchc.org.tw 的帳號以預設的帳號處理

方式處理realm wifi.nchc.org.tw {

type = radiusauthhost = LOCALaccthost = LOCAL

}

將 realm 為 wifi.nchc.org.tw 的帳號轉送到 192.168.0.7:1812 去處理,轉送前先濾除 realm

realm wifi.nchc.org.tw {type = radiusauthhost = 192.168.0.7:1812accthost = 192.168.0.7:1813secret = donttellanyone

}

Page 30: FreeRADIUS 安裝與管理

3030

FreeRADIUSproxy.conf 設定 #10

設定範例

將 realm 為 wifi.nchc.org.tw 的帳號轉送到 192.168.0.7:1812 去處理,轉送前不要濾除 realm 名稱。

realm wifi.nchc.org.tw {type = radiusauthhost = 192.168.0.7:1812accthost = 192.168.0.7:1813secret = reallysecretnostrip

}

所有不符合其他 realm 設定的帳號,轉送到 192.168.0.99:1812 去處理,且不濾除 realm 名稱。

realm DEFAULT {type = radiusauthhost = 192.168.0.99:1812accthost = 192.168.0.99:1813secret = aloha3#5nostrip

}

Page 31: FreeRADIUS 安裝與管理

3131

FreeRADIUSproxy.conf 設定 #11

系統備援設定

設定 realm 資料時,加上 fail_over 參數可啟動系統備援功能 ( 系統預設為 fail_over ,因此不寫上去亦可 )

系統備援範例 – 2 server領域為 wifi.home 的帳號以 isp1.com 為主要認證伺服器,在 isp1.com 失效時 ( 被判定死亡 /server dead) ,以 isp2.com 取代之,轉送時不濾除 realm 名稱。

realm wifi.home {type = radiusauthhost = isp1.com:1812accthost = isp1.com:1813secret = sweetheartnostrip

}realm wifi.home {

type = radiusauthhost = isp2.com:1812accthost = isp2.com:1813secret = heartsweetnostripfail_over

}

Page 32: FreeRADIUS 安裝與管理

3232

FreeRADIUSproxy.conf 設定 #12負載平衡設定

FreeRADIUS 會自動以隨機分佈的方式在各個 RADIUS之間輪流 (round_robin) 轉遞認證封包,降低 RADIUS 伺服器的處理負荷。

負載平衡範例 – 2 serverrealm wifi.home {

type = radiusauthhost = isp1.com:1812accthost = isp1.com:1813secret = sweetheartnostripround_robin

}realm wifi.home {

type = radiusauthhost = isp2.com:1812accthost = isp2.com:1813secret = heartsweetnostripround_robin

}

Page 33: FreeRADIUS 安裝與管理

3333

FreeRADIUSsnmp 支援 #1

FreeRADIUS 允許管理者使用 SNMP 工具來查詢 RADIUS 的運作狀況及統計資料,不過在編譯時必須開啟 snmp 的支援。

FreeRADIUS 是基於 UCD-SNMP 所開發的,因此在使用NET-SNMP 的系統上可能會有些問題。

NET-SNMP 為 UCD-SNMP 的後期發展版本,因此可透過參數設置達成相容性。

解決方法1) 安裝 UCD-SNMP

FreeBSD 、 Debian Linux 上有支援Red-Hat 、 Fedora 系列可能會裝不起來

2) 在 ./configure 完成後,手動修改Make.inc找到 CFLAGS 那一行,加上 -DWITH_SNMP -DUCD_COMPATIBLE \

-DHAVE_UCD_SNMP_ASN1_SNMP_SNMPIMPL_H找到 SNMP_LIB 那一行,加上 -lsnmp -lsslmake;make install

Page 34: FreeRADIUS 安裝與管理

3434

FreeRADIUSsnmp 支援 #2

snmp 支援設定1)修改 /usr/local/etc/raddb/snmp.conf 找到以下設定 :

• #smux_password = verysecret把前方的註解符號 # 拿掉,後方的 verysecret 為跟 snmp daemon 溝通的密碼,可以自行設定。

• smux_password = my_snmp_secret

2)修改 /etc/snmp/snmpd.conf加上以下設定 :

• rocommunity public• smuxpeer .1.3.6.1.4.1.3317.1.3.1 my_snmp_secret

Page 35: FreeRADIUS 安裝與管理

3535

FreeRADIUSsnmp 支援 #3

snmp 測試透過 snmpwalk 或 snmpget 可測試其運作狀況指令

snmpget -v2c -c public 192.168.0.3 .1.3.6.1.2.1.67.1.1.1.1.1.0回應

SNMPv2-SMI::mib-2.67.1.1.1.1.1.0 = STRING: "FreeRADIUS Version 0.9.3, for host i686-pc-linux-gnu, built on Jan 8 2004 at 10:33:53“

在原始程式包裹內的 mibs/ 目錄下有RADIUS 相關的 MIB 檔案可供參考。除了 ICMP ping 之外,亦可利用 snmpget來監視 FreeRADIUS 伺服器的運作情形。

Page 36: FreeRADIUS 安裝與管理

3636

FreeRADIUS運作與測試 #1

執行 FreeRADIUS正常運作模式 (背景執行 )

/usr/local/sbin/radiusd除錯模式 ( 前景執行 + 大量 debug 訊息 )

/usr/local/sbin/radiusd -X

FreeRADIUS 內附認證測試工具 - radtest使用 radtest 工具,語法為:

radtest < 帳號 > < 密碼 > < 認證伺服器 IP>:<PORT> 0 < 密鑰 >測試範例:

radtest kevin pwd123 127.0.0.1 0 testing123radtest [email protected] pwd123 127.0.0.1 0 testing123

如果想使用 UNIX 的帳號來測試,假設為: root ,也可以比照辦理:

radtest root 12345 127.0.0.1 0 testing123radtest [email protected] 12345 127.0.0.1 0 testing123以上測試若回應類似以下訊息,代表已經成功運作:

rad_recv: Access-Accept packet from host 127.0.0.1:1812

Page 37: FreeRADIUS 安裝與管理

3737

FreeRADIUS運作與測試 #2其他測試工具

NTRadPing for Win32http://www.novell.com/coolsolutions/tools/downloads/ntradping.zip

使用前記得將該工具執行的 IP 加入到 clients.conf 中

Page 38: FreeRADIUS 安裝與管理

3838

FreeRADIUS計費統計功能

FreeRADIUS 支援 accounting 的功能,不過發出 accounting 封包不是 RADIUS 的工作。

計費資訊封包一般都由資源的持有者發出,例如網路設備或網路服務系統等等。

計費資料以明文的方式儲存,內容包含完整的 RADIUS Accounting Attributes。可輕易透過計費分析工具軟體統計出每個使用者的使用情形( 傳輸量或者使用時間等等 ) ,並產生報表或統計圖表。

計費資訊能夠幫助管理者瞭解使用者的服務用量作為收費或升級、管理、網路安全等參考依據。

計費資訊分析工具http://www.shenton.org/~chris/nasa-hq/dialup/radius/http://www.pgregg.com/projects/radiusreport/index.php

Page 39: FreeRADIUS 安裝與管理

3939

FreeRADIUS計費轉送功能

radrelayFreeRADIUS 內附工具

可在多個 FreeRADIUS之間相互交換計費資訊

應用方式使用多部 FreeRADIUS 做備援或負載平衡時,計費資訊可能分散於多部伺服器。

透過 radrelay 可將所有計費記錄集中到某一部伺服器 (也許是專責做計費的伺服器 ) 上做統計記錄與報表產生工作。

用法將計費資訊檔案 detail-20060202 送到 192.168.0.20 ,使用密鑰 ip312radrelay -s ip312 -r 192.168.0.20 detail-20060202

參考man 1 radrelay

Page 40: FreeRADIUS 安裝與管理

4040

FreeRADIUS簡易安裝流程

1. 編譯 / 安裝 FreeRADIUS 套件

2. 修改 radiusd.conf除了使用 LDAP 與 SQL 認證外,其實沒什麼需要特別修改的部分

3. 修改 proxy.conf加入自己的 realm 設定

加入其他的 realm 設定 ( 要做認證轉送的話 )4. 修改 users 檔案

加入測試帳號acc_test Auth-Type := Local, User-Password == "pwd123" Session-Timeout = 3修改預設認證方式

例如 : DEFAULT Auth-Type := System

5. 執行 radiusd6. 以 radtest acc_test pwd123 127.0.0.1 0 testing123 測試之

Page 41: FreeRADIUS 安裝與管理

4141

FreeRADIUS認證環境建置案例 #1某 (mo) 校有一部 UNIX 帳號伺服器mail.mo.edu.tw ,計劃以現有的帳號來做無線網路權限控制,採用網頁認證的方式。

設定策略mail.mo.edu.tw 安裝 FreeRADIUSproxy.conf加上 NULL 及 mail.mo.edu.tw 兩組 realm 設定。

clients.conf加入無線網路閘道設備的 IP 位址

usersDEFAULT Auth-Type := System

Page 42: FreeRADIUS 安裝與管理

4242

FreeRADIUS認證環境建置案例 #2

某校建置了校務系統 c.mo.edu.tw ,目前計畫整合兩個系所的帳號 a.mo.edu.tw 與 b.mo.edu.tw 到校務系統內進行測試,這兩個系所分別使用 LDAP 與 UNIX 作為帳號系統,希望能夠以 FreeRADIUS將這兩個帳號整合在一起,並提供校務系統認證使用。

設定策略a 、 b 、 c 均安裝 FreeRADIUS 系統

a 、 b : clients.conf加入 c.mo.edu.tw 的 IP 及 secret key 設定

a 、 b : proxy.conf設定各自的 realm 名稱即可

c : clients.conf加入校務系統的 IP 及 secret key 設定

c : proxy.conf登入帳號的 realm 為 a.mo.edu.tw 者 proxy 到 a.mo.edu.tw登入帳號的 realm 為 b.mo.edu.tw 者 proxy 到 b.mo.edu.tw

Page 43: FreeRADIUS 安裝與管理

4343

參考資料

http://www.freeradius.org/http://wlanrc.nchc.org.twhttp://www-128.ibm.com/developerworks/tw/library/l-radius/http://wiki.freeradius.org/index.php/RADIUShttp://www.linuxjournal.com/article/8017http://www.linuxjournal.com/article/8095http://www.linuxjournal.com/article/8151