可能的? OpenVPN 伺服器需要基於憑證和密碼的登入(透過 Tomato 路由器韌體)

可能的? OpenVPN 伺服器需要基於憑證和密碼的登入(透過 Tomato 路由器韌體)

我一直在我的 Asus N66U 路由器上使用 Shibby 的 Tomato 版本(64k NVRAM 版本)來運行 OpenVPN 伺服器。

我很好奇是否可以將此 OpenVPN 伺服器設定為需要證書允許使用者存取之前的使用者名稱/密碼。

我注意到在填寫證書詳細資料時有一個“挑戰密碼”條目,但每個人都說將其留空“否則”;我不知道為什麼,也找不到解釋。另外,我在 Google 上搜尋了很多這個問題,並注意到人們在談論 OpenVPN 的 PAM 模組,以便透過使用者名稱/密碼進行身份驗證,但那出現了是一個非此即彼的選項;換句話說,我可以透過使用者名稱/密碼強制進行身份驗證或者證書。我想兩者都需要。

這可能嗎?如果是這樣,怎麼辦?

答案1

您正在尋找的 OpenVPN 功能,該功能將允許伺服器根據以下內容對用戶端進行身份驗證兩個都他們的證書和憑證是auth-user-pass-verify。此功能允許伺服器將遠端使用者提供的使用者名稱/密碼傳遞給執行身份驗證的腳本。此時,您可以根據您想要的任何內容(PAM、RADIUS、LDAP、煙霧訊號等)來驗證憑證。

我對“Tomato”韌體一無所知,所以我什至不會嘗試在這裡向您提供一步一步的說明。我做了一些快速搜索,我懷疑您可以使用 OpenVPN“自訂配置”選項來包含參考auth-user-pass-verify。您需要一個腳本來執行身份驗證。

進行一些搜索,我懷疑您會找到“番茄”特定的參考文獻。

答案2

auth-user-pass-verify 是正確的做法。此外,您可以強制 auth-user 使用者名稱必須是經過認證的 CN,您也可以強制 openvpn 每個憑證一次只建立一個連線。

這樣,與 certc CN 相比,「模仿者」必須擁有正確的用戶和正確的通行證,並且他必須在真正的所有者登入時登入

此外,您可能會考慮 IDS,根據您選擇的 IDS,您甚至可以縮小範圍,例如允許的外部 IP 範圍、登入時間等。

任何暴露的證書應立即撤銷。簽名伺服器應該是離線的 - 透過 USB 傳輸金鑰 - 然後你就有了真正嚴格的安全存取。

不,你不應該為證書設定密碼。

  1. 容易暴力破解。
  2. 您無法鎖定使用者(憑證通行證僅適用於離線狀態)。
  3. 人們總是會丟失密碼,迫使您每次都撤銷並重新建立證書 - 存在大量證書的巨大風險,您有時可能會忘記撤銷。

但如果你真的想要,你可以同時使用身份驗證使用者和憑證密碼,這樣就不會出現後備或其他情況。

首先 openvpn 將使用憑證密碼來解密私鑰以建立連線 - 然後 auth-user 啟動伺服器 - 如果憑證錯誤,你就出局了。

但是,如果攻擊者獲得了常規憑證,那麼您已經遇到麻煩了,並且他也獲得了憑證密碼的可能性很高。

所以我並沒有看到真正的好處,只是有很多缺點和一種錯誤的安全感。

答案3

我按照本教程操作(在我的 Asus N66U 上使用 TomatoUSB Shibby 1.28): http://www.dd-wrt.com/wiki/index.php/OpenVPN 這可能對你有很大幫助。

相關內容