802.11X OpenWrt Wi-Fi 安全認證 資安 無線 AP

用Raspberry Pi自建服務 提供安全Wi-Fi認證機制

2016-11-09
本次實作將在Raspberry Pi單板電腦上架設OpenWrt以提供Wi-Fi服務,並透過後端的FreeRADIUS Server執行帳號以及密碼驗證機制來提高其安全性。
此時,使用手機或筆電試著連線OpenWrt這個SSID,應該就可以取得10.0.0.X的IP網段。但會發現雖然已連上SSID,但卻不能開啟任何網頁,原因是沒有設定封包偽裝和封包跨Zone的Firewall Rule。

回到Firwall Zones的設定,如圖12所示,將Masquerading及MSS clamping這兩個選項由原先的wan修改為上方的lan to wan,以進行封包偽裝及封包大小調節,完成後記得點選〔Save&Apply〕。


▲圖12 修改Masquerading和MSS clamping的設定內容。

接著編輯wan這一行,如圖13所示找到WWAN這一列,並按下〔Edit〕按鈕進行編輯。


▲圖13 找到WWAN這一列,按下〔Edit〕按鈕進行編輯。

將畫面再往下拉找到Inter-Zone Forwarding,如圖14所示,在Allow forward to destination zones設定中勾選lan,並點選〔Save&Apply〕。


▲圖14 在Allow forward to destination zones設定中勾選lan。

再測試一下Internet連線是否正常,如無意外應該可以正常連線。基本的Wi-Fi AP設定至此完成。接下來,介紹如何結合FreeRadius提供802.11X的認證功能。

安裝及設定FreeRadius Server

筆者原先計畫在OpenWrt的平台上安裝freeradius2套件,讓OpenWrt同時扮演Radius Server的角色。但在此版本的OpenWrt上找不到打包好的套件包,因此額外準備一部已安裝Windows 7的電腦,並在其作業系統安裝FreeRADIUS.net-1.1.7-r0.0.2,之後再調整其設定檔。

下載程式並安裝完成後,它會自動常駐在右下角。對右下角的FreeRADIUS常駐程式圖示按下滑鼠右鍵,就可以看到其操作畫面,如圖15所示。


▲圖15 開啟FreeRADIUS程式執行選單。

設定檔預設所在目錄為「C:\FreeRADIUS.net\etc\raddb」,可直接編輯相關設定檔,也可透過其GUI介面選擇對應的檔案進行編輯。但不管用何種方式進行修改,記得要回到GUI介面中點選Restart FreeRADIUS.net Service,才能夠讓新設定生效。

需要編輯的有users.conf、radiusd.conf、clients.conf這三個檔案。如果打算提供EAP加密方式,則需要手動安裝openssl,手動核發金鑰及憑證檔,並修改eap.conf提供正確的路徑和檔案名稱。

在此做一簡單示範,先編輯clients.conf這個檔案,clients.conf檔是用來設定AP如何與Radius Server進行身分驗證。

由於這裡OpenWrt的IP是192.168.1.X,因此找到如下對應的區塊:


將secret部分設定為一組新密碼「mypassword」,並新增nastype為「other」。

接著編輯users.conf檔案,這個檔案是用來設定使用者的帳號密碼,請在最下方新增以下的設定:


klting代表使用者帳號,密碼則放在Cleartext-Password欄位中。需要注意的是,Cleartext-Password後方是冒號和等號,並使用雙引號包覆之。Fall-Through若設定為no,則代表是最後一個使用者,若非最後一個使用者,必須設定為yes。

radiusd.conf的部分主要是修改其bind的IP位址,預設為*,代表在伺服器所有IP位址均提供此服務。為了避免衍生後續資安問題,建議指定該伺服器的IP為佳,例如:


設定完成後,回到GUI介面重啟其服務。

要設定wifi使用Radius認證,需要安裝wpad套件,在加密的欄位才能選擇WPA2-EAP,所以要記得安裝。

接著設定OpenWrt,點選Network裡的Wifi,找到之前建立的SSID OpenWrt進行編輯,並點選Wireless Security,修改其Encryption為【WPA2-EAP】,Radius-Authentication-Server欄位請填寫Radius Server的IP,此例為192.168.1.4,Radius-Authentication-Secret的值則為clients.conf中secret的資料,如圖16所示。設定完成後,記得要點選〔Save&Apply〕。


▲圖16 修改Wireless Security設定內容。

最後,回到手機,測試能否進行帳號密碼的驗證,在連線至該SSID時會詢問是否信任FreeRADIUS.net-Server發行的憑證,由於這裡是自己發的憑證,因此可能會有不受信任的提示,請忽略。如圖17所示,點選「信任」,繼續後面的設定。


▲圖17 點選「信任」繼續後面的設定。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!