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

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

2016-11-09
本次實作將在Raspberry Pi單板電腦上架設OpenWrt以提供Wi-Fi服務,並透過後端的FreeRADIUS Server執行帳號以及密碼驗證機制來提高其安全性。
信任該憑證後,會自動帶出輸入使用者名稱及密碼的頁面,依照之前在users.conf設定的帳號密碼輸入即可,如圖18所示。


▲圖18 輸入之前在users.conf設定的帳號和密碼。

這裡同時也側錄其封包(OpenWrt可以安裝tcpdump,直接擷取封包),觀察其運作情形。如圖19所示,可以發現192.168.1.14(OpenWrt),持續與192.168.1.4(Radius Server)進行溝通,待溝通完成後,手機就可以取得IP,並連線後端的Internet。


▲圖19 側錄其封包,觀察運作情形。

進行可存取網段設定

接下來,示範如何限制AP用戶存取內部主機(但同時可存取Internet),在OpenWrt要限制網路的存取是在防火牆中做設定。

先選擇Network裡面的Firewall,再選擇Traffic Rule。往下找到Open ports on router部分,在Name欄位輸入「DenyAttck」,在Protocol欄位則使用預設的【TCP+UDP】,並按下〔Add〕按鈕以新增一個Traffic Rule,如圖20所示。


▲圖20 新增Traffic Rule。

接著進入此Rule的詳細設定,在Protocol部分原先為TCP/UDP,改為【Any】,而Source zone部分保持預設的wan,如圖21所示。


▲圖21 設定Rule的內容。

然後,在Destination zone部分點選lan,如圖22所示。


▲圖22 Destination zone部分選擇lan。

Destination address的部分,預設為any,如圖23所示,開啟下拉式選單將其改為【custom】。


▲圖23 修改Destination address的設定。

改為custom之後,就可以自行輸入,在此輸入的是lan的IP網段「192.168.1.0/24」。在Action部分,則改為【reject】,如圖24所示。


▲ 圖24 將Action設定改選成【reject】。最後,別忘了要點選〔Save&Apply〕。

設定完成後,測試一下成效。在設定Firewall rule之後,還是ping得到ptt.cc,但原先可ping到的192.168.1.1,變成Request timeout,如圖25所示。


▲圖25 設定完成後,用Ping測試一下。

還可以發想一些應用,例如發射兩個SSID,一個是給訪客使用,使用簡單的WPA2加密,但僅能存取公網(如本文中範例所示),另一個SSID是給員工使用,可以存取內部網站也能存取公網,但加上內部主機的帳號控管,增加駭客同時破解WPA2密碼和取得Radius Server(或其他認證主機)的帳號密碼的難度。

如此一來,就能同時兼顧安全性與便利性。這兩個SSID可以給予不同的DHCP IP POOL,並且在「/etc/config/wireless」中SSID的設定,將之設定為:


讓這兩個在實體上達到完全隔離的效果,以避免訪客使用的SSID遭破解後,駭客攻擊企業內部使用的SSID,從而攻擊內部電腦或伺服器。

結語

由於這裡是在內網使用(AP與Radius之間透過內網傳遞資料),資料被擷取破解的機率較低,因此只做Radius Server的身分驗證。

若是使用在公共網路上,記得要搭配EAP的相關設定(最好是可以搭配需手動進行安裝的憑證檔),好讓自身的網路更加安全。

<本文作者:丁光立,在ISP工作多年。對於Cisco設備較熟悉,除此之外也研究Linux,這幾年慢慢把觸角伸到資安的領域,並會在自己的blog(http://tiserle.blogspot.com/)分享一些實務上的經驗和測試心得。>


追蹤我們Featrue us

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

我知道了!