為什麼要使用 EAP-TTLS 而不是 PEAP?
據我了解,EAP-TTLS 和 PEAP 在無線網路中實現時共享相同級別的安全性。兩者都僅通過證書提供伺服器端身份驗證。
EAP-TTLS 的缺點可能是 Microsoft Windows 中的非本機支持,因此每個使用者都必須安裝額外的軟體。
EAP-TTLS 的好處是支持安全性較低的身份驗證機制(PAP、CHAP、MS-CHAP),但為什麼在現代且安全的無線系統中需要它們?
你有什麼意見?為什麼我應該實施 EAP-TTLS 而不是 PEAP?假設我擁有大多數 Windows 使用者、中等 Linux 使用者和最少的 iOS、OSX 使用者。
如果您的 RADIUS 後端支持,您可以同時支持兩者。但是,某些客戶端“自動”連接(例如 Mac OS X >= 10.7 + iOS),如果您支持一種以上的類型,它們的工作效果可能不太理想,因為它們只是嘗試不同的組合,直到其中一個工作,即它們連接如果只有一種連接方式,那麼麻煩會更少。
所以基本上:僅支持 PEAP,如果您有需要 TTLS 的客戶端,則支持 PEAP+TTLS。
客戶限制
- 除非您手動(通過電腦)安裝配置文件,否則iOS 客戶端將不支持
EAP-TTLS
(PAP
only )。MsCHAPv2
- Windows 客戶端不支持
EAP-TTLS
開箱即用(您需要安裝諸如secure2w 之類的軟體),除非它們具有英特爾無線網卡。- Android
EAP
支持和的幾乎所有組合PEAP
。密碼數據庫限制
因此,真正的問題是您的密碼是如何儲存的。
如果他們在:
- Active Directory,然後您可以使用
EAP-PEAP-MsCHAPv2
(Windows 框)和EAP-TTLS-MsCHAPv2
(使用 iOS 客戶端)。- 如果您將密碼儲存在LDAP上,您可以使用
EAP-TTLS-PAP
(Windows 框),但您會迷失在 iOS 上。重要的安全問題
- 兩者都
EAP-TTLS
使用PEAP
(TLS
傳輸層安全性)而不是EAP
(可擴展身份驗證協議)。您可能知道,
TLS
它是一個較新版本,SSL
並且基於由受信任的中央機構(認證機構 - CA)簽署的證書。要建立
TLS
隧道,客戶端必須確認它正在與正確的伺服器(在這種情況下,用於驗證使用者身份的 radius 伺服器)進行通信。它通過檢查伺服器是否提供由受信任的 CA 頒發的有效證書來做到這一點。問題是:通常,您不會擁有由受信任的 CA 頒發的證書,而是由您專門為此目的製作的臨時 CA 頒發的證書。作業系統會向使用者抱怨它不知道 CA 和使用者(以您為導向)會欣然接受這一點。
但這會帶來重大的安全風險:
有人可以在您的企業內部(在包裡甚至在筆記型電腦上)設置一個惡意 AP,將其配置為與他自己的 radius 伺服器(在他的筆記型電腦或自己的惡意 AP 上執行)通信。
如果您的客戶發現此 AP 的信號比您的接入點更強,他們將嘗試連接到它。將看到一個未知的 CA(使用者接受),將建立一個
TLS
隧道,將在此隧道上發送身份驗證資訊,並且流氓半徑將記錄它。現在是重要的部分:如果您使用純文字身份驗證方案(
PAP
例如),流氓半徑伺服器將有權訪問您的使用者密碼。您可以使用 iOS、Windows(和 Android)信任的證書頒發機構頒發的有效證書來解決這個問題。或者,您可以將 CA 根證書分發給您的使用者,並在他們看到證書問題時通知他們拒絕連接(祝您好運)。