LINUX.ORG.RU
ФорумAdmin

Получить SPNs из Windows AD на MacOS

 , ,


0

1

Всем здравствуйте.

UPD: я не прошу готового решения, если знаете что-то - посоветуйте куда копать.

Есть небольшая ргадость на сей вечер.
Собс-нно сабж.

Есть MacOS подключенный в Шинд Windows AD.
В Windows AD есть такая вещь как SPN [Service Principal Names].

Задача: нужно по запросу получать те самые (будь они не ладны) SPN.

Для чего: SPN используется для аутентификации на ресурсе при настройке самой MacOS.

Что накопал: SPN прилетают (удалял перед тем) после рестарта Wi-Fi

ifconfig %wifi_interface% down
ifconfig %wifi_interface% up

То есть когда поднимается сеть.

Посмотреть есть ли нужная запись можно командой: sudo ktutil list

Вывод: sudo ktutil list

FILE:/etc/krb5.keytab:

Vno  Type                     Principal                               
  7  arcfour-hmac-md5         host/ltcs-mm-001.domain.lcl@DOMAIN.LCL                                                                             
  7  aes256-cts-hmac-sha1-96  host/ltcs-mm-001.domain.lcl@DOMAIN.LCL                                                                             
  7  aes128-cts-hmac-sha1-96  host/ltcs-mm-001.domain.lcl@DOMAIN.LCL                                                                             
  7  arcfour-hmac-md5         afpserver/ltcs-mm-001.domain.lcl@DOMAIN.LCL                                                                        
  7  aes256-cts-hmac-sha1-96  afpserver/ltcs-mm-001.domain.lcl@DOMAIN.LCL                                                                        
  7  aes128-cts-hmac-sha1-96  afpserver/ltcs-mm-001.domain.lcl@DOMAIN.LCL                                                                        
  7  arcfour-hmac-md5         cifs/ltcs-mm-001.domain.lcl@DOMAIN.LCL                                                                             
  7  aes256-cts-hmac-sha1-96  cifs/ltcs-mm-001.domain.lcl@DOMAIN.LCL                                                                             
  7  aes128-cts-hmac-sha1-96  cifs/ltcs-mm-001.domain.lcl@DOMAIN.LCL                                                                             
  7  arcfour-hmac-md5         vnc/ltcs-mm-001.domain.lcl@DOMAIN.LCL                                                                              
  7  aes256-cts-hmac-sha1-96  vnc/ltcs-mm-001.domain.lcl@DOMAIN.LCL                                                                              
  7  aes128-cts-hmac-sha1-96  vnc/ltcs-mm-001.domain.lcl@DOMAIN.LCL                                                                              
  7  arcfour-hmac-md5         ltcs-mm-001$@DOMAIN.LCL                                                                                            
  7  aes256-cts-hmac-sha1-96  ltcs-mm-001$@DOMAIN.LCL                                                                                            
  7  aes128-cts-hmac-sha1-96  ltcs-mm-001$@DOMAIN.LCL       

То есть мне нужно как-то перезагрузить opendirectoryd/Kerberos или хз даже.
Знаний не хватает или опыта.

По SPN читал вот эту доку: https://docs.microsoft.com/en-us/windows/win32/ad/service-principal-names


Ответ на: комментарий от anonymous

Ок. Как на Linux можно получить эти же записи повторно? Посмотреть на них можно командой sudo klist -kte

Вывод

   2 12/24/19 17:15:22 PC-ANSIBLE$@DOMAIN.LCL (des-cbc-md5) 
   2 12/24/19 17:15:22 PC-ANSIBLE$@DOMAIN.LCL (aes128-cts-hmac-sha1-96) 
   2 12/24/19 17:15:22 PC-ANSIBLE$@DOMAIN.LCL (aes256-cts-hmac-sha1-96) 
   2 12/24/19 17:15:22 PC-ANSIBLE$@DOMAIN.LCL (arcfour-hmac) 
i3wm ()
Ответ на: комментарий от i3wm

Ок. Как на Linux можно получить эти же записи повторно?

не очень понял, что значит повторно, они же не протухают

в пакете с утилитами MIT kerberos есть kadmin

# kadmin -p $ADMINNAME

kadmin> listprincs
kadmin> ktadd $PRINCIPAL
``
router ★★★★★ ()
Ответ на: комментарий от router

не очень понял, что значит повторно, они же не протухают

Мне нужно посмотреть есть ли они, и если есть - тогда окей, а если нет - нужно форсировать получение.

То есть, грубо говоря - сделать pull.
Можно форсировать получение потушив/подняв сеть, но это плохая идея как по мне.

А еще бывает, что ПК долго не включался и записи разные в AD и на ПК.
Тогда тоже нужно удалить старые и сделать pull

i3wm ()

SPN используется для аутентификации на ресурсе при настройке самой MacOS.

Нет. SPN нужен для сервера.
Допустим, есть у тебя Web-cервер. И вот ты хочешь на нем проводить аутентификацию пользователей. Вот тогда тебе нужен SPN. Это только твой личный SPN, и никто менять его не вправе! Измениться он может только если ты сам захочешь поменять пароль у аккаунта в AD, к которому привязан этот SPN. Но коли уж ты меняешь пароль - то уж будь добр заново выгрузить ключи в /etc/krb5.keytab после этого.

А если твой SPN вдруг меняется сам по себе без твоего ведома - это писец какой. Это значит, что твой сервис вышибли из домена. Это значит, ты ничего не контролируешь.

Короче все у тебя через жопу как-то.

bigbit ★★★★★ ()
Ответ на: комментарий от bigbit

В моем случае используется SPN обьекта компьютер и вот нужно именно это:

заново выгрузить ключи в /etc/krb5.keytab после этого.

Я когда ПК в домен ввожу, он не сразу получает SPN.
И нужно это дело ему форсировать. Не будет же скрипт ждать, когда-там SPN прилетит.

Большое спасибо за ответ.

i3wm ()
Ответ на: комментарий от i3wm

Я когда ПК в домен ввожу, он не сразу получает SPN.

Это ерунда какая-то.
Ввод в домен и заключается в создании shared-secret'а: в AD и в локальном файле (/etc/krb5.keytab). При вводе в домен ключи сами должны выгружаться в локальный кейтаб. «net ads join» или «acli» делают это автоматически. Если это не делается, то это не ввод в домен, а хрень какая-то.

bigbit ★★★★★ ()