Linux

數據庫中已存在使用者的 Strongswan 中央身份驗證

  • February 26, 2021

我已經閱讀了很多關於將 Strongswan 驗證為 SQL/PAM 的內容,但找不到任何想法/解決方案如何針對已經有大量使用 bcrypt+salt 加密的使用者名和密碼組合的數據庫進行身份驗證。我不知道明文密碼,所以我不明白如何啟動它。

我編寫了一個自定義 Radius 伺服器(使用 pyrad),但它只支持 PAP,這在當今不是一個好的解決方案。所以基本上,通過這個解決方案,我能夠實現我的目標,但它真的不安全。在每個客戶端中,我都必須禁用 MSCHAPv2 並僅啟用 PAP。

我已經為此搜尋了幾天,但對我來說,如果沒有明文密碼,似乎不可能對它們進行身份驗證。也許我不了解整個過程,但我還沒有為我的案例找到任何解決方案。用我的 SQL 數據嘗試了 Freeradius,但密碼的儲存方式與 Freeradius 期望的不同。

你能推薦如何實現這一目標的技術/想法嗎?

我想以某種方式對它們進行身份驗證。

謝謝!

常用的基於使用者名/密碼的 EAP 方法(如 EAP-MSCHAPv2)在沒有明文密碼的情況下無法工作,因為它們使用質詢 - 響應交換(即客戶端和伺服器在使用隨機密碼時都需要明文密碼才能得出相同的結果挑戰)。

雖然有一些 EAP 方法可以傳輸明文密碼(例如 EAP-GTC),然後可以根據雜湊值對其進行檢查,但許多客戶端並不支持它們。對於不需要儲存或傳輸明文密碼的 IKEv2 和 EAP,還有基於零知識證明的現代基於密碼的身份驗證方案,但它們在支持方面存在相同的問題。

有關詳細資訊,請參閱我以前的答案之一。

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