Security

為什麼要使用 EAP-TTLS 而不是 PEAP?

  • August 10, 2020

據我了解,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( PAPonly )。MsCHAPv2
  • Windows 客戶端不支持EAP-TTLS開箱即用(您需要安裝諸如secure2w 之類的軟體),除非它們具有英特爾無線網卡。
  • AndroidEAP支持和的幾乎所有組合PEAP

密碼數據庫限制

因此,真正的問題是您的密碼是如何儲存的。

如果他們在:

  • Active Directory,然後您可以使用EAP-PEAP-MsCHAPv2(Windows 框)和EAP-TTLS-MsCHAPv2(使用 iOS 客戶端)。
  • 如果您將密碼儲存在LDAP上,您可以使用EAP-TTLS-PAP(Windows 框),但您會迷失在 iOS 上。

重要的安全問題

  • 兩者都EAP-TTLS使用PEAPTLS傳輸層安全性)而不是EAP(可擴展身份驗證協議)。

您可能知道,TLS它是一個較新版本,SSL並且基於由受信任的中央機構(認證機構 - CA)簽署的證書。

要建立TLS隧道,客戶端必須確認它正在與正確的伺服器(在這種情況下,用於驗證使用者身份的 radius 伺服器)進行通信。它通過檢查伺服器是否提供由受信任的 CA 頒發的有效證書來做到這一點。

問題是:通常,您不會擁有由受信任的 CA 頒發的證書,而是由您專門為此目的製作的臨時 CA 頒發的證書。作業系統會向使用者抱怨它不知道 CA 和使用者(以您為導向)會欣然接受這一點。

但這會帶來重大的安全風險:

有人可以在您的企業內部(在包裡甚至在筆記型電腦上)設置一個惡意 AP,將其配置為與他自己的 radius 伺服器(在他的筆記型電腦或自己的惡意 AP 上執行)通信。

如果您的客戶發現此 AP 的信號比您的接入點更強,他們將嘗試連接到它。將看到一個未知的 CA(使用者接受),將建立一個TLS隧道,將在此隧道上發送身份驗證資訊,並且流氓半徑將記錄它。

現在是重要的部分:如果您使用純文字身份驗證方案(PAP例如),流氓半徑伺服器將有權訪問您的使用者密碼。

您可以使用 iOS、Windows(和 Android)信任的證書頒發機構頒發的有效證書來解決這個問題。或者,您可以將 CA 根證書分發給您的使用者,並在他們看到證書問題時通知他們拒絕連接(祝您好運)。

引用自:https://serverfault.com/questions/349319