Назад | Перейти на главную страницу

Учет IPSec-соединений с аутентификацией RSA

В Apple iOS есть функция «VPN по запросу». С помощью этой функции VPN-соединение устанавливается всякий раз, когда устройство пытается подключиться к определенным доменам или вообще к Интернету. iOS поддерживает «VPN по запросу» только с сертифицированной аутентификацией.

Чтобы обеспечить «VPN по запросу» для пользователей iOS моего офисного VPN-сервера, мы используем следующее решение IPSec:

Это решение нам подходит. Но у нас появилось новое требование - настроить несколько серверов VPN с одной базой пользователей и вести учет использования VPN.

Это обычная практика для этой задачи - использовать RADIUS, и у strongSwan есть плагин для этого. Но strongSwan с IKEv1 / Xauth использует имя пользователя / пароль для аутентификации пользователя на внутреннем сервере RADIUS. имя пользователя / пароль не используются в моем решении.

Мои вопросы:

  1. Как использовать учет радиуса, если Xauth не использует имя пользователя / пароль?
  2. Можно ли делегировать проверку аутентификации RSA серверу RADIUS?

P.S. Большинство моих клиентов iOS используют iOS 8, которая поддерживает IKEv2. В IKEv2 есть EAP-TLS. Могу ли я использовать EAP-TLS для делегирования проверки аутентификации RSA серверу RADIUS? Или я копаю не в том направлении с EAP-TLS?

P.S. P.S. Второе, что я хотел сказать об интерфейсе VICI для strongSwan. Я должен был получать уведомления о каждом новом подключении IPSec, но похоже, что VICI работает иначе.

RADIUS Учет в радиус действия плагин не требует аутентификации XAuth. Фактически он работает с любым типом аутентификации, через RADIUS или нет, если клиент запрашивает виртуальный IP-адрес (для IKEv2 даже это требование можно отключить). Однако с некоторыми клиентами IKEv1 возникают некоторые проблемы в случае повторной аутентификации (см. # 937 и связанные).

EAP-TLS позволяет делегировать аутентификацию сертификата для клиентов IKEv2 серверу AAA, но это не связано с учетом RADIUS.

Благодаря ecdsa я нашел несколько решений своей проблемы.

  1. Используйте учет RADIUS без аутентификации RADIUS.

Если плагин eap-radius включен с опцией бухгалтерский учет = да, strongSwan отправит сообщение RADIUS, чтобы начать учет, даже если eap-radius не используется в файле ipsec.conf. В моем случае это сообщение 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, CN=myemail@mail.com"
Framed-IP-Address = 172.20.1.1
NAS-Identifier = strongSwan

Я могу получить сертификат CN из сообщения, и мне достаточно вести надлежащий учет. Если я хочу отклонить доступ для некоторого CN, я могу просто отклонить сообщение RADIUS от stronSwan, и соединение ipsec будет прервано.

  1. Сделайте учет и проверку доступа в вверх вниз сценарий вместо использования RADIUS.

Также я хотел бы использовать плагин strongSwan curl для доступа к списку отзыва сертификатов. Но я обнаружил отсутствие документации об этом плагине. Я что-то упускаю?