BorisovAI
Все публикации
Общееborisovai-adminClaude Code

2FA в Authelia: спасение админ-панели за 5 минут

2FA в Authelia: спасение админ-панели за 5 минут

Authelia: когда админу нужна двухфакторная аутентификация прямо сейчас

Проект borisovai-admin дошёл до критической точки. Система аутентификации Authelia уже поднята, админ успешно залогинился… но дальше — стена. Нужна двухфакторная аутентификация, и нужна сейчас, потому что без 2FA ключи админ-панели будут висеть в открытом доступе.

Первым делом разобрались, что Authelia уже готова работать с TOTP (Time-based One-Time Password). Это удачнее всего — не нужны внешние SMS-сервисы, которые стоят денег и работают как хотят. Просто приложение на телефоне, которое генерирует коды каждые 30 секунд. Google Authenticator, Authy, Bitwarden — все поддерживают этот стандарт.

Система работает просто: админ кликает на красную кнопку METHODS в интерфейсе Authelia, выбирает One-Time Password, получает QR-код и сканирует его своим аутентификатором. Потом вводит первый код для проверки — и готово, 2FA активирована. Ничего сложнее, чем настроить Wi-Fi на новом телефоне.

Но тут всплыл забавный момент. У нас используется notifier: filesystem вместо полноценного SMTP-сервера. Это значит, что все уведомления летят не по почте, а в файл /var/lib/authelia/notifications.txt на сервере. Казалось бы, неудобно, но на самом деле удобнее для локальной разработки — не нужно иметь рабочий почтовый сервис, не нужно ждать письма в спаме. Просто залезь по SSH на машину и прочитай файл. Правда, для production это так не прокатит, но сейчас это даже плюс.

Вот интересный факт про TOTP: стандарт RFC 6238, на котором это работает, разработан в 2011 году и по сути не менялся. Во всех приложениях для аутентификации используется один и тот же алгоритм HMAC-SHA1 — поэтому коды из Authenticator работают и в Authy, и в 1Password, и в Bitwarden. Один стандарт на всех. Это редкость в IT — обычно каждый сервис хочет своё решение. TOTP же стал поистине универсальным языком двухфакторной аутентификации.

Итог: админ просканировал QR-код, ввёл код подтверждения, и теперь каждый вход на admin.borisovai.tech или admin.borisovai.ru требует второго фактора. Брутфорс админ-панели стал значительно сложнее. Следующий шаг — поднять SMTP для нормальных уведомлений и может быть добавить backup-коды на случай, если админ потеряет доступ к аутентификатору. Но это уже совсем другая история.

Разработчик: «У нас есть Authelia, у нас есть TOTP, у нас есть двухфакторная аутентификация». HR: «На каком уровне безопасности?». Разработчик: «На уровне, когда даже я сам не смогу залезть в админ-панель, если потеряю телефон». 😄

Метаданные

Session ID:
grouped_borisovai-admin_20260208_2250
Branch:
main
Dev Joke
Разработчик: «Я знаю PyTorch». HR: «На каком уровне?». Разработчик: «На уровне Stack Overflow».

Оцените материал

0/1000