Назад | Перейти на главную страницу

Получить текущий Kerberos KVNO из Active Directory

У меня проблема с Kerberos при подключении хоста Linux к Windows KDC. Подозреваю, что виноват ключ Kerberos с неправильной версией.

Один из способов быть уверенным - удалить SPN и создать его заново, но это в производственной среде, и я должен отлаживать в режиме «только для чтения», если хотите.

Как я могу получить текущий Kerberos KVNO от участника в Active Directory?

С помощью командлетов AD PowerShell можно запросить kvno:

get-aduser <username> -property msDS-KeyVersionNumber

Я не понимаю, имеет ли КВНО какое-либо отношение к вашей проблеме, Хорошо, возможно, с клиентами Linux, но в любом случае используйте Wireshark / Network Monitor:

Номера версий ключей описаны в разделе 3.1.5.8 MS-KILE.

Кстати, Матиас Р. Джессен прав в том, что Windows обычно игнорирует KVNO. Но они по-прежнему реализованы в виде RFC-жалоб.

http://blogs.msdn.com/b/openspecification/archive/2009/11/13/to-kvno-or-not-to-kvno-what-is-the-version.aspx

Нет, винда на КВНО внимания не обращает. Он просто игнорирует это.

Но KVNO имеет некоторое значение в среде RODC:

http://blogs.msdn.com/b/openspecification/archive/2011/05/11/notes-on-kerberos-kvno-in-windows-rodc-environment.aspx

Дополнительная информация здесь: http://support.microsoft.com/kb/2716037

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

· Клиент - устройство MIT, получившее TGT от Windows KDC на RODC.

· Клиент передает TGT, созданный Windows KDC на RODC, на устройство MIT, которое, в свою очередь, использует TGT для запроса TGS от имени вызывающего пользователя.

В обоих сценариях TGT будет выдан RODC, где msDS-SecondaryKrbTgtNumber связанный с учетной записью krbtgt для этого контроллера домена только для чтения, будет иметь значение больше 32767.

В Linux вы можете использовать квно команда, чтобы получить его из KDC

[root@XXXX XXX]# kvno host/XXXX

host/XXXX@TEST.COM: kvno = 13
dsquery * -filter sAMAccountName=Accountname -attr msDS-KeyVersionNumber

Запрос от подключенного к AD сервера linux:

net ads search  -P  '(&(objectCategory=computer)(cn=HOSTNAME))'  msDS-KeyVersionNumber

заменить HOSTNAME с вашим именем хоста.