В последнее время много новостей о том, что 2FA (двухфакторная аутентификация) в опасности из-за качественно выполненных фейковых страниц. Конечно, 2FA бывают разные. В некоторых "особо продвинутых" европейских банках до сих пор пор можно разжиться листиком с одноразовыми TAN-кодами.
Но уже несколько лет как индустрия не стоит на месте, и вместо одноразовых TAN/PIN-кодов прилетающих по SMS или через приложения типа RSA Token, Steam Guard, Google Authenticator есть и другие варианты.
Вот видео, нас интересует самый первый сценарий. Что происходит?
Я понимаю, что теперь могут возникнуть и другие вопросы, поэтому
* Работает это не только для веб-сайтов, но и для десктопных и мобильных приложений. Типичный пример в бизнес-среде: приложения из MS Office 2013+ (реально 2010+, но там всё было очень кривенько).
* Стандартам и протоколам для интеграции с системами IAM/SSO (SAML, OAuth, OpenID Connect) уже много лет, за ними стоят такие гиганты как Google, Facebook и представители OpenSource сообщества. Есть куча библиотек, SDK и т.д. Так что не интегрируется только ленивый.
* Интеграция подразумевает обмен сертификатами между SSO/IAM и приложением - удачи в подделке
* Нормальные и продвинутые системы позволяют гибко настраивать параметры 2FA
* Таким образом можно реализовать интересные сценарии. Например, тот же доступ к финансовому приложению:
* Обратите внимание, что при таком подходе пользователь, даже находясь на новогодней корпоративной вечеринке, сразу увидит, если кто-то пытается доступиться к его ресурсам.
Но вместо того, чтобы рвать на себе волосы достаточно просто отклонить запрос на доступ и продолжать пить отдыхать, а уже после ИБ по логам разберется.
* Также, нигде не фигурирует реальный пароль пользователя, и ничто не пишется в веб-страницу/приложение - фейковое или реальное
* Разрешение (SAML Assertion) подписано ЭЦП системы IAM и действительно только для этой сессии - просто так не подделать
* Разрещение может содержать дополнительные параметры доступа: роль, ограничения (закрытие определенных разделов портала), временное окно для реаутентификации и т.д.
* И что тоже очень полезно (но должно поддерживаться с обеих сторон) - Just in time Provisioning - т.е. динамическое создание аккаунта в приложении.
Если в компанию пришло 10 человек, и каждому нужно создать 10 аккаунтов - какова вероятности, что админы где-то напортачат и сколько это потом исправлять? С помощью JIT Provisioning приложение получает данные из системы IAM и автоматом всё создает. Хороший пример - Salesforce.
Тему можно развивать долго. Вариантов много. Важно, что всё описанное выше - не космос, а вполне реальные вещи, которые может себе позволить любая организация числом от 1 до 100000 чел.
Естественно, если есть много корявых старых приложений, то всё будет сложнее, но в типичных сценариях сроки внедрения <1 мес - реальны.
Важным нюансом является то, что система IAM должна уметь работать с MDM (система управления мобильными устройствами, включая лаптопы/ПК) - иначе должный уровень безопасности не обеспечить (сохраняя вменяемый уровень простоты).
Два крупнейших решения (согласно Gartner MQ 2018):
* Microsoft Azure AD Premium P2 + Intune или MS 365 E3/E5
Отлично вписывается в формат организаций (особенно крупных), внедряющих Office 365 или двигающихся в облако Azure, есть пара подводных камней в лицензировании (типа отдельной платы на 2FA за каждую аутентификацию в отдельных пакетах), что компенсируется кучей всевозможных интеграций с другими продуктами MS и Azure (в т.ч. мобильными приложениями), аналитикой, ИИ и т.д.
Как вариант, MS ADFS (Active Directory Federation Services) позволяет многое реализовать самому и без облака (в т.ч. что, чего Azure до сих пор не умеет, но приходится буквально сшивать лоскутное одеяло, интегрируя и поддерживая различные продукты от разных вендоров
* VMware WorkSpace ONE
VMware купила в 2014 абсолютного (по сей день, включая MQ 2018) лидера MDM/EMM рынка AirWatch и расширила функциональность своими решениями.
Наворотов не так много как у Microsoft, зато работает не только в облаке, больше возможностей для интеграции, больше поддерживаемых платформ (и зачастую больше функциональности - Mac, Android) экосистема (не заточена на Microsoft, как Intune/AzureAD, куча интеграций со специализированными вендорами безопасности, Threat Intelligence, Threat Management), проще лицензирование и, как результат, малые организации могут позволить себе "взрослые" фишки без доплаты.
Оба решения поддерживают управление Windows 10 Modern Management, т.к. MDM-протокол для Win10 разрабатывался (насколько мне известно) с привлечением AirWatch.
В общем, пора закругляться. Думаю дырки в повествовании еще остались. Если есть вопросы - задавайте.