Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 3036|Ответ: 0

[окна] Аутентификация Windows AD: Kerberos и NTLM

[Скопировать ссылку]
Опубликовано 22.08.2023 19:16:28 | | | |
Аутентификация AD использует два основных протокола: Kerberos и NTLM

NTLM



Процесс сертификации выглядит следующим образом:

  • Клиент генерирует хэш NTLM локально, и это значение — это хеш-значение пароля пользователя.
  • Клиент отправляет имя пользователя на сервер приложений.
  • Сервер приложения генерирует случайное значение для клиента, которое обычно называется nonce или challenge.
  • Клиент шифрует NONCE с помощью NTLM-хэша и отправляет его на сервер приложений.
  • После получения её сервер приложения отправляет его на сервер AD вместе с именем пользователя и nonce.
  • AD генерирует хэш NTLM на основе пароля пользователя, шифрует nonce и затем сравнивает сообщение клиента.
  • Если значения совпадают, аутентификация проходит, а если они разные — аутентификация не проходит.


Керберос



Ключевые термины:

  • KDC: Центр распределения ключей, который предоставляет две услуги: сервис аутентификации (AS) и сервис выдачи билетов (TGS). Домен генерирует доменную учётную запись под названием krbtgt для KDC, а TGT использует пароль для шифрования и расшифровки. Когда пользователь домена обращается впервые к нему, он хочет, чтобы AS аутентифицировался, а после передачи AS запрашивает TGS предоставить заявку (TGT) пользователю домена.
  • SPN:Service Principal Name。 Помимо учетных записей пользователей, аккаунты AD также имеют сервисные аккаунты. К приложению также будет связанная сервисная запись, что облегчит доступ к серверным ресурсам, таким как exchange, SQL, IIS и др. SPN — это сервис, используемый для связи сервиса, активированного приложением, с сервисной записью в AD.


Процесс сертификации:

1. Когда пользователь домена входит, в DC отправляется AS-запрос (AS_REQ), который содержит зашифрованную временную метку, зашифрованную с хэшем пароля пользователя и именем пользователя.

2. После получения запроса DC использует хэш имени пользователя и пароля пользователя для его расшифровки. DC отвечает клиенту AS (AS_REP), который включает сессионный ключ и TGT (Ticket Granting Ticket). Ключ сессии шифруется с хэшем пароля пользователя. TGT содержит членство в группе, домен, метку времени, IP клиента и ключ сессии. TGT также зашифрован, зашифрован паролем от аккаунта KDC, и клиент не может его расшифровать. (TGT по умолчанию действует 10 часов, и обновления, происходящие после этого, не требуют повторного ввода пароля)

3. Когда пользователь запрашивает ресурс в домене, отправляется запрос на сервис предоставления билетов (TGS_REQ), включающий имя пользователя, метку времени, TGT и SPN. Временные метки и имена пользователей шифруются сессионным ключом.

4. После получения запроса KDC сначала определяет, есть ли в запросе SPN, затем расшифровывает TGT, извлекает сессионный ключ и временную метку в TGT и использует сессионный ключ в TGT для расшифровки зашифрованного имени пользователя и временной метки. Проведите несколько проверок:

(1) Временная метка, расшифрованная TGT, должна быть действительной. (Если происходит повторная атака, временная метка недействительна.) )

(2) Соответствует ли имя пользователя в TGT с именем пользователя в запросе.

(3) Совпадает ли IP-адрес в TGT с IP-адресом в запросе.

Проверка будет отвечать на Ticketing Granting ServiceReply(TGS_REP клиента, который содержит авторизованный доступ SPN, новый сессионный ключ для доступа между клиентом и SPN, а также новый сервисный тикет Service Ticket (включая новый сессионный ключ, имя пользователя и группу пользователей). И авторизованный SPN, и сессионный ключ, обращающийся к SPN, шифруются сессионным ключом в TGT. Сервисный тикет шифруется паролем соответствующего аккаунта SPN.

1. После вышеуказанного процесса пользователь получает ключ сессии и сервисный тикет, связанные с сервисом приложения. Пользователь отправляет запрос приложения (AP_REQ) в службу приложения, который содержит имя пользователя и метку времени, и шифруется сессионным ключом.

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

Оригинальный адрес:Вход по гиперссылке виден.





Предыдущий:Браузер Windows Edge открывает решение для сбоев с помощью IE
Следующий:DNS-over-HTTPS и DNS-over-TLS для разрешения доменных имён
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com