Avanpost FAM/MFA+ : Настройка 2FA/MFA для Cisco AnyConnect, Cisco ASA, Cisco ASAv

Общие сведения

Avanpost FAM обеспечивает 2FA для пользователей, выполняющих подключение к VPN Cisco ASA/ASAv при помощи клиента Cisco AnyConnect. В инструкции описывается настройка 2FA для Cisco AnyConnect/Cisco ASA/Cisco ASAv с использованием RADIUS-сервера Avanpost FAM и различные сценарии использования 2FA для Cisco AnyConnect.

Сценарий взаимодействия Cisco AnyConnect с Avanpost FAM для аутентификации:

  1. Пользователь, желающий подключит к VPN, вводит логин и пароль в Cisco AnyConnect.
  2. Cisco AnyConnect подключается к VPN-серверу Cisco ASA/ASAv.
  3. Cisco ASA по протоколу RADIUS подключается к службе RADIUS Avanpost FAM, выполняет проверку логина и пароля по одному из настроенных методов аутентификации RADIUS-протокола.
  4. Если для Cisco ASA настроена проверка дополнительных факторов аутентификации, то Cisco AnyConnect запрашивает у пользователя проверку этих факторов в режиме диалога, либо в фоновом режиме.
  5. После успешной проверки аутентификаторов в соответствии с настроенным сценарием пользователь подключается к VPN.

Для Cisco AnyConnect в качестве второго фактора (2FA) возможно использование следующих методов аутентификации:

Через клиент Cisco AnyConnect доступна первичная настройка аутентификаторов для тех пользователей, у которых настройка не была выполнена:

  • Мобильное приложение Avanpost Authenticator;
  • TOTP;
  • SMS;
  • E-mail.

Для выполнения настройки 2FA в Cisco AnyConnect в соответствии с инструкцией необходимо выполнить следующие предварительные условия:

  1. Установить в сети Cisco ASA/ASAv, выполнить настройку VPN-сервера.
  2. Установить АРМ с клиентом Cisco AnyConnect, который может выполнить подключение по VPN через Cisco ASA/ASAv.
  3. Установить в сети компонент Avanpost FAM Server.

Если необходима аутентификация через:

  1. Мобильное приложение Avanpost Authenticator, то установить компонент Avanpost FAM Mobile Services.
  2. Мобильное приложение SafeTech PayControl, то установить сервер SafeTech PayControl.
  3. SMS, то настроить подключение к внешнему SMS-шлюзу, который предоставляет услугу доставки SMS-сообщений.
  4. E-mail, то настроить подключение к SMTP-шлюзу, который обеспечивает доставку почтовых сообщений.
  5. Telegram, то настроить подключение к Telegram Bot API.

Настройка c использованием RADIUS-сервера

Настройка предполагает первичную настройку RADIUS-сервера на стороне Cisco ASA или замену ранее используемого RADIUS сервера на RADIUS-сервер Avanpost FAM. 

Для выполнения настройки необходимо знание следующих параметров:

  • IP-адрес и порт RADIUS-интерфейса компонента Avanpost FAM Server;
  • IP-адрес сервера Cisco ASA/ASAv, с которого Cisco будет осуществлять отправку RADIUS-запросов.

На стороне Cisco ASA/ASAv необходимо выполнить следующие настройки:

  1. Настроить Connection profile для Remote Access VPN, указав для Connection Profile в секции Authentication метод AAA и настроив AAA Server Group, указать:
    1. Server Name or IP Address – IP-адрес RADIUS-интерфейса Avanpost FAM.
    2. Timeout - 60 seconds (при необходимости указать значение из диапазона от 60 до 120 секунд).
    3. Server Authentication Port – порт RADIUS-интерфейса Avanpost FAM (по умолчанию - 1812).
    4. Server Accounting Port – порт RADIUS-интерфейса Avanpost FAM (по умолчанию - 1812).
    5. Retry Interval – 10 seconds.
    6. Server Secret Key – секрет, который будет задан для IP-адреса сервера Cisco ASA/ASAv.
    7. ACL Netmask Convert - Standard.
    8. Common Password – оставить пустым.
    9. Microsoft CHAPv2 Capable – включено
  2. Выполнить применение изменений конфигурации (wr mem).

