在 OpenVPN 社群(免費)版本中使用實體加密令牌

在 OpenVPN 社群(免費)版本中使用實體加密令牌

我目前正在設定 OpenVPN,以便為公司提供對多個客戶端的存取。我們的要求是使用憑證、密碼保護客戶端金鑰,以及對每個客戶端使用雙重因素 (MFA) 身份驗證。

我有一堆 Fortinet FortiToken 200 令牌,我想使用它們,但我找不到任何資訊來說明如何將這些令牌與 OpenVPN 等工具一起使用。在查看了更多內容後,我也找不到任何顯示如何在 OpenVPN 中使用實體令牌的資訊。

所以我的問題是,如何在 OpenVPN 中使用實體令牌?我無法使用 Google Authenticator 之類的東西,因為我們計劃讓客戶也透過他們的智慧型手機使用 VPN。 OpenVPN PKCS#11 操作文件寫得非常糟糕。

我開始相信,如果需要 MFA,那麼 OpenVPN 目前根本不是一個可行的選擇。

感謝您的幫助。

答案1

基本上:

  1. 為您的令牌安裝 pkcs#11 驅動程式(如果您的令牌製造商不提供,請詢問他們)。
  2. 告訴 openvpn 使用該驅動程序,並列出令牌上的可用金鑰:
    • openvpn --show-pkcs11-ids /path/to/pkcs11/driver.so
  3. 在您的設定檔中,為輸出中的金鑰指定模組和序列化 ID --show-pkcs11-ids,例如:

    pkcs11-providers /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so
    pkcs11-id Gnome\x20Keyring/1\x2E0/1\x3AUSER\x3ADEFAULT/Gome203217466776767672672036 月/FFDA 6A630CAAA4722A

(確保轉義 pkcs-id 中的任何反斜杠,例如Gnome\x20Keyring變為Gnome\\x20Keyring。)

相關內容