Аутентификация
Аутентификация — это проверка того, что пользователь действительно тот, за кого себя выдаёт; шаг между идентификацией и авторизацией.
Что такое Аутентификация
Аутентификация — это процедура проверки подлинности: система убеждается, что пользователь действительно тот, кем представился. Слово происходит от греческого authentikos — «подлинный».
Понять термин проще всего через три шага, которые постоянно смешивают в одно:
| Шаг | Вопрос | Пример на входе в систему |
|---|---|---|
| Идентификация | Кто вы? | Ввели логин ivanov |
| Аутентификация | Докажите | Ввели пароль, система проверила |
| Авторизация | Что вам можно? | Система решила: доступ к отчётам есть, к админке нет |
Аналогия с аэропортом: назвали фамилию — идентификация; предъявили паспорт с вашим лицом — аутентификация; посмотрели на посадочный и пустили в бизнес-класс — авторизация. Три разных действия, и путаница между ними — источник реальных дыр. Классическая ошибка: система проверила пароль и на этом успокоилась, не проверив, а положен ли этому пользователю запрошенный объект.
Факторы
Аутентификация строится на трёх типах факторов:
- Знание — пароль, PIN, ответ на вопрос.
- Владение — телефон с TOTP, аппаратный ключ, смарт-карта.
- Неотъемлемость — отпечаток, лицо, голос.
Два фактора разных типов дают двухфакторную аутентификацию. Пароль плюс контрольный вопрос двухфакторностью не являются: оба относятся к знанию и утекают одновременно.
Как проверяют пароль
Пароли в базе не хранятся. Хранится результат работы специальной функции, и при входе сравниваются хеши:
Регистрация: пароль → KDF(пароль, salt) → сохранили хеш + salt
Вход: пароль → KDF(пароль, salt) → сравнили с сохранённым
Критично применять функции для паролей, а не обычные хеши: bcrypt, scrypt, Argon2id (сегодняшний выбор по умолчанию), в крайнем случае PBKDF2. Они намеренно медленные и требовательные к памяти.
Хранение паролей в MD5 или SHA-256 — грубая ошибка, хотя формально это тоже хеши. Они спроектированы быстрыми, и GPU перебирает их миллиардами вариантов в секунду: утечка такой базы равносильна утечке паролей открытым текстом. Salt (случайная добавка к каждому паролю) обязателен — без него одинаковые пароли дают одинаковые хеши, и вся база вскрывается по радужным таблицам одним проходом.
Способы в инфраструктуре
| Метод | Где применяется | Комментарий |
|---|---|---|
| Пароль | Веб, панели | Минимум, требует 2FA |
| SSH-ключи | Доступ к серверам | Стандарт; пароли по SSH отключают |
| API-ключи и токены | Машинные интеграции | Ротация, минимальные права |
| mTLS | Между микросервисами | Сертификат с обеих сторон, см. TLS |
| Kerberos | Домен Active Directory | Билеты вместо паролей |
| LDAP | Единый каталог | Часто за IdP |
| FIDO2 / passkey | Веб, админский доступ | Устойчив к фишингу |
Для VPS практический минимум выглядит так — и снимает подавляющую часть автоматических атак:
# вход только по ключу, root по паролю запрещён
sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin prohibit-password/' /etc/ssh/sshd_config
systemctl restart sshd
Практика
- Длина важнее «сложности». Требование спецсимволов рождает
P@ssw0rd1!, который переберут быстрее длинной фразы из четырёх слов. Современные рекомендации: минимальная длина, проверка по спискам утёкших паролей, никакой принудительной смены раз в 90 дней — она заставляет людей менять цифру в конце. - Не изобретайте своё. Аутентификацию берут готовую — Keycloak, библиотека фреймворка, IdP. Самописная — стабильный источник уязвимостей.
- Единообразие сообщений. «Неверный логин» и «неверный пароль» раздельно — это подсказка атакующему, какие учётки существуют.
- Лимит попыток и задержки против перебора, см. социальную инженерию.
- Логируйте входы и отказы — без этого SIEM не увидит компрометацию учётки.
- Биометрия — не пароль. Отпечаток нельзя сменить после утечки, поэтому он служит подтверждением владения устройством, а не самостоятельным секретом.
Связанные термины
- Двухфакторная аутентификация — усиление вторым фактором
- RBAC и ACL — авторизация, следующий шаг после аутентификации
- IAM / IdP — где аутентификацию централизуют
- SSO — единый вход во все сервисы
- Несанкционированный доступ — что происходит при провале
- Менеджеры паролей — как жить с уникальными паролями
Готовы запустить GPU-задачу?
Запустить GPU-сервер