web-dev-qa-db-ja.com

RSA認証を使用したIPSec接続のアカウンティング

AppleiOSには「VPNオンデマンド」機能があります。この機能を使用すると、デバイスが特定のドメインまたはインターネットに接続しようとするたびにVPN接続が確立されます。 iOSは、証明書ベースの認証でのみ「VPNオンデマンド」をサポートします。

私のオフィスVPNサーバーのiOSユーザーに「VPNオンデマンド」を提供するために、次のIPSecソリューションを使用しています。

  • Ubuntu14.04-VPNサーバーOS。
  • strongSwan5.1.2-IKEデーモン。
  • ピアごとに個別の秘密鍵を生成し、一致する証明書を発行します。クライアント(iOS IKEv1)は、RSAおよびXauthを使用して認証します。
  • iPhoneとiPadは、XauthなしではIPSec(いわゆるCisco IPSec)を使用できません。また、「VPNオンデマンド」ではパスワードの入力が必要なVPNプロファイルを使用できませんが、Xauthでは通常ユーザー名/パスワードが必要です。この問題を処理するために、xauth-noauthを使用しています。これは、任意のユーザー名とパスワードを許可する偽のXauthオーセンティケーターです。この場合、認証にはクライアント証明書のみを使用しています。

このソリューションは私たちにとってうまく機能しています。しかし、新しい要件がありました。1つのユーザーデータベースで複数のVPNサーバーをセットアップし、VPNの使用状況を考慮に入れます。

これは、このタスクで使用する一般的な方法ですRADIUSそしてstrongSwanにはプラグインがあります。ただし、IKEv1/Xauthを使用するstrongSwanは、バックエンドでユーザーを認証するためにユーザー名/パスワードを使用しますRADIUSサーバー。ユーザー名/パスワードは私のソリューションでは使用されていません。

私の質問:

  1. Xauthがユーザー名/パスワードを使用していない場合にRadiusアカウンティングを使用するにはどうすればよいですか?
  2. RSA認証チェックをRADIUSサーバーに委任することは可能ですか?

P.S.私のiOSクライアントのほとんどは、IKEv2をサポートするiOS8を使用しています。 IKEv2にはEAP-TLSがあります。 EAP-TLSを使用してRSA認証チェックをRADIUSサーバーに委任できますか?またはEAP-TLSで間違った方向に掘っていますか?

P.S. P.S. 2つ目は、strongSwanのVICIインターフェースについてです。新しいIPSec接続ごとに通知を受け取ることになっていますが、VICIの動作が異なるようです。

1
John Green

eap-radiusプラグインのRADIUSアカウンティングは、XAuth認証を必要としません。クライアントが仮想IPアドレスを要求する限り、RADIUSかどうかに関係なく、あらゆる種類の認証で実際に機能します(IKEv2の場合、この要件も無効にできます)。一部のIKEv1クライアントにはただし、再認証の場合のいくつかの問題(問題 #937 および関連を参照)。

EAP-TLSを使用すると、IKEv2クライアントの証明書認証をAAAサーバーに委任できますが、これはRADIUSアカウンティングとは関係ありません。

2
ecdsa

Ecdsaのおかげで、問題の解決策がいくつか見つかりました。

  1. RADIUSアカウンティングなしRADIUS認証。

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接続が中断されます。

  1. RADIUSを使用する代わりに、pdownスクリプトでアカウンティングとアクセスチェックを実行します。

また、証明書失効リストへのアクセスにstrongSwancurlプラグインを使用したいと思います。しかし、このプラグインに関するドキュメントが不足していることがわかりました。私は何かが足りないのですか?

0
John Green