AppleiOSには「VPNオンデマンド」機能があります。この機能を使用すると、デバイスが特定のドメインまたはインターネットに接続しようとするたびにVPN接続が確立されます。 iOSは、証明書ベースの認証でのみ「VPNオンデマンド」をサポートします。
私のオフィスVPNサーバーのiOSユーザーに「VPNオンデマンド」を提供するために、次のIPSecソリューションを使用しています。
このソリューションは私たちにとってうまく機能しています。しかし、新しい要件がありました。1つのユーザーデータベースで複数のVPNサーバーをセットアップし、VPNの使用状況を考慮に入れます。
これは、このタスクで使用する一般的な方法ですRADIUSそしてstrongSwanにはプラグインがあります。ただし、IKEv1/Xauthを使用するstrongSwanは、バックエンドでユーザーを認証するためにユーザー名/パスワードを使用しますRADIUSサーバー。ユーザー名/パスワードは私のソリューションでは使用されていません。
私の質問:
P.S.私のiOSクライアントのほとんどは、IKEv2をサポートするiOS8を使用しています。 IKEv2にはEAP-TLSがあります。 EAP-TLSを使用してRSA認証チェックをRADIUSサーバーに委任できますか?またはEAP-TLSで間違った方向に掘っていますか?
P.S. P.S. 2つ目は、strongSwanのVICIインターフェースについてです。新しいIPSec接続ごとに通知を受け取ることになっていますが、VICIの動作が異なるようです。
eap-radiusプラグインのRADIUSアカウンティングは、XAuth認証を必要としません。クライアントが仮想IPアドレスを要求する限り、RADIUSかどうかに関係なく、あらゆる種類の認証で実際に機能します(IKEv2の場合、この要件も無効にできます)。一部のIKEv1クライアントにはただし、再認証の場合のいくつかの問題(問題 #937 および関連を参照)。
EAP-TLSを使用すると、IKEv2クライアントの証明書認証をAAAサーバーに委任できますが、これはRADIUSアカウンティングとは関係ありません。
Ecdsaのおかげで、問題の解決策がいくつか見つかりました。
Eap-radiusプラグインがオプションaccounting = yesで有効になっている場合、eap-radiusがipsec.confで使用されていなくても、strongSwanはアカウンティングを開始するためにRADIUSメッセージを送信しますファイル。私の場合、このRADIUSメッセージは次のようになります:
Acct-Status-Type = Start
Acct-Session-Id = 1434531934-1
NAS-Port-Type = Virtual
Service-Type = Framed-User
NAS-Port = 1
NAS-Port-Id = ios-ikev1-fakexauth
NAS-IP-Address = <nas_ip>
Called-Station-Id = <nas_ip>[4500]
Calling-Station-Id = <client_ip>[4500]
User-Name = "C=CH, O=strongSwan, [email protected]"
Framed-IP-Address = 172.20.1.1
NAS-Identifier = strongSwan
メッセージから証明書CNを取得できますが、適切なアカウンティングを行うことはできません。一部のCNへのアクセスを拒否したい場合は、stronSwanからのRADIUSメッセージを拒否すると、ipsec接続が中断されます。
また、証明書失効リストへのアクセスにstrongSwancurlプラグインを使用したいと思います。しかし、このプラグインに関するドキュメントが不足していることがわかりました。私は何かが足りないのですか?