В административной консоли Avanpost FAM Server необходимо выполнить следующие действия:

  1. Зайти во вкладку создания приложения, нажав кнопку "Добавить приложение" в сервисе "Приложения".
  2. На этапе "Основные настройки" требуется ввести наименование и выбрать тип RADIUS (более подробно процесс создания и управления приложениями описан в разделах Управление приложениями и Управление RADIUS-приложениями).
  3. На вкладке "Настройки интеграции" установить следующие настройки (более настройки описаны в Шаг 2. Настройки интеграции для RADIUS-приложения):
    •  Флаг IP-адрес как идентификатор - включен ().
    • NAS IP (Source IP) – IP-адрес сервера Cisco ASA/ASAv.
    • Протокол аутентификации – PAP, CHAP или MSCHAPv2 (настроить в соответствии с требованиями безопасности эксплуатирующей организации).
    • Флаг Поддержка Access-Challenge – включен ().
  4. На вкладке "Настройки аутентификации" выбрать факторы аутентификации приложения, установив переключатели напротив тех или иных факторов (более подробно описано в Шаг 3. Настройки аутентификации для RADIUS-приложения).
  5. На этапе завершения настройки установить флажок "Сделать приложение активным" и сохранить (более подробно описано в Шаг 4. Завершение для RADIUS-приложения).

  6. Найти созданное приложение в реестре режима "Приложения" и войти в его профиль во вкладку "Настройки".
  7. В разделе настроек "Разделяемые секреты RADIUS" создать RADIUS-секрет, указав в качестве диапазона адресов один из следующих вариантов:
    1.  IP-адрес с маской подсети сервера Cisco ASA;
    2. Подсеть (диапазон IP-адресов), из которой обращается Cisco ASA.
  8. Создать новую группу. Для этого необходимо нажать кнопку "Добавить группу" в режиме "Группы" и в открывшейся вкладке ввести запрашиваемые параметры (более подробно в Добавление новых групп).

  9. Добавить в группу пользователей, которые будут аутентифицироваться в настроенных приложениях. Ручное добавление пользователей администратором реализуется в профиле группы. Также доступ пользователя к группам и ролям допускается редактировать в УЗ пользователя

  10. Назначить ранее созданное RADIUS-приложение в данную группу. Для этого в профиле группы во вкладке "Приложения" созданной группы установить переключатель в положение "Активно" () напротив созданного приложений.

Настройка c использованием SAML

До настройки интеграции следует проверить соблюдение следующих условий:

  1. Удостовериться в наличии сертификата и закрытого ключа, созданных при установке компонента FAM Server (путь к сертификату и закрытому ключу можно найти в параметрах cert и encryptionKey в файле /opt/idp/config.toml). Если сертификат был подписан ЦС, то необходимо установить корневой сертификат в Cisco ASA.
  2. Удостовериться, что настроен рабочий профиль AnyConnect VPN.

  3. Проверить синхронизацию времени на FAM Server и Cisco ASA
  4. Используется версия ПО Cisco ASA 9.7.1.24, 9.8.2.28, 9.9.2.1 и более поздние этих версий или 9.10 и более поздние этих версий.
  5. Используется версия ПО Cisco AnyConnect 4.6 и более поздние версии.

