Kerberos — протокол сетевой аутентификации

Простыми словами

При входе в корпоративную сеть сотрудник подтверждает личность один раз. Затем компьютер запрашивает у доверенной службы отдельные билеты для файлового сервера и других приложений. Каждый сервис проверяет свой билет, поэтому сотруднику не приходится заново вводить пароль при каждом обращении.

Успешная проверка личности не даёт доступа ко всем файлам: разрешения на ресурс проверяются отдельно. Kerberos отвечает за аутентификацию, а не за выдачу любых прав.

Как применяется

В Active Directory служба KDC работает на контроллерах домена. К ней обращаются доменные компьютеры и поддерживающие Kerberos приложения. Протокол применяют и вне Windows, например в инфраструктуре с MIT Kerberos.

Администраторы обеспечивают доступность KDC и синхронизацию времени, корректно регистрируют имена служб (SPN), защищают сервисные учётные записи и ограничивают делегирование. При диагностике входа проверяют запрошенную службу, срок билета и события аутентификации. Получение билета само по себе не означает успешного доступа к ресурсу.

Пример применения

Сотрудник входит на доменный компьютер и открывает общую папку отдела. Клиент получает TGT, а затем запрашивает билет для службы файлового сервера. Сервер проверяет предъявленные данные и права сотрудника на папку. Если у него есть только право чтения, билет не позволяет изменить файл.

Если вход в домен работает, а конкретный сервис недоступен, проверяют имя службы, её ключи и настройки доступа. Повторный ввод пароля не устранит, например, неверный SPN.

Не путать с

  • NTLMNTLM использует обмен запросом и ответом, а Kerberos — билеты от KDC. Для Kerberos важны доступность доверенного центра и идентификация службы. Эти протоколы не взаимозаменяемы во всех сценариях.
  • SAMLSAML передаёт утверждения между поставщиком идентификации и сервисом, часто для федеративного входа в веб-приложения. В Kerberos клиент получает билеты у KDC. Это разные модели доверия и обмена данными.
  • АвторизацияKerberos подтверждает личность. Авторизация определяет, какие действия этой личности разрешены. Правильный билет не отменяет проверку разрешений на папку, базу данных или приложение.

Как это работает

  1. Получить TGTКлиент проходит первоначальную аутентификацию у KDC и получает Ticket Granting Ticket. TGT нужен для последующих запросов билетов, а не для прямого входа на файловый сервер.
  2. Запросить службуКлиент предъявляет TGT службе выдачи билетов и запрашивает билет для определённого сервиса. В Active Directory сервис идентифицируется, в частности, по SPN.
  3. Подтвердить личностьКлиент передаёт сервису билет и аутентификатор. Сервис проверяет криптографическую защиту и временные параметры. При взаимной аутентификации клиент также проверяет ответ сервиса.
  4. Проверить праваПосле аутентификации приложение выполняет собственную проверку доступа. Защита дальнейшего обмена зависит от протокола приложения и его настроек, а не только от наличия билета Kerberos.

Продолжить изучение

Связанные термины

Частые вопросы

Чем TGT отличается от сервисного билета?

TGT предъявляют KDC, чтобы получить билеты для служб. Сервисный билет предназначен конкретной службе и предъявляется ей. Поэтому TGT не заменяет билет файлового сервера.

Зачем Kerberos синхронизация времени?

Временные метки помогают отличать свежую попытку аутентификации от повторного предъявления ранее перехваченного сообщения. При превышении допустимого рассогласования часов проверка может завершиться ошибкой. Порог зависит от настроек среды.

Kerberos автоматически шифрует весь трафик?

Нет. Протокол предоставляет аутентификацию и ключевой материал, но защиту последующих сообщений должно использовать приложение. Также Kerberos не заменяет проверку прав и защиту устройства, на котором хранятся билеты.

Kerberos — протокол сетевой аутентификации, в котором доверенный центр распределения ключей (KDC) выдаёт билеты для подтверждения личности пользователя или службы. Клиент предъявляет сервисный билет и подтверждает владение сеансовым ключом, не передавая сервису свой пароль.