June 26, 2020

Аутентификация

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

В первую очередь давай разберемся в чем отличие аутентификации от авторизации. Авторизация это предоставление и проверка прав на совершение каких-либо действий пользователя в системе или сервисе когда он уже прошел процедуру аутентификации. Аутентификация в свою очередь, это процесс прохождения проверки подлинности пользователя. То есть когда, ты вводишь логин и пароль, начинается процесс аутентификации, который позволяет понять есть ли такой пользователь в базе и соответствут ли введенный им пароль. Теперь подробней как это все происходит..

Как работает аутентификация на практике? Глосарий: 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.

У меня на этом все суперпользователь.
До связи.