Как обеспечить безопасность паролей: от генерации до 2FA и passkeys

Как обеспечить безопасность паролей: от генерации до 2FA и passkeys
image

Пароль — самый старый способ доказать, что вы — это вы. Он встречает нас в почте, банке, облаке, на работе и в играх. Проблема в том, что люди запоминают мало, а сервисов — много. Итог предсказуем: одна и та же короткая комбинация повторяется на десятках сайтов, а фишинговая страница легко выманивает её целиком. Хорошая новость: ситуация исправляется. Длинные уникальные пароли, менеджер-хранилище, второй фактор и, по возможности, переход на ключи доступа (passkeys) закрывают подавляющее большинство реальных атак. Ниже — развёрнуто, простым языком, без «магии» и непонятных сокращений.

Термины на пальцах: с чего начинается «надёжность»

Пароль — секретная строка, которая подтверждает вход в учётную запись. Его стойкость описывает энтропия — сколько различных вариантов придётся перебрать злоумышленнику. Энтропия растёт вместе с длиной и разнообразием набора символов, но важнее всего именно длина: +2–3 знака часто сильнее, чем «обязательная цифра и заглавная буква».

Фраза-пароль — несколько слов подряд с разделителями. Такой вариант легко держать в голове, а при длине из 4–6 слов он значительно сложнее для перебора, чем короткая «каша» из случайных символов.

Менеджер паролей — шифрованный «сейф» на телефоне и компьютере. Он создаёт длинные уникальные строки и подставляет их на нужных сайтах. Внутри записи зашифрованы, сам провайдер их не видит, ключ хранится у вас.

Почему «Qwerty123» не спасёт

  • Повторение на разных сайтах. Взломали маленький форум — логин и пароль подошли к почте. Дальше — волна входов в остальные сервисы.
  • Шаблоны и предсказуемость. Раскладки клавиатуры, даты, имена, города и названия клубов давно в словарях для перебора.
  • Фишинг. Поддельная форма авторизации забирает секрет напрямую. Длина строки не помогает, если её ввели «туда» сами.
  • Слабая защита у провайдера. Если сайт хранит хэши без соли или на старом алгоритме, злоумышленник быстро восстановит исходную строку после утечки базы.

Какие атаки встречаются в реальности

  • Онлайн-перебор. Прямые попытки входа на сайте. Помогают лимиты попыток, капча, блокировка по времени и второй фактор.
  • Офлайн-восстановление хэша. После утечки базы паролей злоумышленник «ломает» хэши на видеокартах. Помогает правильное хранение на стороне сервиса (медленные алгоритмы, соль, «перец»).
  • Credential stuffing. Массовые входы с парами «email+пароль», взятыми из старых утечек. Лечат уникальные пароли и 2FA.
  • Фишинговые прокси. Страница-двойник перехватывает и пароль, и код подтверждения. Противоинструмент — аппаратные ключи/WebAuthn.
  • Кейлоггеры и вредоносные расширения. Подменяют формы, читают нажатия. Здесь работают гигиена устройства и вход без пароля (passkeys).

Длина важнее «узоров»: сколько символов задавать

Надёжная отправная точка для обычного аккаунта — 16–20 символов. Для почты, доменов, облаков и админ-панелей — 20–32 или фраза-пароль из 4–6 слов с необычными разделителями. Принцип понятен по демонстрациям (не копируйте дословно): Река_Гранит!Север^Туман#38, Кедр/Луна/Скат/Галька/1979.

Как придумать и не забыть

Автогенерация в менеджере

Настройте генератор: длина 20–24 для большинства сайтов и 32+ для редких входов. Включите исключение похожих символов (O/0, l/1), если часто печатаете вручную. Пусть «помнит» программа.

Фраза-пароль для ручного ввода

Возьмите 5–6 непохожих слов, добавьте разделители и число, понятное только вам. Избегайте цитат и поговорок — они давно попали в словари перебора. Чем «страннее» набор, тем лучше: Флинт—Саксофон—Ватрушка—Кобальт—57.

Менеджер паролей: зачем он нужен почти всем

Запоминать сотни уникальных комбинаций невозможно, значит, без сейфа не обойтись. Критерии выбора просты:

  • Архитектура «ноль знаний». Провайдер не видит содержимое: всё шифруется на ваших устройствах.
  • Поддержка passkeys, TOTP и аппаратных ключей. Чем меньше мест, где вводится «сырой» пароль, тем спокойнее.
  • Проверка на утечки. Авто-сверка логинов с базами скомпрометированных записей.
  • Кроссплатформенность. Приложения и расширения для всех браузеров и устройств.
  • Экстренный доступ. Восстановление через доверенного человека или запасной ключ.

Как стартовать пошагово. Установите менеджер, придумайте главный пароль-фразу (14–20+ знаков), включите второй фактор на сам сейф, импортируйте то, что браузер хранил локально, запустите проверку на утечки и постепенно меняйте слабые записи, двигаясь от критичных сервисов к второстепенным.

Двухфакторная аутентификация: что это и как выбрать формат

