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

от автора

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

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

ссылка на оригинал статьи http://habrahabr.ru/post/271113/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *