Двухфакторная аутентификация для Cisco ASA VPN
Описание
При подключении к VPN через Cisco AnyConnect пользователи проходят двухэтапную проверку: вводят логин и пароль (первый фактор) и подтверждают вход вторым фактором.
ASA передаёт запрос на проверку первого фактора по протоколу RADIUS в локальный инстанс Simple2FA; он же запрашивает у пользователя подтверждение вторым фактором.
Схема работы:
- Пользователь запускает AnyConnect и вводит логин и пароль (первый фактор).
- Cisco ASA направляет запрос аутентификации через RADIUS на локальный инстанс Simple2FA.
- Локальный инстанс проверяет логин и пароль по AD/LDAP или другому поставщику учётных записей.
- При успешной проверке первого фактора запрашивается подтверждение вторым фактором.
- Пользователь подтверждает второй фактор.
- После успешной проверки обоих факторов доступ к VPN разрешается.
Подготовка в Simple2FA
Войдите в панель администратора локального инстанса, перейдите в раздел «Настройка ресурсов» и создайте новый ресурс:
| Поле | Значение |
|---|---|
| Название | Cisco AnyConnect VPN (или любое удобное) |
| Протокол | RADIUS |
| NAS ID | Создаётся автоматически, но Cisco ASA его не передаёт — для этого ресурса он не работает, настраивать ничего не нужно |
| NAS IP | IP-адрес ASA, с которого приходят RADIUS-запросы (несколько адресов — через ;, порт указывать не нужно). Для Cisco ASA это единственный признак, по которому сервер узнаёт ресурс |
| Shared Secret | Общий секрет для настроек RADIUS на стороне ASA. Создаётся автоматически |
| Проверять первый фактор | Включить |
| Поставщики учётных записей | Один или несколько каталогов, в которых проверяется первый фактор |
| Использовать кеширование сессий | Включить, если после успешного входа второй фактор не должен запрашиваться повторно в течение указанного времени |
| Длительность кеша | Рекомендуемое значение — 60 минут |
Cisco ASA не отправляет NAS-Identifier
Остальное сетевое оборудование представляется серверу по NAS ID, а Cisco ASA этот атрибут не передаёт — ресурс определяется только по IP-адресу RADIUS-клиента. Пока ASA единственный ресурс на своём порту, сервер найдёт его и так. Но стоит добавить на тот же порт второй ресурс — без заполненного «NAS IP» запросы перестанут различаться.
В глобальных настройках убедитесь, что указан корректный API-ключ организации для связи локального инстанса с облаком.
Настройка Cisco ASA
- Выберите подключение, для которого требуется двухфакторная аутентификация.
- Нажмите Edit → Basic.
- В разделе Authentication нажмите Manage.
- В разделе AAA Server Groups нажмите Add и создайте новую группу серверов:
- название: например,
SIMPLE2FA; - протокол: RADIUS.
- название: например,
- Добавьте в группу новый сервер:
- IP-адрес: адрес локального инстанса Simple2FA;
- Server Secret Key: Shared Secret из карточки ресурса Simple2FA;
- Timeout: 40–60 секунд — время на подтверждение второго фактора;
- снимите флажок Microsoft CHAPv2 Capable.
- Сохраните настройки и закройте окно.
- В разделе Authentication укажите для профиля VPN созданную группу
SIMPLE2FA.
aaa-server SIMPLE2FA protocol radius
aaa-server SIMPLE2FA (inside) host <IP-адрес локального Simple2FA>
key <Shared Secret>
timeout 60
tunnel-group <ANYCONNECT-PROFILE> type remote-access
tunnel-group <ANYCONNECT-PROFILE> general-attributes
authentication-server-group SIMPLE2FA
address-pool VPN_POOL
tunnel-group <ANYCONNECT-PROFILE> webvpn-attributes
group-alias VPN enable
ip local pool VPN_POOL 192.168.1.1-192.168.1.10 mask 255.255.255.0
Проверка работы
- Подключитесь AnyConnect к тестовому профилю.
- Введите логин и пароль (первый фактор).
- Дождитесь запроса второго фактора.
- Подтвердите вход.
- После подтверждения доступ к VPN будет разрешён.
Результат каждой попытки входа доступен в панели администратора, в разделе «Попытки авторизации».
Если что-то не работает
Включите режим отладки RADIUS в карточке ресурса: в нём видно, слушает ли порт и что приходит в запросах от ASA. Если запросов нет — проверьте маршрутизацию и правила межсетевого экрана между ASA и локальным инстансом.