Общие сведения
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 для аутентификации:
- Пользователь, желающий подключит к VPN, вводит логин и пароль в Cisco AnyConnect.
- Cisco AnyConnect подключается к VPN-серверу Cisco ASA/ASAv.
- Cisco ASA по протоколу RADIUS подключается к службе RADIUS Avanpost FAM, выполняет проверку логина и пароля по одному из настроенных методов аутентификации RADIUS-протокола.
- Если для Cisco ASA настроена проверка дополнительных факторов аутентификации, то Cisco AnyConnect запрашивает у пользователя проверку этих факторов в режиме диалога, либо в фоновом режиме.
- После успешной проверки аутентификаторов в соответствии с настроенным сценарием пользователь подключается к VPN.
Для Cisco AnyConnect в качестве второго фактора (2FA) возможно использование следующих методов аутентификации:
Через клиент Cisco AnyConnect доступна первичная настройка аутентификаторов для тех пользователей, у которых настройка не была выполнена:
- Мобильное приложение Avanpost Authenticator;
- TOTP;
- SMS;
- E-mail.
Для выполнения настройки 2FA в Cisco AnyConnect в соответствии с инструкцией необходимо выполнить следующие предварительные условия:
- Установить в сети Cisco ASA/ASAv, выполнить настройку VPN-сервера.
- Установить АРМ с клиентом Cisco AnyConnect, который может выполнить подключение по VPN через Cisco ASA/ASAv.
- Установить в сети компонент Avanpost FAM Server.
Если необходима аутентификация через:
- Мобильное приложение Avanpost Authenticator, то установить компонент Avanpost FAM Mobile Services.
- Мобильное приложение SafeTech PayControl, то установить сервер SafeTech PayControl.
- SMS, то настроить подключение к внешнему SMS-шлюзу, который предоставляет услугу доставки SMS-сообщений.
- E-mail, то настроить подключение к SMTP-шлюзу, который обеспечивает доставку почтовых сообщений.
- 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 необходимо выполнить следующие настройки:
- Настроить
Connection profile
дляRemote Access VPN
, указав дляConnection Profile
в секцииAuthentication
методAAA
и настроивAAA Server Group
, указать:Server Name or IP Address
– IP-адрес RADIUS-интерфейса Avanpost FAM.Timeout
-60 seconds
(при необходимости указать значение из диапазона от 60 до 120 секунд).Server Authentication Port
– порт RADIUS-интерфейса Avanpost FAM (по умолчанию -1812
).Server Accounting Port
– порт RADIUS-интерфейса Avanpost FAM (по умолчанию -1812
).Retry Interval –
10 seconds
.Server Secret Key
– секрет, который будет задан для IP-адреса сервера Cisco ASA/ASAv.ACL Netmask Convert
-Standard
.Common Password
– оставить пустым.Microsoft CHAPv2 Capable
– включено
- Выполнить применение изменений конфигурации (
wr mem
).
В административной консоли Avanpost FAM Server необходимо выполнить следующие действия:
- Зайти во вкладку создания приложения, нажав кнопку "Добавить приложение" в сервисе "Приложения".
- На этапе "Основные настройки" требуется ввести наименование и выбрать тип RADIUS (более подробно процесс создания и управления приложениями описан в разделах Управление приложениями и Управление RADIUS-приложениями).
- На вкладке "Настройки интеграции" установить следующие настройки (более настройки описаны в Шаг 2. Настройки интеграции для RADIUS-приложения):
- Флаг
IP-адрес как идентификатор
- включен (). NAS IP (Source IP) –
IP-адрес сервера Cisco ASA/ASAv.Протокол аутентификации
–PAP
,CHAP
илиMSCHAPv2
(настроить в соответствии с требованиями безопасности эксплуатирующей организации).- Флаг
Поддержка Access-Challenge
– включен ().
- Флаг
- На вкладке "Настройки аутентификации" выбрать факторы аутентификации приложения, установив переключатели напротив тех или иных факторов (более подробно описано в Шаг 3. Настройки аутентификации для RADIUS-приложения).
На этапе завершения настройки установить флажок "Сделать приложение активным" и сохранить (более подробно описано в Шаг 4. Завершение для RADIUS-приложения).
- Найти созданное приложение в реестре режима "Приложения" и войти в его профиль во вкладку "Настройки".
- В разделе настроек "Разделяемые секреты RADIUS" создать RADIUS-секрет, указав в качестве диапазона адресов один из следующих вариантов:
- IP-адрес с маской подсети сервера Cisco ASA;
- Подсеть (диапазон IP-адресов), из которой обращается Cisco ASA.
Создать новую группу. Для этого необходимо нажать кнопку "Добавить группу" в режиме "Группы" и в открывшейся вкладке ввести запрашиваемые параметры (более подробно в Добавление новых групп).
Добавить в группу пользователей, которые будут аутентифицироваться в настроенных приложениях. Ручное добавление пользователей администратором реализуется в профиле группы. Также доступ пользователя к группам и ролям допускается редактировать в УЗ пользователя.
Назначить ранее созданное RADIUS-приложение в данную группу. Для этого в профиле группы во вкладке "Приложения" созданной группы установить переключатель в положение "Активно" () напротив созданного приложений.
Настройка c использованием SAML
До настройки интеграции следует проверить соблюдение следующих условий:
- Удостовериться в наличии сертификата и закрытого ключа, созданных при установке компонента FAM Server (путь к сертификату и закрытому ключу можно найти в параметрах cert и encryptionKey в файле /opt/idp/config.toml). Если сертификат был подписан ЦС, то необходимо установить корневой сертификат в Cisco ASA.
Удостовериться, что настроен рабочий профиль AnyConnect VPN.
- Проверить синхронизацию времени на FAM Server и Cisco ASA
- Используется версия ПО Cisco ASA 9.7.1.24, 9.8.2.28, 9.9.2.1 и более поздние этих версий или 9.10 и более поздние этих версий.
- Используется версия ПО Cisco AnyConnect 4.6 и более поздние версии.
Настройка на стороне Cisco ASA
- Создание точки доверия и импорт сертификата
- Подключиться к хосту устройства с помощью telnet или SSH.
- Для получения доступа к конфигурационному терминалу ввести следующую команду:
config t
- Для создания точки доверия ввести следующие команды в указанной последовательности:
crypto ca trustpoint FAM enrollment terminal no ca-check crypto ca authenticate FAM
- Вести сертификат в кодировке Base64 из созданного ранее файла и написать с новой строки quit для завершения ввода.
Настройка SAML IdP
- Для входа в конфигурацию веб-VPN необходимо ввести следующую команду в терминале конфигурации:
WebVPN
Для настройки точек доверия ввести:
ciscoasa(config-webvpn-saml-idp)# trustpoint idp FAM ciscoasa(config-webvpn-saml-idp)# trustpoint sp <trust_sp_>
- Перейти по ссылке: https://${baseUrl}/.well-known/samlidp.xml для получения следующих значений: entityID, SingleSignOnService, SingleLogoutService.
- Ввести в терминале конфигурации команды со значениями, которые были получены на предыдущем шаге:
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.
- Настроить базовый URL-адрес (без клиента):
ciscoasa(config-webvpn-saml-idp)# base-url https://<your_base_URL_of_VPN>
- Настроить подпись запроса SAML:
ciscoasa(config-webvpn-saml-idp)# signature
- Настроить тайм-аут:
ciscoasa(config-webvpn-saml-idp)# timeout assertion 7200
Проверить настройки можно с помощью команды show webvpn saml idp.
- Для входа в конфигурацию веб-VPN необходимо ввести следующую команду в терминале конфигурации:
Настройте IdP для туннельной группы и включите аутентификацию SAML
Настроить 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
- Необходимо зайти в консоль администратора и создать приложение типа SAML:
- На шаге "Настройка интеграции" заполнить все поля следующим образом:
Issuer https://<vpn_base_url>/saml/sp/metadata/<TunnelGroupName> ACS https://<vpn_base_url>/+CSCOE+/saml/sp/acs?tgname=<TunnelGroupName> Базовый URL https://<vpn_base_url>/<TunnelGroupName> Logout https://<vpn_base_url> /+CSCOE+/saml/sp/logout NameID Format Выбрать "Постоянный" Значение NameID Имя пользователя Примечание
<TunnelGroupName> - это имя, которое было задано при создании профиля Cisco ASA Anyconnect SAML.
- Значения Issuer, ACS, Logout можно получить с помощью следующей команды:
show saml metadata <TunnelGroupName>
Примечание
В entityID подставляется значение Issuer.
Разделе KeyDescriptor: строка AssertionconsumerService, параметр location - значение ACS.
Разделе KeyDescriptor: строка SingleLogoutService, параметр location - значение Logout.
- На шаге "Настройка аутентификации" добавить необходимые шаги и факторы, если настраивается новый процесс аутентификации или выбрать существующий процесс аутентификации.
- На шаге "Завершение" сохранить приложение, делая или не делая его активным сразу после создания.
Примечание
Для просмотра и изменения параметров интеграции следует зайти в раздел настройки профиля приложения.
Проверка настройки
- Запустить клиент Cisco AnyConnect.
- Указать логин и пароль.
Выполнить дополнительную аутентификацию в соответствии с настроенным сценарием аутентификации.
В результате пользователь должен быть успешно подключен к 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-Of | 145 | string | V |
Настройки словаря VSA
Приложение Cisco-ASA -> VSA:
Имя | Тип |
---|---|
ASA-Member-Of | Группы пользователя |
Настройка вычисления VSA
В настройках DAP установить критерий на ASA:
radius.4241 = DL-FAM-VPN_Users
где 4241 – это 145+4096.