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

7646fbc1a4eb4f7998d51bb121a315e3.jpg

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

Внедрение аутентификации удаленных пользователей по принципу «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.

    5924067bda4040aea93844ecb63c88f8.jpg

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

    69f6a376b91c4e9a8dd0bc641ca88e61.jpg

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

    ebc4d89c8cb54b8ea1a3c1ad619e9ec1.jpg

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

    Также нужно создать учетную запись для активации сервера.
    f52fda17fa164212901495affaf25d34.jpg
    Для установки данного сервера понадобится .NET Framework 2.0.

    Важно: Устанавливать рекомендуется на отдельную VM. При установке пропускаем мастер настройки.
    Функции сервера: синхронизация пользователей с AD, RADIUS server для Cisco ASA, отправка запросов на авторизацию по второму фактору, прием и обработка ответов от клиентов, авторизация пользователей. Может устанавливаться как на серверные версии, так и на клиентские.

  4. При первом запуске активируем с помощью ранее сгенерированной учетной записи (от репликации на данном этапе отказываемся).
  5. Настраиваем интеграцию пользователей между AD и нашим сервером. Во вкладке Directory Integration добавляем каталог, который будет синхронизироваться с AD и настраиваем параметры синхронизации:

    eb3eae63d12346fc80dab672a1a148b9.jpg

    5c79654a79064d8ca9fc3edcc5cf0141.jpg

  6. В AD создаем пользователя и синхронизируем Базу пользователей с MFAS:
    а) создаем тестового пользователя и указываем номер телефона:
    216ff1d2fdae42be883b6899dbab0621.jpg
    б) Сохраняем, нажимаем кнопку «Test…» во вкладке Users. Вводим учетные данные пользователя:
    59baf89068b24106a4f99b26ec6fa9b5.jpg
    в) На указанный телефон получаем звонок, нажимаем »#». Об успешном завершении теста свидетельствует сообщение:
    0822b6e3e0bf4046b03045ee27cc13aa.jpg
    Также проверить авторизацию можно через SMS. Для этого, в настройках клиента, необходимо указать способ авторизации Text message — One-Way — OTP. В данном случае MFAS запросит OTP, который в виде SMS придет Вам на телефон.
    6ddcd4a191e24e71bdf876036c303056.jpg

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

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

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

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

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

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

    Также в разделе pfup, параметр http://localhost:4898/PfWsSdk.asmx изменяем по аналогии с User Portal — https://EXTERNALFQDN/MultiFactorAuthWebServiceSDK/PfWsSdk.asmx . В нашем случае «EXTERNALFQDN» — это mfa.servilon.com

    Стоит отметить, что для работы User Portal необходимо:
    — Запись во внешней DNS зоне, которая будет указывать на User Portal.
    — Доверительные отношения с сервером. В идеале — это «белый» сертификат выписанный для «EXTERNALFQDN».


  7. После установки и настройки, для корректной работы User Portal, вводим URL на портал во вкладке «User Portal» и, если авторизация для доменных пользователей, указываем Primary authentication — Windows Domain.
    2d0f8170a5cf4f0ab752c4aa82627a3b.jpg
  8. Во вкладке Mobile App вводим URL Mobile App Web Service и устанавливаем галочку Enable OATH tokens, если хотим использовать мобильное устройство как Software token.

    Принцип работы APP:

    • В режиме Token
      922c3fceb04a4dfd9939624688b452d6.jpg
    • В стандартном режиме без PIN
      3a0654ab5530493d9a9e02448968d1c5.jpg

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

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


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

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

    Проверка на сервере:
    12944a457fce4803b79730711bebd684.jpg

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

Настройка Radius


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

b3cdbcdc06e7475d936b630b32f5a0e4.jpg

Настройка CISCO ASA


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


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

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

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

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

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

Настройка профиля:

  1. Сменить таймаут:
    a14cef18e8014143aa9cdb914feb2c5e.jpg
  2. Указать FQDN для Anyconnect gateway.
    ef121bd5697e4fa48b63ee6745aae36e.jpg

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

a389d8acbdeb442582790b481b3c5b72.jpg

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

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

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

В данной статье рассмотрен пример настройки двухфакторной аутентификации пользователей для приложения Cisco AnyConnect, но данная схема может быть реализована для любых сервисов, поддерживающих аутентификацию посредством протокола Radius.

© Habrahabr.ru