Код на почту вместо кода в приложении — самый простой способ настроить второй фактор, и поэтому он так распространён. Но простота настройки не равна надёжности: почта — это ещё один аккаунт со своим паролем, и если он совпадает с паролем от защищаемого сервиса или лежит с ним рядом, второй фактор перестаёт быть вторым. Разберём, как работает подтверждение по почте и чем оно слабее приложения-генератора, когда почтовый фактор уместен, а когда категорически нет, и как собрать защиту без иллюзии безопасности.
Как это работает и чем слабее приложения-генератора
Схема простая: вы вводите логин и пароль — первый фактор, то, что вы знаете, — сервис отправляет на привязанный адрес одноразовый код, вы вводите его, вход разрешён. Идея в том, что украденный пароль не даёт войти без доступа ко второму каналу. На бумаге это работает так же, как код в SMS или в приложении-генераторе, но приложение создаёт код локально: секрет один раз записан на устройство, и коду просто неоткуда утечь через канал доставки, потому что доставки как таковой нет. У почты канал есть, и он же — самостоятельный аккаунт, который может быть скомпрометирован независимо от защищаемого сервиса: через слитую базу другого сайта, через фишинг, через подбор пароля к самой почте. Проблема глубже, чем «канал можно перехватить»: если пароль от сервиса и пароль от почты совпадают, или пароль от почты не менялся годами, злоумышленник, получивший один пароль, автоматически получает оба фактора сразу — второй фактор перестаёт быть вторым, это тот же секрет, продублированный в другое место. Сравнение email- и SMS-канала по надёжности — в статье email-верификация или SMS: что выбрать под задачу, а про номер как альтернативный канал для 2FA — в материале что такое 2FA и зачем для неё отдельный номер.
Когда почтовый фактор уместен, а когда категорически нет
От почтового кода не нужно отказываться всегда: он уместен, когда сервис не поддерживает ничего другого — ни приложение-генератор, ни номер, — либо как резервный канал на случай, если основной способ недоступен, например устройство с приложением потеряно. Условие одно: адрес должен быть под вашим полным контролем — со своим паролем, отличным от пароля сервиса, — и оставаться доступным столько же, сколько живёт защищаемый аккаунт. А вот разовая email-активация для этой роли не годится категорически: она решает другую задачу — один код для одного сайта при регистрации, — и у неё жёсткий срок в 20 минут с момента покупки, после чего адрес возвращается в общий пул. 2FA нужна не единожды, а при каждом следующем входе, иногда спустя месяцы, — адрес, которого через 20 минут уже нет, физически не примет код через полгода. Подробнее о том, что происходит с адресом по истечении окна, — в статье срок жизни одноразового ящика и что будет после.
Арендованный ящик как компромисс на срок задачи
Если почтовый фактор нужен на протяжении времени, а не разово, подходит аренда ящика — от 12 часов до 60 суток, с продлением. Важная оговорка: арендованный ящик принимает письма только от сайтов, указанных при заказе, — сервис, от которого пойдут коды 2FA, нужно перечислить сразу, а не подключать задним числом. И второе ограничение: срок аренды конечен, максимум 60 суток за заказ, — для аккаунта, который живёт дольше, продление нужно оформлять заранее, до истечения текущего срока, иначе в момент, когда придёт очередной код, канала уже не будет.
Правильная схема защиты
Рабочая иерархия простая: основным фактором — приложение-генератор кодов, потому что оно не зависит от доставки и не может быть перехвачено через компрометацию другого аккаунта. Почта и номер — резервные каналы на случай потери устройства с приложением, а не основной способ входа. Резервные коды и данные о том, куда именно они привязаны, стоит хранить отдельно от паролей самих сервисов — как это организовать, разобрано в статье резервное хранение доступов: номер, почта, коды.
Чек-лист настройки
- Пароль от почты отличается от пароля защищаемого сервиса и не использовался больше нигде.
- Где возможно, включено приложение-генератор кодов, а почта — резервный, а не основной канал.
- Если ящик арендованный — при заказе указаны все сайты, от которых ожидаются коды.
- Срок аренды ящика продлён заранее, до истечения текущего периода, а не по факту сбоя входа.
- Разовая активация никогда не используется как адрес для 2FA — только для одного кода при регистрации.
Частые вопросы
Можно ли использовать один и тот же почтовый ящик для 2FA сразу в нескольких сервисах?
Технически да, но арендованный ящик принимает письма только от сайтов, заявленных при заказе, поэтому список нужно указать полностью при оформлении. Если сервисов несколько и они добавляются со временем, проще сразу перечислить весь ожидаемый список, чем донастраивать фильтр позже.
Что будет с 2FA по почте, если срок аренды ящика закончится, а не продлится?
Канал перестанет принимать письма, и следующий код подтверждения просто не дойдёт — вы физически не сможете войти, пока не восстановите доступ другим путём, если он вообще предусмотрен сервисом. Продление стоит оформлять заранее, не дожидаясь окончания срока.
Чем плоха ситуация, когда пароль от почты совпадает с паролем от сервиса?
В этом случае второй фактор существует только формально: тот, кто узнал один пароль, автоматически получает доступ и к сервису, и к каналу, через который приходит код подтверждения. Реальной защиты от кражи пароля такая связка не даёт.
Разовую email-активацию под конкретный сайт или аренду ящика на нужный срок для резервного канала 2FA можно оформить в разделе email-OTP.