Ipsec
使用 RSA 身份驗證計費 IPSec 連接
Apple iOS 具有“VPN On Demand”功能。使用此功能,只要設備嘗試連接到某些域或網際網路,就會建立 VPN 連接。iOS 僅通過基於證書的身份驗證支持“按需 VPN”。
為了為我辦公室 VPN 伺服器的 iOS 使用者提供“按需 VPN”,我們正在使用下一個 IPSec 解決方案:
- Ubuntu 14.04 - VPN 伺服器作業系統。
- strongSwan 5.1.2 - IKE 守護程序。
- 對於每個對等點,我正在生成一個單獨的私鑰並頒發一個匹配的證書。客戶端 (iOS IKEv1) 使用 RSA 和 Xauth 進行身份驗證。
- iPhone 和 iPad 不能在沒有 Xauth 的情況下使用 IPSec(所謂的 Cisco IPSec)。並且“按需 VPN”不能使用需要輸入密碼的 VPN 配置文件,但 Xauth 通常需要使用者名/密碼。為了解決這個問題,我們使用 xauth-noauth - 允許任何使用者名和密碼的假 Xauth 身份驗證器。在這種情況下,我們僅使用客戶端證書對其進行身份驗證。
這個解決方案對我們來說效果很好。但我們有了新的要求——用一個使用者數據庫設置多台 VPN 伺服器,併計算 VPN 的使用情況。
這是此任務使用 RADIUS 的常見做法,strongSwan 有外掛。但是帶有 IKEv1/Xauth 的 strongSwan 使用使用者名/密碼來驗證後端 RADIUS 伺服器上的使用者。我的解決方案中未使用使用者名/密碼。
我的問題:
- 如果 Xauth 不使用使用者名/密碼,如何使用 Radius 記帳?
- 是否可以將 RSA 身份驗證檢查委託給 RADIUS 伺服器?
PS 我的大多數 iOS 客戶端都使用支持 IKEv2 的 iOS 8。IKEv2 中有 EAP-TLS。我可以使用 EAP-TLS 將 RSA 身份驗證檢查委託給 RADIUS 伺服器嗎?或者我用 EAP-TLS 朝錯誤的方向探勘?
PSPS 我的第二件事是關於 strongSwan 的 VICI 介面。我應該收到有關每個新 IPSec 連接的通知,但看起來 VICI 的工作方式不同。
eap-radius外掛中的 RADIUS 記帳不需要 XAuth 身份驗證。它實際上適用於任何類型的身份驗證,無論是否通過 RADIUS,只要客戶端請求虛擬 IP 地址(對於 IKEv2,甚至可以禁用此要求)。但是,對於某些 IKEv1 客戶端,在重新身份驗證的情況下會出現一些問題(請參閱問題#937和相關問題)。
EAP-TLS 可以將 IKEv2 客戶端的證書身份驗證委託給 AAA 伺服器,但這與 RADIUS 記帳無關。