1. RADIUS簡介
RADIUS的全稱為Remote Authentication Dial-In User Service,是一種能夠讓服務(wù)器驗(yàn)證各種接入用戶身份的協(xié)議,RADIUS可以對(duì)用戶身份進(jìn)行集中管理,安全性更好,策略也更靈活,同時(shí)還可以記錄用戶的網(wǎng)絡(luò)使用情況用于網(wǎng)管分析或者計(jì)費(fèi),已經(jīng)成為比較常用的工業(yè)標(biāo)準(zhǔn)。在使用中,路由器、交換機(jī)等設(shè)備在需要驗(yàn)證用戶身份的時(shí)候,向RADIUS服務(wù)器發(fā)送請求,RADIUS服務(wù)器則返回用戶的相關(guān)信息,交給路由器、交換機(jī)等設(shè)備處理。
在本文中,我們將基于Ubuntu(Linux的一個(gè)比較流行的發(fā)行版本),以FreeRADIUS+MySQL+OpenSSL搭建一個(gè)RADIUS服務(wù)器,其認(rèn)證方式是PEAPv0/EAP-MSCHAPv2。
本文中所用的Linux及軟件的版本如下:
OS:Ubuntu 8.04 (Linux Kernel 2.6.24-21)
FreeRADIUS:FreeRADIUS 1.1.7
FreeRADIUS-MySQL:FreeRADIUS-MySQL 1.1.7
MySQL:MySQL 5.0.51a
OpenSSL:OpenSSL 0.9.8g (操作系統(tǒng)自帶)
2. 安裝RADIUS
安裝完Ubuntu8.04后,首先更新管理器,在終端輸入如下命令:
sudo apt-get update
sudo apt-get dist-upgrade
安裝基本的編譯環(huán)境,命令如下:
sudo apt-get install build-essential autoconf automake1.9 cvs subversion
apt-get install dpkg-dev
安裝MySQL,命令如下:
sudo apt-get install mysql-server mysql-client
#安裝過程中按提示設(shè)定管理MySQL數(shù)據(jù)庫的密碼(如123456)
安裝FreeRADIUS:
從FreeRADIUS的官方網(wǎng)站http://freeradius.org下載FreeRADIUS 1.1.7。然后在終端輸入如下命令:
tar zxvf freeradius-1.1.7.tar.gz
cd freeradius-1.1.7
fakeroot dpkg-buildpackage -b –uc
#提示缺少什么包就通過 apt-get install 安裝什么包
cd ..
dpkg -i freeradius_1.1.7-0_i386.deb freeradius-mysql_1.1.7-0_i386.deb
3. 配置FreeRADIUS
修改配置文件:/etc/freeradius/radiusd.conf(注意如果在文件末尾修改的話,后面的值不會(huì)覆蓋前面的值,所以要直接在原位置上修改),需更改的幾個(gè)log項(xiàng):
log_auth = yes
log_auth_badpass = yes
log_auth_goodpass = yes
適當(dāng)延長發(fā)送認(rèn)證失敗消息之前的暫停秒數(shù),防止暴破,默認(rèn)為1秒。
reject_delay = 5
把a(bǔ)uthorize、accounting、session、post-auth幾個(gè)部分中sql一句前的注釋取消掉,啟用MySQL認(rèn)證。
修改配置文件:/etc/freeradius/clients.conf,設(shè)置允許使用radius服務(wù)的設(shè)備,一般是AP的IP地址,secret是AP連接radius的密碼,在配置文件最后添加如下語句:
client 192.168.0.0/24 {???? secret = testing123???? shortname = dlink???? nastype = other }
修改配置文件:/etc/freeradius/eap.conf,將tls,ttls,peap三段的注釋全部取消,這是啟用PEAP的關(guān)鍵。
修改配置文件:/etc/freeradius/users,修改users文件中的如下內(nèi)容:
#DEFAULT Auth-Type = System
#Fall-Through = 1
修改配置文件:/etc/freeradius/sql.conf,設(shè)置與MySQL相關(guān)的信息:
server = "localhost"
login = "radius"
password = "radius"
4. 配置MySQL
先建庫和用戶,命令如下:
mysql -u root –p123456
…………
mysql> create database radius;
mysql> GRANT ALL PRIVILEGES ON radius.* to radius@localhost IDENTIFIED BY ‘radius’;
mysql> FLUSH PRIVILEGES;
mysql> exit;
創(chuàng)建radius相關(guān)的表和初始數(shù)據(jù):
將/usr/share/doc/freeradius/examples/mysql.sql.gz解壓,將解壓后的mysql.sql導(dǎo)入radius數(shù)據(jù)庫,命令如下:
cd /usr/share/doc/freeradius/examples/
mysql -u radius -pradius radius <./mysql.sql
表結(jié)構(gòu)創(chuàng)建好之后,就可以創(chuàng)建使用者賬號(hào)了,默認(rèn)是存儲(chǔ)在radcheck表中的,可以使用這樣的命令和sql語句:
mysql -u radius -pradius radius
mysql> insert into radcheck (username,attribute,op,value) values (‘test’, ‘User-Password’, ‘:=’, ‘test’);
…………
mysql> select * from radcheck
+-+———–+—————–+–+—–+
|id|UserName|Attriubute?? |op |Value|
+-+———–+—————–+–+—–+
| 1|test???? |User-Password|:= |test? |
+-+———–+—————–+–+—–+
現(xiàn)在重啟freeradius服務(wù),可以簡單測試一下(test1/test1是錯(cuò)誤的用戶名/密碼,testing123是默認(rèn)在clients.conf中定義的本機(jī)用戶的secret),在終端輸入如下命令:
radtest test1 test1 localhost 0 testing123
Sending Access-Request of id 5 to 127.0.0.1 port 1812????????
User-Name = "test1"????????
User-Password = "test1"????????
NAS-IP-Address = 255.255.255.255????????
NAS-Port = 0
Re-sending Access-Request of id 5 to 127.0.0.1 port 1812????????
User-Name = "test1"????????
User-Password = "test1"????????
NAS-IP-Address = 255.255.255.255????????
NAS-Port = 0
rad_recv: Access-Reject packet from host 127.0.0.1:1812, id=5, length=20
可以看到服務(wù)器接收到了請求,并返回了用戶名/密碼=test1/test1的reject信息。
5. 無線AP的設(shè)置
主要設(shè)置項(xiàng)如下:
Secrity Mode: WPA2
Clipher Type: AES(比TKIP方式更加安全)
RADIUS Server IP/Secret: RADIUS服務(wù)器所在的IP以及在“clients.conf”中設(shè)置的對(duì)應(yīng)的“secret”。
6. 客戶端設(shè)置
無線網(wǎng)絡(luò)連接屬性->無線網(wǎng)絡(luò)配置Tab頁->首選網(wǎng)絡(luò)(屬性)->關(guān)聯(lián)Tab頁,網(wǎng)絡(luò)驗(yàn)證:WPA2,數(shù)據(jù)加密:AES;
然后在“驗(yàn)證”Tab頁,EAP類型:受保護(hù)的EAP(PEAP),在屬性中,不選“驗(yàn)證服務(wù)器證書”,選擇“啟用快速重新連接”,驗(yàn)證方法:安全密碼(EAP-MSCHAP v2),并在“配置”中不選擇“自動(dòng)使用windows登錄名和密碼”。
配置步驟截圖如下所示:
登錄的時(shí)候,狀態(tài)欄上會(huì)彈出提示用戶更換憑證的小圖標(biāo),其實(shí)就是提示用戶輸入用戶名/密碼(如test/test)。
評(píng)論
查看更多