Pull to refresh

Двухфакторная аутентификация клиентов AnyConnect. Active Directory и Azure Multi-Factor Authentication Server

Reading time 5 min
Views 20K


Уже практически ни у кого не вызывает вопросов то, зачем нужна двух факторная аутентификация, особенно при доступе к ресурсам удаленных пользователей. Априори пользователь относится достаточно безответственно к хранению паролей защищающих рабочую информацию, что и не удивительно, учитывая сколько личных паролей приходится помнить и приоритеты обычного человека в плане защиты личной или рабочей информации.

Внедрение аутентификации удаленных пользователей по принципу «something I know+ something I have” позволяет сделать атаку, направленную на перехват или подбор паролей, бессмысленной и значительно снизить угрозы ИБ от получения злоумышленником пароля пользователя.

Представляю Вам руководство по настройке Microsoft Azure Multi-Factor Authentication Server (MFAS) в качестве второго фактора аутентификации при подключение доменных пользователей к ресурсам компании посредством Cisco AnyConnect.

Почему именно MS Azure?


  1. Лучшая интеграция с AD, что очень удобно, когда для VPN используется та же учетная запись, что и для остальных ресурсов.
  2. Разные типы аутентификации, звонок, SMS приложение и офлайн OTP код.
  3. Простота настройки.
  4. Высокая надежность и доверие.

Из минусов, наверное, стоит отметить только то, что это платное решение, но безопасность никогда и не бывает дешевой.

Настройка Microsoft Azure


Приведенные ниже шаги предполагают, что у Вас имеется подписка или же установлена триальная версия Microsoft Azure.
Перейдем непосредственно к настройке:
  1. Заходим на портал управления Azure.


  2. Переходим на вкладку Active Directory -> Поставщики многофакторной проверки подлиности -> Быстрое создание. Указываем необходимые параметры и далее «создать».



    После создания, будет доступна кнопка «Управление», переходим:


  3. Переходим в загрузки. Скачиваем MULTI-FACTOR AUTHENTICATION SERVER.

    Также нужно создать учетную запись для активации сервера.

    Для установки данного сервера понадобится .NET Framework 2.0.
    Важно: Устанавливать рекомендуется на отдельную VM. При установке пропускаем мастер настройки.
    Функции сервера: синхронизация пользователей с AD, RADIUS server для Cisco ASA, отправка запросов на авторизацию по второму фактору, прием и обработка ответов от клиентов, авторизация пользователей. Может устанавливаться как на серверные версии, так и на клиентские.
  4. При первом запуске активируем с помощью ранее сгенерированной учетной записи (от репликации на данном этапе отказываемся).
  5. Настраиваем интеграцию пользователей между AD и нашим сервером. Во вкладке Directory Integration добавляем каталог, который будет синхронизироваться с AD и настраиваем параметры синхронизации:



  6. В AD создаем пользователя и синхронизируем Базу пользователей с MFAS:
    а) создаем тестового пользователя и указываем номер телефона:

    б) Сохраняем, нажимаем кнопку «Test..» во вкладке Users. Вводим учетные данные пользователя:

    в) На указанный телефон получаем звонок, нажимаем «#». Об успешном завершении теста свидетельствует сообщение:

    Также проверить авторизацию можно через SMS. Для этого, в настройках клиента, необходимо указать способ авторизации Text message – One-Way – OTP. В данном случае MFAS запросит OTP, который в виде SMS придет Вам на телефон.


    Для того, что бы связать пользователя с мобильным устройством, на котором установлен Azure Authenticator, понадобится развернуть и настроить User Portal (Инструкция по установке и настройке User Portal).

    Так же необходимо дополнительно установить и настроить Mobile Portal:

    а) Переходим в директорию C:\Program Files\Multi-Factor Authentication Server


    б) Выбираем необходимую версию и устанавливаем.

    в) После установки редактируем файл:
    С:\Inetpub\wwwroot\MultiFactorAuthMobileAppWebService\Web.conf
    Находим параметры:
    WEB_SERVICE_SDK_AUTHENTICATION_USERNAME
    WEB_SERVICE_SDK_AUTHENTICATION_PASSWORD

    И меняем значения аналогично параметрам User Portal.

    Также в разделе pfup, параметр <valuе>http://localhost:4898/PfWsSdk.asmx </valuе> изменяем по аналогии с User Portal — <valuе>https://EXTERNALFQDN/MultiFactorAuthWebServiceSDK/PfWsSdk.asmx </valuе>. В нашем случае «EXTERNALFQDN» — это mfa.servilon.com
    Стоит отметить, что для работы User Portal необходимо:
    – Запись во внешней DNS зоне, которая будет указывать на User Portal.
    – Доверительные отношения с сервером. В идеале — это «белый» сертификат выписанный для «EXTERNALFQDN».

  7. После установки и настройки, для корректной работы User Portal, вводим URL на портал во вкладке «User Portal» и, если авторизация для доменных пользователей, указываем Primary authentication – Windows Domain.

  8. Во вкладке Mobile App вводим URL Mobile App Web Service и устанавливаем галочку Enable OATH tokens, если хотим использовать мобильное устройство как Software token.

    Принцип работы APP:
    • В режиме Token

    • В стандартном режиме без PIN


  9. После того как портал настроен, для привязки мобильного устройства, переходим по ссылке User Portal, в данном случае https://mfa.servilon.com/multifactorauth

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

  10. В меню Activate Mobile App переходим в Generate Activation Code. Генерируем новый код активации и в результате получаем:


    На мобильном устройстве должно быть установлено приложение Azure Authenticator (ссылки для iOS, Android и Windows Mobile).
    Запускаем приложение – нажимаем + и считываем QR код. В результате учетная запись подвязывается к мобильному устройству:


    Проверка на сервере:


    Теперь можно поэкспериментировать с различными режимами аутентификации и посмотреть, в чем же отличие режима Standard от «OATH token».



Настройка Radius


Для аутентификации пользователей AnyConnect Cisco ASA может использовать сторонний Radius сервер. Для этого на ASA необходимо настроить AAA Server, а на MFAS настроить Radius клиент:




Настройка CISCO ASA


Так как используется доменная аутентификация, ASA должна иметь доверительные отношения с доменом. А также рекомендуется использовать «белый» сертификат для VPN gateway. В нашем случае – vpn.servilon.co

На ASA рекомендуем настроить AnyConnect VPN gateway с локальной аутентификацией. Убедиться, что подключение работает, после чего приступить к настройке аутентификации через Radius.

После чего настраиваем RADIUS. Переходим на Configuration / Remote Access VPN / AAA/Local Users / AAA Server Groups и создаем группу:


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


Тестируем связку с RADIUS сервером:


При успешном тесте, на ранее настроенном «AnyConnect Connection Profiles» меняем аутентификацию с локальной на новую группу:


Настройка профиля:
  1. Сменить таймаут:

  2. Указать FQDN для Anyconnect gateway.



Для того, чтобы протестировать подключение с аутентификацией в стандартном режиме и режиме OATH token, подключаемся к FQDN и вводим доменные учетные данные:



Получаем запрос на ввод кода с мобильного приложения:


Если же используется стандартный режим без PIN, то в приложение придет запрос на подтверждение аутентификации:


После проверки второго фактора происходит аутентификация пользователя. Аутентификация успешна:


В данной статье рассмотрен пример настройки двухфакторной аутентификации пользователей для приложения Cisco AnyConnect, но данная схема может быть реализована для любых сервисов, поддерживающих аутентификацию посредством протокола Radius.
C уважением коллектив компании Servilon
Tags:
Hubs:
+8
Comments 13
Comments Comments 13

Articles