Аутентификация
Приветствую тебя суперпользователь. В этой статье давай разберемся что такое аутентификация и как эта технология работает на строне сервисов.
В первую очередь давай разберемся в чем отличие аутентификации от авторизации. Авторизация это предоставление и проверка прав на совершение каких-либо действий пользователя в системе или сервисе когда он уже прошел процедуру аутентификации. Аутентификация в свою очередь, это процесс прохождения проверки подлинности пользователя. То есть когда, ты вводишь логин и пароль, начинается процесс аутентификации, который позволяет понять есть ли такой пользователь в базе и соответствут ли введенный им пароль. Теперь подробней как это все происходит..
Как работает аутентификация на практике?
Глосарий:
REQ(Request) - Запрос
REP(Response) - Ответ
AS(Authentication service) - Сервис аутентификации
TGS(Ticket Granting Service) Сервис гарантийного тикета(билета)
APS(Application services) - Веб сервис или приложение к которому пользователь хочет получить доступ
TGT(Ticket Granting Ticket) - Первичный билет аутентификации
DB(Database) - База данных
Все начинается с AS_REQ — запроса пользователя к сервису аутентификации, с передачей логина и пароля для подтверждения существования такого пользователя в базе данных.
Cервис опрашивает базу данных, база данных проверяет существует ли у нее такой пользователь и в случае успеха возвращает клиенту в ответе AS_REP первичный билет или по другому первичный тикет (TGT). Тикет можно себе представить как некий пропускной подтверждающий подлинность билет.
После этого клиент берет этот первичный тикет(TGT) и отправять запрос TGS_REQ к сервису гарантийных тикетов TGS. То есть клиент говорит, вот я получил первичный тикет от базы данных, теперь ты, сервис гарантийных тикетов возьми его как подтверждение и дай мне тикет уже от того сервиса или ресурса к которому я хочу получить доступ.
Гарантийный сервис сново общается с базой данных и выдает в ответе TGS_REP клиенту уже непосредственно Ticket нужного ему ресурса.
После чего клиент делает запрос AP_REQ[Ticket] уже непосредственно к нужному ему ресурсу с тикетом этого ресурса
Заключительным шагом является ответ от сервиса AP_REP то есть предоставление доступа к ресурсу для пользователя.
Таким образом происходит аутентификация, важно подчеркнуть, что подтверждение только по логину и паролю происходит далеко не всегда. У тех сервисов где с безопастностью все на достаточном уровне, подтверждение происходит не только по логину и паролю, а могут запрашиваться и другие данные, например определенный IP адрес.
Для системы утентификации в большинстве случаев используется, протокол Kerberos.
Система утентификации Kerberos использует порт 88 и протокол UDP
Для смены пароля Kerberos использует порт 464 и протокол TCP/UDP
Задание для тебя, тебе нужно самостоятельно поискать информацию о том, что такое протокол Kerberos и как работает атака kerberoasting.
У меня на этом все суперпользователь.
До связи.