Определение простыми словами
2FA (Two-Factor Authentication) — схема входа, при которой одного пароля недостаточно. Вход требует подтвердить владение вторым независимым фактором: код из приложения-аутентификатора (TOTP), пуш-уведомление, SMS, аппаратный ключ FIDO2/U2F, биометрия. Утечка одного пароля не даст злоумышленнику доступ.
Для хостинг-аккаунта 2FA — базовая гигиена: компрометация панели управления приводит к потере домена, сайта и базы клиентов. На VPS 2FA настраивается на SSH через PAM-модуль google-authenticator.
Сравнение
| Метод 2FA | Удобство | Защищённость | Где применяется |
|---|---|---|---|
| TOTP (Google Authenticator) | высокое | высокая | панели, GitHub, SSH |
| SMS | высокое | средняя (SIM-swap) | банки, мессенджеры |
| Push-уведомление | очень высокое | высокая | корпоративные SSO |
| Аппаратный ключ (YubiKey) | среднее | максимальная | админы, разработчики |
| Email-код | среднее | низкая | как запасной вариант |
Кейсы использования
- Защита панели управления хостингом, регистратора домена, DNS-провайдера.
- SSH-доступ на боевые серверы с TOTP-проверкой поверх ключа.
- Аккаунт GitHub/GitLab разработчика — обязательное требование для коммитов в продакшен-репозиторий.
- Доступ к корпоративной почте и мессенджерам через аппаратный ключ.
- Негативный сценарий: единственный фактор — SMS на симку без PIN-кода. SIM-swap делает 2FA бесполезным, лучше TOTP или FIDO2.
Технические детали
Включение TOTP-аутентификации для SSH через google-authenticator:
sudo apt install libpam-google-authenticator
google-authenticator -t -d -f -r 3 -R 30 -W
sudo sed -i 's/^ChallengeResponseAuthentication no/ChallengeResponseAuthentication yes/' /etc/ssh/sshd_config
echo 'auth required pam_google_authenticator.so' | sudo tee -a /etc/pam.d/sshd
sudo systemctl restart sshd
QR-код привяжите в Google Authenticator, Authy или 1Password. Резервные коды (emergency scratch codes) сохраните в менеджере паролей — без них восстановление доступа займёт сутки и переписку с поддержкой.
🔥 Где это применяется
Частые вопросы
Что делать, если потерял телефон с 2FA?
Использовать резервные коды, которые сервис показывал при настройке. Если их нет — обращаться в поддержку с подтверждением личности. Поэтому коды нужно сразу сохранять в менеджере паролей или на бумаге.
TOTP можно использовать без интернета?
Да, приложение генерирует код по часам устройства и общему секрету, без сети. Главное — синхронизировать время на телефоне, иначе код будет отвергнут сервером.
Аппаратный ключ — это сильно дороже?
YubiKey 5 NFC стоит 5–7 тысяч рублей, базовая модель Security Key — 2–3 тысячи. Для команды разработчиков и админов — оправданная инвестиция: фишинг с поддельным сайтом не сработает физически.