2FA добавляет ко входу второй шаг. Даже если пароль украли, без второго фактора злоумышленник останется с носом. Вариантов несколько:

  • Аппаратные ключи FIDO2/WebAuthn. Самый устойчивый способ: подтверждение привязано к домену сайта и вашему устройству. На фишинговом дублёре такой вход не сработает — ключ «видит», что домен другой.
  • Приложения-аутентификаторы (TOTP). Телефон каждые 30 секунд генерирует новый код. Лучше, чем SMS, потому что код рождается локально и не перехватывается на стороне оператора.
  • Push-подтверждения в приложении. Удобно: появляется запрос «Разрешить вход?». Но есть нюанс — усталость от пушей (по-английски MFA fatigue): если злоумышленник многократно инициирует входы, часть пользователей машинально нажимает «Да», лишь бы закрыть уведомления. Отсюда два безопасных усиления:
    • Number matching («сверка номера»). На экране входа показывается число, и вы должны ввести этот номер в приложении подтверждения. Случайное «прокликивание» не пройдёт: без знания числа запрос не подтвердить.
    • Ограничение частоты запросов. Если за короткий период приходит слишком много пушей, система вводит «охлаждение» (временную блокировку новых запросов) и/или требует перейти на более сильный фактор — TOTP или аппаратный ключ.
  • SMS-коды. Только как запасной вариант: уязвимы к подмене SIM-карты (SIM-swap) и перехвату на уровне сети.

Passkeys (ключи доступа): вход без пароля человеческим языком

Passkey — пара криптографических ключей: публичный хранится у сайта, приватный — у вас (в защищённом модуле телефона/ПК или в менеджере с синхронизацией). При входе вы подтверждаете операцию биометрией или PIN, а устройство криптографически доказывает сайту, что вы — владелец соответствующего приватного ключа. Пароля как строки не существует — значит, его нельзя украсть фишингом, перехватить кейлоггером или повторно использовать на другом сайте.

Как жить с passkeys на практике. Там, где поддержка уже есть, включайте её и постепенно переводите важные аккаунты. Пароли пока оставляйте как резервный метод восстановления, но не используйте их для повседневного входа.

Когда менять пароль и как понять, что пора

Устойчивые правила: не меняйте «по календарю». Частая принудительная смена рождает схему «ПарольМарт2025 → ПарольАпрель2025», что небезопасно. Меняем сразу, если:

  • пришла новость об утечке сервиса, где у вас есть аккаунт;
  • обнаружили входы с незнакомых устройств или регионов;
  • случайно ввели пароль на неверном домене;
  • заметили письма о сбросе пароля, которых вы не инициировали.

Фишинг: как распознать и что делать, если пароль «ушёл»

Признаки подделки знакомы, но повторим: странный домен («paypaI.com» с большой i вместо l), агрессивные сроки («срочно подтвердите»), вложения «счёт»/«штраф»/«доставка», просьба ввести код из SMS. Проверка простая: сами откройте сайт в новой вкладке, не по ссылке из письма, и войдите только там. Если всё-таки ввели секрет «не туда» — сразу меняйте пароль, выходите из всех сессий, включайте 2FA (или усиливайте его), смотрите настройки переадресации почты и доступа сторонних приложений.

Политики для компаний: современные рекомендации без архаики

Современные стандарты (например, NIST SP 800-63B и методички OWASP) предлагают уйти от устаревших требований «обязательные спецсимволы, обязательная смена раз в 30 дней» и двигаться к реальной стойкости:

  • Длина & фразы-пароли. Разрешайте длинные значения (64+), поддерживайте Unicode. Поощряйте фразы-пароли вместо «сложных» коротышей.
  • Отсев плохих строк на входе. При установке и смене сверяйте новые пароли с «чёрным списком» утёкших и очевидных комбинаций.
  • Запрет на периодические смены «для галочки». Меняем по событию, а не по кварталу.
  • Поддержка менеджеров. Разрешайте вставку и автозаполнение, не ломайте UX искусственными ограничениями.
  • Многофакторка по умолчанию для админки и критичных систем. Там же — предпочтительно аппаратные ключи/WebAuthn.

Как сервис обязан хранить секреты пользователей

С точки зрения бэкенда пароли не «лежат» в базе, а превращаются в хэш — результат односторонней функции. Чтобы утечка не превратилась в мгновенный взлом, хэш вычисляют медленным алгоритмом: Argon2id (рекомендуется), scrypt или bcrypt. Каждый пароль смешивают с уникальной солью — случайной добавкой, хранящейся рядом с хэшем; иногда добавляют ещё и секретный «перец» на уровне приложения. Плюс — ограничивают частоту попыток, защищают от перечисления логинов и мониторят аномалии входов. Пользователю важно понимать: если провайдер делает всё это правильно, даже утечка базы не означает мгновенный компромисс.

Домашний «план работ»: что сделать сегодня

  1. Установите менеджер паролей, задайте длинную фразу для главного ключа, включите 2FA на сам сейф.
  2. Включите проверку на утечки и меняйте записи, где обнаружены совпадения.
  3. Переведите почту, банк и облака на 2FA, по возможности — на аппаратные ключи или passkeys.
  4. Отключите сохранение паролей в браузерах, чтобы не плодить хранилища.
  5. Раз в квартал просматривайте список аккаунтов, отзывайте доступ у старых приложений и сессий.

Ответы на частые вопросы

Нужно ли менять пароли каждый месяц? Нет. Меняем по событию (утечка, подозрительная активность, ввод на фишинговом домене). Частая принудительная смена снижает реальную стойкость.

Достаточно ли 2FA через SMS? Это лучше, чем ничего, но есть риск SIM-swap и перехвата. Если возможно, переходите на TOTP или аппаратные ключи.

Почему «пуш-подтверждение» иногда критикуют? Из-за «усталости от пушей»: злоумышленник заваливает запросами, и уставший человек случайно нажимает «Разрешить». Лечится number matching (ввод числа из экрана входа в приложении подтверждения) и ограничением частоты запросов (временная блокировка после серии отказов).

Боюсь потерять доступ к менеджеру. Что делать? Храните резервный код восстановления, добавьте второй ключ/устройство, настройте «экстренного» контакта. Это стандартные функции у крупных решений.

Эксплойт без патча? Узнай первым

В реальном времени: уязвимые версии, индикаторы компрометации и быстрые меры. Не читай — действуй.