Настройка на стороне Cisco ASA

  1. Создание точки доверия и импорт сертификата
    1. Подключиться к хосту устройства с помощью telnet или SSH.
    2. Для получения доступа к конфигурационному терминалу ввести следующую команду:
      config t
    3. Для создания точки доверия ввести следующие команды в указанной последовательности:
      crypto ca trustpoint FAM
      enrollment terminal
      no ca-check
      crypto ca authenticate FAM
    4. Вести сертификат в кодировке Base64 из созданного ранее файла и написать с новой строки quit для завершения ввода.
  2. Настройка SAML IdP

    1. Для входа в конфигурацию веб-VPN необходимо ввести следующую команду в терминале конфигурации:
      WebVPN
    2. Для настройки точек доверия ввести:

      ciscoasa(config-webvpn-saml-idp)# trustpoint idp FAM
      ciscoasa(config-webvpn-saml-idp)# trustpoint sp <trust_sp_>
    3. Перейти по ссылке: https://${baseUrl}/.well-known/samlidp.xml для получения следующих значений: entityID, SingleSignOnService, SingleLogoutService.
    4. Ввести в терминале конфигурации команды со значениями, которые были получены на предыдущем шаге:
      ciscoasa(config-webvpn-saml-idp)# saml idp <entityID>
      ciscoasa(config-webvpn-saml-idp)# url sign-in https://<baseUrl>/saml2
      ciscoasa(config-webvpn-saml-idp)# url sign-out https://<baseUrl>/saml2/logout

      Примечание

      <baseUrl> - базовый адрес FAM Server.

    5. Настроить базовый URL-адрес (без клиента):
      ciscoasa(config-webvpn-saml-idp)# base-url https://<your_base_URL_of_VPN>
    6. Настроить подпись запроса SAML:
      ciscoasa(config-webvpn-saml-idp)# signature
    7. Настроить тайм-аут:
      ciscoasa(config-webvpn-saml-idp)# timeout assertion 7200

      Проверить настройки можно с помощью команды show webvpn saml idp.

  3. Настройте IdP для туннельной группы и включите аутентификацию SAML

    1. Настроить IdP для туннельной группы и включить аутентификацию SAML, введя следующих команды:

      ciscoasa(config) webvpn
      ciscoasa(config-webvpn)# tunnel-group-list enable
      ciscoasa(config-webvpn)# tunnel-group <TunnelGroupName> type remote-access
      ciscoasa(config)# tunnel-group <TunnelGroupName> webvpn-attributes
      ciscoasa(config-tunnel-webvpn)# authentication saml
      ciscoasa(config-tunnel-webvpn)# group-alias FAM_idp enable

Настройка на стороне MFA+/FAM

  1. Необходимо зайти в консоль администратора и создать приложение типа SAML:
  2. На шаге "Настройка интеграции" заполнить все поля следующим образом:



    Issuerhttps://<vpn_base_url>/saml/sp/metadata/<TunnelGroupName>
    ACShttps://<vpn_base_url>/+CSCOE+/saml/sp/acs?tgname=<TunnelGroupName>
    Базовый URLhttps://<vpn_base_url>/<TunnelGroupName>
    Logouthttps://<vpn_base_url> /+CSCOE+/saml/sp/logout
    NameID FormatВыбрать "Постоянный"
    Значение NameIDИмя пользователя

    Примечание

    <TunnelGroupName> - это имя, которое было задано при создании профиля Cisco ASA Anyconnect SAML.


  3. Значения Issuer, ACS, Logout можно получить с помощью следующей команды:
    show saml metadata <TunnelGroupName>

    Примечание

    В entityID подставляется значение Issuer.

    Разделе KeyDescriptor: строка AssertionconsumerService, параметр location - значение ACS.

    Разделе KeyDescriptor: строка SingleLogoutService, параметр location - значение Logout.


  4. На шаге "Настройка аутентификации" добавить необходимые шаги и факторы, если настраивается новый процесс аутентификации или выбрать существующий процесс аутентификации.
  5. На шаге "Завершение" сохранить приложение, делая или не делая его активным сразу после создания.

    Примечание

    Для просмотра и изменения параметров интеграции следует зайти в раздел настройки профиля приложения.


Проверка настройки

  1. Запустить клиент Cisco AnyConnect.
  2. Указать логин и пароль.
  3. Выполнить дополнительную аутентификацию в соответствии с настроенным сценарием аутентификации.

В результате пользователь должен быть успешно подключен к VPN.

Сценарии использования

Загрузка пользователей Cisco AnyConnect из домена (LDAP)

