本次實作將在Raspberry Pi單板電腦上架設OpenWrt以提供Wi-Fi服務,並透過後端的FreeRADIUS Server執行帳號以及密碼驗證機制來提高其安全性。
之前文已示範過如何側錄以WPA進行加密的SSID連線,取得其封包並嘗試比對密碼檔,藉此取得其密碼。在破解過程中,可以看出現行Wi-Fi安全機制若能結合802.11X的機制,在原先的PSK密碼上再搭配帳號密碼的認證機制,可以確實地增加Wi-Fi的安全性。
在本文中,將示範如何在Raspberry Pi上架設OpenWrt(目的是提供易於管理的介面)提供Wi-Fi服務,並結合後端FreeRADIUS Server提供帳號密碼驗證機制以提高其安全性。
了解測試架構 準備所需軟硬體
圖1所示為本次測試使用的架構圖。將在AP(192.168.1.14)上設定認證機制,讓Notebook在與AP連立連線時須透過Radius Server(192.168.1.4)進行身分驗證,認證通過後,才可以透過AP連線至Internet。
|
▲圖1 測試架構示意圖。 |
本次測試所需的軟硬體,說明如下:
·硬體:AP部分使用的是Raspberry Pi 2(以下稱Pi2),使用的Wi-Fi網卡為TP-LINK TL-WN722N。
·韌體:在Pi2上安裝OpenWrt,其版本為15.05.1,並安裝了TL-WN722N Wi-Fi Dongle的驅動程式以及Wi-Fi相關套件。OpenWrt下載連結為「https://downloads.openwrt.org/chaos_calmer/15.05.1/brcm2708/bcm2709/openwrt-15.05.1-brcm2708-bcm2709-sdcard-vfat-ext4.img」,其原始網站是「https://wiki.openwrt.org/toh/raspberry_pi_foundation/raspberry_pi」,若有新版可在該網頁取得下載的連結。
·軟體:Radius Server部分則是在運行Windows 7的電腦上安裝FreeRADIUS.net-1.1.7-r0.0.2,其下載連結是「http://www.freeradius.net/Downloads/FreeRADIUS.net-1.1.7-r0.0.2.exe」,而原始網站為「http://freeradius.net/Downloads.html」。
安裝與設定OpenWrt
先下載並安裝OpenWrt,操作的部分可參考網站連結「http://www.netadmin.com.tw/article_content.aspx?sn=1507030005&jump=1」的說明。
安裝完成之後,接著使用瀏覽器開啟網頁「http://192.168.1.1」(此為OpenWrt的預設IP,登入後可依現況進行調整),預設帳號為「root」,沒有密碼。登入後記得設定密碼及更新時區設定,設定方式可參考筆者之前的教學(http://www.netadmin.com.tw/article_content.aspx?sn=1507030005&jump=2)。
設定密碼後,便可使用SSH登入。接著,將Wi-Fi網卡裝到Pi2上,並下載安裝驅動程式(請務必確認OpenWrt此時可連上網路):
隨後更新opkg的索引檔,並安裝kmod-ath9k-htc的驅動程式,在安裝過程中,會自行安裝所需的相關程式。
在此補充說明,安裝完成後若網卡能夠正常驅動,在「/etc/config/」目錄內會自動產生一個名叫「wireless」的檔案。但筆者在安裝TP-LINK TL-WN722N這張Wi-Fi Dongle測試時,安裝過程中看似順利,但並未自動產生wireless設定檔,此時可使用「wifi detect > /etc/config/wireless」指令來手動產生。
若使用的是Pi常用的EDIMAX EW-7811Un網卡,則可使用下列指令進行安裝:
這張網卡在安裝完成後,將會自動產生「/etc/config/wireless」設定檔。
安裝完成後,使用cat指令檢視wireless檔案的內容,如圖2所示。
|
▲圖2 檢視wireless檔案內容。 |
在wireless檔案內,上方的config wifi-device radio0代表的是網卡的實體層設定,option disabled 1則代表目前該網卡為停用狀態。下方config wifi-iface所表示的是資料連結層的設定,Wi-Fi Dongle運作模式為ap(站台模式),SSID的名稱為OpenWrt,目前並未加密。