[EAP]將hostapd作為radius服務器搭建EAP認證環境


文章主要由以下幾部分組成:

0、概念理解: WPA/WPA2,EAP,IEEE, 802.11i, WiFi聯盟, 802.1x

1、編譯hostapd

2、配置hostapd的conf文件

3、外接路由器設置

4、配置hostapd的user文件

5、運行命令

0、概念理解

(1)802.11i 是一個標准,這種安全標准為增強WLAN的數據加密和認證性能,定義了RSN(Robust Security Network)的概念,標准范疇分為媒介層(MAC)與物理層(PHY)。該標准為整個802.11協議族共用。

(2)EAP一種可擴展的認證框架,各種認證方法可以得到很好的支持。

認證者(A),申請認證者(S),后端認證服務器(B, 本文是Radius服務器)

有以上三種角色組成的模式叫做BAS模式,

還有一種AAA模式:Authentication、Authorization and Accounting,認證、授權和計費。

(3)802.1X是802.1規范家族中的一員。簡單來說,802.1X詳細討論了EAP在Wired LAN上的實現,即EAPOL。

(4)IEEE 是一個組織,負責制定(1)(2)(3)中所說的802.11i。

(5)WiFi聯盟也是一個團體,組織。他們擁有 Wi-Fi 這個名詞的商標,並且會檢驗要使用Wi-Fi這個名詞的設備以核發證書。什么樣的無線傳輸可以稱之為WiFi,由他們認證。

(6) WPA 實現了 IEEE 802.11i 標准的大部分,是在 802.11i 完備之前替代 WEP 的過渡方案。WPA由WiFi聯盟建立,並提供該項接入方式的認證。2003年開始強制性實施。

英文縮寫: WPA (Wi-Fi Protected Access)

中文譯名: Wi-Fi網絡安全接入

認識了WPA, WPA2也就是WPA的第二代,是經由 Wi-Fi 聯盟驗證過的 IEEE 802.11i標准的認證形式。

 

WPA/WPA2有兩種認證模式,一種是個人版(預先秘鑰共享機制,即PSK)和企業版(使用802.1x框架)

 

最后,總結成如下圖,各個實體之間的關系。

 

1、編譯hostapd

(1) 配置.conf文件

該文檔使用的是hostapd-2.5源碼。

在執行make之前需要安裝openssl等開發包。這里編譯環境使用的是Ubuntu,因為開發環境比較容易配置。

到hostapd文件夾下,

一般有類似於“defconfig”的文件,將其重命名為“.config”。

首先,因為我們是將hostapd當做radius服務器,所以這一項的配置很重要。

然后后面根據需要配置各種EAP方法

(2) 執行make命令

make //生成hostapd運行文件

make hlr_auc_gw //編譯生成hlr_auc_gw 運行文件

2配置hostapd.conf文件

dirver=none

ieee8021x=1

eap_server=1

eap_user_file=hostapd.eap_user

# TLS parameters (shared by EAP-PEAP, EAP-TTLS, EAP-FAST)

ca_cert=cas.pem

# Server certificate and private key from separate files

server_cert=server.pem

private_key=server.key

radius_server_clients=hostapd.radius_clients

radius_server_auth_port=1812 randius服務器的端口】

 

注: server.pem, server.key, cas.pem可以復用hostapd文件夾下的同名文件,即拷貝過去配置好相對路徑就好。

其他參照里面的說明配置,EAP-FAST的項需要比較多的配置。(現在很少設備支持EAP-FAST這種認證方式)

 

 

3配置路由器

使用路由器作為AP,所以需要讓AP知道如何把信息轉發給Radius服務器

配置一個SSID

配置路由器認證方式

關於上圖中的radiuis服務器IP地址,Radiuis端口和Radius密碼,參照以下步驟執行。

【如何獲取本機的radius IP地址】

先修改hostapd.conf配置文件:

 RADIUS authentication server

auth_server_addr=192.168.1.102

auth_server_port=1812

auth_server_shared_secret=secret

然后在終端中運行 ./hostapd -ddK hostapd.conf 命令

可以看到local address就是本機的Radius服務器的IP地址是192.168.1.100,這個就是【radius服務器的IP地址】

這種投機取巧的辦法就是利用外部radius服務器打印本機的radius服務器地址。現在依舊將上面剛剛添加的幾行注釋掉,使用#

#RADIUS authentication server

#auth_server_addr=192.168.1.102

#auth_server_port=1812

#auth_server_shared_secret=secret

修改下面一行的密碼為12345678,這個就是radius【服務器的密碼】。

參考將路由器的組秘鑰更新周期改為0.

 

 

4配置user文件,用於用戶登陸

剛剛在hostapd.conf文件中配置的

eap_user_file=hostapd.eap_user

注:就是用戶的登錄名和密碼,配置用戶名和密碼時候,每一種EAP method的用戶名不能相同,不然會出現找不到該method的情況。

 

其他的用戶配置就請閱讀上面的說明。添加新的EAP-Method 用戶可以參照PEAP的方法配置,但是用戶名不能相同。

 

 

5、運行命令,在hostapd文件夾下

 

./hlr_auc_gw -g hostapd.sim_db -m hlr_auc_gw.milenage_db

 

./hostapd -ddK hostapd.conf

 (版權所有,轉載請告知)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM