Пароль от корпоративного VPN у половины сотрудников, которых я видел, выглядит одинаково: название компании, год, восклицательный знак, иногда с заменой буквы «о» на ноль — для надёжности.
Второй сюжет интереснее, и такие истории я собираю пачками. Человек использует один пароль на работе и на форуме рыбаков, форум утекает целиком вместе с почтами, базу прогоняют по всему, до чего дотягиваются, и очередь доходит до вашей точки входа. Никто вас не выбирал. Просто повезло.
Скомпрометированные учётные данные — один из основных путей, которыми посторонние оказываются внутри корпоративной сети. Не эксплойты. Просто чужой пароль в вашей форме входа. Второй фактор эту схему ломает. Дальше вопрос, какой фактор брать, куда встраивать и что делать, когда сотрудник утопит телефон. Последнее, по моему опыту, продумать забывают. А рушится всё именно там.
Почему одного пароля для VPN недостаточно
У пароля врождённый дефект: он передаётся. Его можно подсмотреть, подобрать, выманить, купить в готовой базе. И самое неприятное — вы об этом не узнаете, потому что украденный пароль не пропадает у владельца, он просто появляется ещё у кого-то, и я не знаю способа заметить это вовремя. Чужой вход по верному паролю выглядит в журналах как обычная работа. Ни ошибок, ни тревог, ни строчки, за которую можно зацепиться. Инцидент незаметен до момента, когда становится очень заметным. Обычно это утро понедельника.
Второй фактор добавляет ровно то, чего в пароле нет и быть не может, — привязку к физическому предмету, который лежит в кармане конкретного человека. Знания мало, нужно владение.
Политики сложности паролей задачу, кстати, не решают: они про перебор, а утечка идёт не через него. Смену пароля каждые девяносто дней я считаю вредным ритуалом — люди прибавляют цифру в конце и пишут результат на стикере, и я видел этот стикер столько раз, что перестал удивляться.
Какие бывают вторые факторы
Четыре варианта, которые встречаются реально.
TOTP — шестизначный код, который каждые тридцать секунд генерирует приложение на телефоне. Секрет один раз передаётся QR-кодом, дальше телефон и сервер независимо считают одно и то же по часам. Свойство, ради которого я его и люблю: он работает офлайн, так что самолёт, подвал склада или роуминг в чужой стране ничего не меняют — код всё равно есть.
Push-подтверждение — на телефон приходит «подтвердить вход?», пользователь жмёт кнопку. Удобнее всего, тут я спорить не буду. Но есть фирменная болезнь: человек, которому весь день сыплются запросы, рано или поздно нажмёт «да» машинально — в том числе на чужой.
Аппаратный ключ — USB-токен или NFC-брелок, единственный вариант, устойчивый к фишингу по самой конструкции: ключ проверяет адрес криптографически и на поддельной странице не сработает, сколько бы человека ни уговаривали. Пользователь ошибается, ключ — нет. Минусы: деньги, логистика, теряется.
SMS — код в сообщении. Про него разговор ниже. Вернее, не разговор, а короткий приговор.
| Фактор | Стойкость | Удобство | Стоимость | Слабое место |
|---|---|---|---|---|
| TOTP-приложение | Высокая | Хорошее | Бесплатно | Код можно выманить фишингом |
| Push-подтверждение | Высокая | Отличное | Обычно платно | Автоматические нажатия «да» |
| Аппаратный ключ | Максимальная | Среднее | Заметная, разовая | Потеря и стоимость закупки |
| SMS-код | Низкая | Среднее | Плата за сообщения | Перевыпуск SIM, зависимость от связи |
| Сертификат устройства | Высокая | Незаметное | Труд администратора | Не защищает при краже ноутбука |
[Изображение: таблица типов второго фактора — стойкость, удобство, стоимость]
Почему SMS — худший вариант из всех
Скажу честно: SMS лучше, чем ничего. И хуже всего остального в списке.
Главная причина в том, что номер телефона вам не принадлежит — это услуга оператора, и её можно переоформить, а перевыпуск SIM по поддельным документам давно стал отработанной схемой. Я видел, как это разыгрывают. Коды начинают приходить постороннему, а сотрудник видит лишь то, что у него пропала связь, и идёт в салон. Аналогия буквальная: письмо до востребования выдают предъявителю номера ячейки. А ячейку, оказывается, переоформляют.
Вторая причина — зависимость от сотовой сети. Подвал склада, поезд, роуминг — кода не будет. Начинаются звонки в поддержку, и кто-нибудь предложит «давайте ему отключим двухфакторку». Помню, чем это кончилось в одной компании. Защита тут и заканчивается. Плюс за каждое сообщение вы платите, а TOTP бесплатен. Если у вас сейчас SMS — планируйте переезд.
Куда встраивать второй фактор: три схемы
Прямо на VPN-сервере. Самый короткий путь: многие реализации проверяют TOTP сами или через плагин, поднимается за пару часов. Минус — пользователи и секреты живут отдельно от остальных систем, синхронизировать приходится руками.
Через RADIUS. Классика корпоративной среды. Сервер не проверяет данные сам, а спрашивает у RADIUS, тот ходит в каталог пользователей и в модуль второго фактора и возвращает вердикт. Смысл в централизации: одна точка, где заводят и отключают людей, один журнал на все сервисы. RADIUS-аутентификация для VPN — больше работы на старте и меньше рутины потом. Я почти всегда советую её.
Через внешнего провайдера идентификации. Вход в туннель отдаётся тому же механизму, через который сотрудники входят в остальные сервисы. Удобно, единая политика. Взамен — вопрос, что будет, если провайдер перестанет работать в вашей стране. Это, скажем так, не паранойя, а опыт последних лет.
До тридцати человек — проверка на сервере, не усложняйте. Дальше RADIUS. Внешний провайдер осмыслен, когда единый вход уже есть. Мы помогаем с любой из трёх, это часть работ по корпоративному VPN.
[Изображение: схема аутентификации через RADIUS — клиент, VPN-сервер, RADIUS, каталог пользователей и модуль 2FA]
Сертификат устройства как дополнительный фактор
Про этот вариант вспоминают редко, хотя он бесплатный и настраивается один раз, и мне до сих пор непонятно, почему о нём молчат ровно те статьи, которые подробно расписывают разницу между push и TOTP.
На рабочий ноутбук ставится клиентский сертификат, привязанный к конкретной машине, и без него туннель не поднимается, даже если логин, пароль и код верны. К «знаю» и «владею» добавляется «с разрешённого устройства». Что даёт: украденный пароль вместе с кодом бесполезен, если человек сидит на своём ноутбуке. Фишинг с диктовкой одноразового кода разваливается на месте. Чего не даёт: защиты при краже ноутбука, сертификат уехал вместе с ним. Так что шифрование диска обязательно.
Отдельный плюс, который я ценю едва ли не выше остального, — прозрачность: сертификат никто не вводит руками, он просто лежит на диске, и получается ноль раздражения при заметном приросте защиты.
Как не превратить 2FA в ежедневное мучение
Самая частая причина провала — не техника, а бунт: люди саботируют то, что мешает работать, и находят обходные пути быстрее, чем вы их закрываете. Я это наблюдал в каждом втором внедрении.
Не спрашивайте код слишком часто. Разумный компромисс — раз в рабочий день с одного устройства. Требовать второй фактор при каждом переподключении в мобильной сети — верный способ получить ненависть отдела продаж уже на второй день.
Объясните, зачем. Пять минут на планёрке. Я говорю не про безопасность вообще, а про сценарий: «если твой пароль утечёт, без телефона в твою учётку не зайдут».
Помогите с настройкой лично. Половину обращений даёт не 2FA, а первое подключение. Заложите день, пройдите с каждым по шагам, проследите, чтобы резервные коды сохранили сразу.
Запускайте волнами. Сначала ИТ, потом руководители, потом все. Детские болезни, если честно, вылезут всегда, но на первой группе их починят без скандала.
Что делать, если сотрудник потерял телефон
Вот раздел, которого нет в большинстве инструкций. И зря: именно здесь чаще всего пробивают всю выстроенную защиту.
Ситуация случится обязательно, смягчать не буду. Телефон теряют, топят, меняют, забывают перенести приложение. Вопрос лишь в том, есть ли у вас готовый порядок действий — или вы придумываете его в пятницу вечером под давлением человека, у которого горит отчёт.
Резервные коды
Генерируются один раз при подключении второго фактора. Восемь-десять штук, каждый однократный. Правила простые: сохранить сразу, хранить отдельно от телефона, после использования перевыпустить весь набор. Скриншот кодов в галерее того самого телефона, который вы потеряете, — не резерв. Иллюзия резерва. Я такое видел не раз.
Процедура восстановления
Тут нужна формальность, потому что именно сюда идёт социальная инженерия. Звонок голосом «я Иванов, потерял телефон, сбросьте двухфакторку, отчёт горит» — классика жанра, и работает пугающе часто: нормальному человеку неловко отказать коллеге в беде. Мне, впрочем, тоже было неловко.
- Заявка подаётся по известному заранее каналу. Не «в личку админу».
- Личность подтверждается независимо от заявки: видеозвонок, звонок на внутренний номер, подтверждение руководителя. Письмо с той же почты, которая могла утечь, не доказывает ничего.
- Доступ восстанавливается на несколько часов, с привязкой нового устройства до конца дня.
- Старый секрет отзывается. Всегда. Даже если телефон «наверное, дома остался».
- Факт сброса пишется в журнал: кто попросил, кто подтвердил, кто выполнил.
И честный вопрос себе: сколько человек в компании могут технически сбросить чужой второй фактор? Если больше двух-трёх, вот оно, слабое место, и никакие ключи его не компенсируют.
Регламент: кому обязательно и кто отвечает
Устные договорённости не переживают смену администратора — я проверял это дважды и оба раза расстроился, потому что новый человек приходит с чистой головой и знать не знает, о чём вы когда-то договорились на кухне. Документ на полторы страницы переживает. Что в нём должно быть:
- кому второй фактор обязателен — по-хорошему всем, минимум администраторам, бухгалтерии и подрядчикам;
- какие факторы разрешены, а какие только как временная мера;
- порядок выдачи при приёме и отзыва при увольнении;
- процедура восстановления при утере, со сроками и ответственными;
- ревизия раз в квартал: у всех ли с доступом включена 2FA;
- кто за это отвечает поимённо, а не «отдел ИТ».
Отдельным файлом необязательно — логичнее разделом общей политики доступа к VPN, там же роли и жизненный цикл учётки.
Чек-лист внедрения
- Выбран основной фактор: TOTP для большинства, ключи для администраторов.
- Определена схема проверки: на сервере, через RADIUS или через провайдера.
- Все шаги пройдены руками на тестовой группе до запуска.
- Резервные коды выданы и сохранены вне телефона.
- Написана процедура восстановления при утере.
- Ограничен круг тех, кто может сбрасывать 2FA.
- Входы и сбросы логируются, и кто-то эти журналы смотрит.
- Подрядчики и временные учётки тоже под 2FA.
[Изображение: чек-лист внедрения второго фактора]
Если выбирать одно действие
Ладно, если из всей статьи вы запомните один абзац, пусть будет этот. Включите TOTP. Сегодня, для всех, кто ходит в туннель. Бесплатно, делается за вечер, закрывает главный вектор — вход по украденному паролю. Аппаратные ключи следующим шагом и точно для администраторов: у них права, которыми можно разрушить всё остальное.
А процедуру восстановления напишите до запуска, а не после первого утопленного телефона, потому что писать регламент под крики «мне срочно надо в базу» — худшее занятие, и я в этом положении был. Второй фактор, к слову, работает в полную силу только вместе с нарезанными маршрутами — это разобрано в сравнении ZTNA и классического VPN.
Не хочется собирать самому — корпоративный VPN с управлением доступом приезжает с готовым вторым фактором, персональными учётками и журналами. Две недели на тест, без карты. Смежное — VPN для офиса и удалённый доступ.
Частые вопросы
Зачем 2FA для VPN?
Чтобы украденный пароль перестал быть пропуском в сеть. Утечки учётных данных — один из главных путей проникновения, а чужой вход по верному паролю выглядит в журналах как обычная работа. Второй фактор добавляет то, что нельзя переслать: владение устройством.
Какой второй фактор надёжнее?
Аппаратный ключ: он единственный устойчив к фишингу по конструкции — проверяет адрес криптографически и на поддельной странице не срабатывает. Для большинства сотрудников, по моему опыту, разумнее TOTP: бесплатно, офлайн, закрывает массовые сценарии.
Можно ли использовать SMS?
Можно, но это худший вариант: номер перевыпускают на постороннего, код не придёт без сотовой сети, за каждое сообщение вы платите. Как временная мера — допустимо. Как постоянное решение — нет.
Что делать, если сотрудник потерял телефон?
Вход по резервному коду, если коды сохранены отдельно от телефона. Если нет — процедура восстановления: заявка по известному каналу, подтверждение личности независимым способом, временный доступ на пару часов, привязка нового устройства, отзыв старого секрета. Сброс — в журнал.