用戶端情境
Extensible Authentication Protocol (EAP 可延伸的驗證通訊協定) 是網路連線中常使用的身份驗證框架。WPA-Enterprise 標準採用 IEEE 802.1X (具備多種 EAP 類型) 作為身份驗證機制的規範。IETF RFCs 定義的 EAP 方法有很多,例如 EAP-MD5、EAP-POTP、EAP-GTC、EAP-TLS、EAP-IKEv2 等。本文將佈屬一個 RADIUS (Remote Authentication Dial In User Service) Server 使用 EAP-TLS 方式實現 WPA-Enterprise 身份驗證。
備註:
本案例用於驗證和測試使用,如您要將 RADIUS 服務應用於企業或商業場景,請諮詢專業機構。
FreeRADIUS 是 GPLv2 認證許可下的開源 RADIUS 服務,網址可參考:github.com.
設定
步驟 1. 在 Linux 上安裝 FreeRADIUS
有關 FreeRADIUS’s 安裝包指引,可參考 FreeRADIUS Packages | NetworkRADIUS。您可以參照以下網址內容的原始碼進行建置,以確保正確的安裝:github.com。如在以下過程中發現 RADIUS 出現錯誤,例如無法啟動或處理任何請求,請檢查是否有正確安裝。
本安裝指引運行環境:Ubuntu 22.04 LTS with FreeRADIUS 3.2 (apt-installed)
步驟 2. 編輯 FreeRADIUS 用戶端設定
在預設情況下,FreeRADIUS 3.2 是安裝在 /etc/freeradius/ 路徑底下。
首先,將您的 AP 加到設定檔中,以讓 FreeRADIUS 可以透過 AP 發送身份驗證的請求。開啟 terminal 並執行以下指令:
$ sudo nano /etc/freeradius/clients.conf
將以下內容加入設定檔中:
client AP1 { #’AP1’ is the alias of your access point
ipaddr = 192.168.0.100/24 #The IP address of AP1
secret = testing123
#The ’secret’ will be the ‘Authentication Password’
#in Omada Controller’s RADIUS profile settings
}
備註:有關 WPA-Enterprise 加密,EAPs 並不像控制器為RADIUS的用戶端之一,因此請確認所有 EAPs 的 IP 都包含在 clients.conf 設定檔內。
接著按下 Ctrl+X 儲存檔案。
步驟 3. 編輯 FreeRADIUS EAP 設定以啟用 TLS
編輯 EAP 設定
$ sudo nano /etc/freeradius/mods-enabled/eap
找到 eap 字串範圍後,將 default_eap_type 修改為 tls 如下:
eap{
default_eap_type = tls
…
…
…
接著按下 Ctrl + X 鍵儲存檔案。
Step 4. 建立憑證
FreeRADIUS 透過 OpenSSL 建立憑證。設定檔及 CAs 路徑為 /etc/freeradius/certs。首先請先到該目錄下:
$ sudo -s
$ cd /etc/freeradius/certs
請注意,您需要在每次重新建立前清除所有 CAs,否則 openssl 將會提示 "Nothing to be done",並且不會產生新的 CAs。請依照以下指令刪除現有的檔案:
$ rm -f *csr *key *p12 *pem *crl *crt *der *mk *txt *attr *old serial dh
您可以編輯與 *.cnf 相關的檔案以符合您的需求。在此我們只是將其保留為預設值以進行測試,在清除 CAs 後,執行 make 指令建立新的 CAs。
$ make
步驟 5. 啟用 FreeRADIUS server
您可以透過以下指令,讓 FreeRADIUS server 在附帶 log 的 debug 模式下運行:
$ sudo freeradius -X
輸出的資訊應如下所示,一旦出現 "Ready to process requests",即代表 FreeRADIUS server 已正確啟動。
步驟 6. 配置無線網路的認證設定
在此步驟中,您要將無線網路的安全性指定為 WPA-Enterprise,並設定 RADIUS profile。RADIUS server 的 Authentication 密碼為 "testing123",設定於 /etc/freeradius/clients.conf。Authentication Server IP 為您的 RADIUS server IP,Authentication port 為 RADIUS 服務預設的 1812。
假如您使用 Omada 控制器,可參考 Omada SDN Controller User Guide | TP-Link Chapter 4.4.1--> WPA-Enterprise。
假如您使用 EAP 的獨立模式,可參考 configuring_eap_standalone_eap (tp-link.com) Chapter 2.2 Config SSIDs--> WPA-Enterprise。
步驟 7. 安裝用戶端憑證及驗證身份
將產生的 ca.der 和 client.p12 檔(步驟4) 複製到有無線裝置的用戶端電腦或筆電。請留意,有部份智慧行動裝置因為相容性較低,故在安裝 CAs 時可能會發生 errors,您可藉由 Windows PC 進行以下測試。
在 Windows 10/11 安裝 CAs 並依步驟操作。如您是用 Windows 7 作業系統,由於相容性議題您可能無法安裝 CAs。
安裝 ca.der:
接著安裝 client.p12。請注意私鑰 private key 的密碼為預設的 "whatever" (如您沒有變更設定檔 /etc/freeradius/certs/*.cnf)。
步驟 8. 使用憑證連線至 SSID
Windows11 作業系統:
在 WLAN settings --> 尋找您的 SSID --> 點擊 Connect --> Connect using a certificate。接著您將藉由 EAP-TLS 模式連接至無線網路。您可由 RADIUS server 的終端輸出服務確認 logs 內容。
Windows10 作業系統:
在 Control Panel (控制台) --> Network and Internet (網路和網際網路) --> Network and Sharing Center (網路和共用中心) -->Set up a new connection or network (設定新的連線或網路)
選擇 Manually connect to a wireless network (手動連線到無線網路),並點擊 Next。
填入您的 網路名稱 (SSID),選擇安全性類型為 WPA2-Enterprise,並點擊 Next。
點擊變更連線設定。
切換至 Security 頁籤 --> 在 Choose a network authentication method (選擇一個網路身份認證模式),選擇 Microsoft: Smart card or other certificate,完成後點擊 settings。
取消勾選 "Verify the server’s identity by validating the certificate" (透過憑證來驗證伺服器的身份) ,並將所有彈出視窗點擊 OK。.
在 WLAN 設定,您可以使用 connect the SSID using a certificate (使用憑證連線至 SSID )。
取得更詳細功能及設定內容,可至 Download Center 下載產品手冊。