Реализация концепции высокозащищенного удаленного доступа

Продолжая серию статьей по теме организации Remote-Access VPN доступа не могу не поделиться интересным опытом развертывания высокозащищенной конфигурации VPN. Задачу нетривиальную подкинул один заказчик (есть выдумщики в Русских селениях), но Challenge Accepted и творчески реализован. В результате получился интересный концепт со следующими характеристиками:


  1. Несколько факторов защиты от подмены оконечного устройства (с жесткой привязкой к пользователю);
    • Оценка соответствия ПК пользователя назначенному UDID разрешенного ПК в базе аутентификации;
    • С MFA, использующей UDID ПК из сертификата для вторичной аутентификации через Cisco DUO (Можно прикрутить любую SAML/Radius совместимую);
  2. Многофакторной аутентификацией:
    • Сертификат пользователя с проверкой полей и вторичной аутентификации по одному из них;
    • Логин (неизменяемый, взятый из сертификата) и пароль;
  3. Оценкой состояния, подключающегося хоста (Posture)

Используемые компоненты решения:


  • Cisco ASA (Шлюз VPN);
  • Cisco ISE (Аутентификация / Авторизация / Аккаунтинг, Оценка Состояния, CA);
  • Cisco DUO (Многофакторная Аутентификация) (Можно прикрутить любую SAML/Radius совместимую);
  • Cisco AnyConnect (Многоцелевой агент для рабочих станций и мобильных ОС);

Начнем с требований заказчика:


  1. Пользователь должен по своей аутентификации Логин/Пароль иметь возможность скачать AnyConnect клиент с VPN шлюза, все необходимые модули AnyConnect должны автоматически ставиться в соответствии с политикой пользователя;
  2. Пользователь должен иметь возможность автоматической выписки сертификата (для одного из сценариев, основной же сценарий – ручная выписка и заливка на ПК), я же реализовал автовыписку для демонстрации (убрать никогда не поздно).
  3. Основная аутентификация должна проходить в несколько этапов, сначала идет аутентификация сертификата с анализом необходимых полей и их значений, далее логин/пароль, только на этот раз в окно логина должно подставляться имя пользователя, указанное в поле сертификата Subject Name (CN) без возможности редактирования.
  4. Необходимо убедиться, что устройство, с которого производится вход это выданный пользователю для удаленного доступа корпоративный ноутбук, а не что-либо иное. (Сделано несколько вариантов удовлетворения этого требования)
  5. Должна проводиться оценка состояния подключающегося устройства (на этом этапе ПК) с проверкой целой здоровенной таблицы требований заказчика (обобщая):
    • Файлы и их свойства;
    • Записи реестра;
    • Патчи ОС из предоставляемого списка (в дальнейшем интеграция SCCM);
    • Наличие Антивируса определенного производителя и актуальность сигнатур;
    • Активность определенных сервисов;
    • Наличие определенных установленных программ;

Для начала я предлагаю в обязательном порядке посмотреть на видео-демонстрацию получившейся реализации на Youtube (5 минут).