Чтобы пользователи из домена смогли проходить 2FA при подключении к Cisco AnyConnect, необходимо использовать встроенную в Avanpost FAM функциональность интеграции с LDAP-каталогами (Microsoft Active Directory, FreeIPA, 389Directory, openldap и т. д.). В рамках этой функции можно настроить LDAP-фильтры, которые позволят обеспечить загрузку в Avanpost FAM только тех пользователей, которые будут использовать Cisco AnyConnect. Таким образом можно подключить несколько доменов.

Контроль попыток аутентификации пользователей к Cisco AnyConnect через Avanpost FAM

Для контроля попыток аутентификации необходимо использовать журнал событий безопасности, доступный в административном интерфейсе системы и посредством syslog.

Управление доступом пользователей к Cisco AnyConnect через Avanpost FAM

Для предоставления доступа пользователю его необходимо включить в группу, которая имеет доступ к созданному приложению. Также можно реализовать автоматическое включение/исключение пользователя из группы в рамках синхронизации с LDAP-каталогом.

Для отзыва доступа у пользователя необходимо исключить его из группы, которая имеет доступ к созданному приложению.

Управление доступом пользователей к Cisco AnyConnect через домен (LDAP)

Avanpost FAM в рамках интеграции с LDAP-каталогом (Microsoft Active Directory, FreeIPA, 389Directory, openldap и т.д.) обеспечивает автоматизацию управления членством пользователей в группах Avanpost FAM путём синхронизации членства пользователей в группах Avanpost FAM на основе членства пользователей домена в доменных группах.

Управление вторым фактором (2FA) для Cisco AnyConnect через Avanpost FAM

Для настройки второго фактора, который будет использоваться для приложения Cisco ASA/ASAv, необходимо перейти в административной консоли в карточку приложения на вкладку «MFA». В качестве первого шага аутентификации необходимо указать метод – Password. В качестве второго шага можно выбрать один из следующих факторов:

  • Мобильное приложение Avanpost Authenticator;
  • Мобильное приложение SafeTech PayControl (не поддерживает привязку в режиме диалога);
  • TOTP;
  • SMS;
  • E-mail;
  • Мессенджер Telegram.

Управление вторым фактором (2FA) для отдельных групп сотрудников, подключающихся к Cisco AnyConnect, через Avanpost FAM

Необходимо в административной консоли Avanpost FAM перейти в карточку группы на вкладку «MFA» и настроить дополнительный сценарий аутентификации. Пользователи, входящие в указанную группу, будут проходить аутентификацию с использованием второго фактора, заданного на указанной вкладке. Таким образом можно определить специфический сценарий 2FA для администраторов и других привилегированных пользователей, подключающихся к Cisco AnyConnect.

Аутентификация в Cisco AnyConnect пользователя без настроенного второго фактора (2FA)

Если у пользователя не привязан аутентификатор, обязательный для подключения к Cisco AnyConnect, то система предложит выполнение привязки в рамках диалога для следующих аутентификаторов:

  • Мобильное приложение Avanpost Authenticator;
  • TOTP;
  • SMS;
  • E-mail.

По результатам выполнения привязки аутентификатора система запросит у пользователя аутентификацию с использованием этого же аутентификатора.

Изменение метода проверки пароля в рамках RADIUS для Cisco AnyConnect

Для Cisco ASA/ASAv доступны следующие RADIUS-методы проверки пароля RADIUS-сервера Avanpost FAM:

  • PAP;
  • CHAP;
  • MSCHAPv2.

Метод проверки пароля MSCHAPv2 требует наличия включенного на стороне Cisco ASA/ASAv флага Microsoft CHAPv2 Capable. 

Приложение А. Настройка передачи групп в Cisco ASA

Атрибуты для ASA  https://github.com/redBorder/freeradius/blob/master/share/dictionary.cisco.asa

Словарь VSA:

  • вендор - Cisco-ASA
  • код вендора - 3076
ИмяКод Тип Множ.знач
ASA-Member-Of145string V

           

Настройки словаря VSA     


Приложение Cisco-ASA -> VSA:

ИмяТип
ASA-Member-Of Группы пользователя

Настройка вычисления VSA


В настройках DAP установить критерий на ASA:

radius.4241 = DL-FAM-VPN_Users

где 4241 – это 145+4096.

Обсуждение