Puncte:1

Delegare constrânsă în diferite domenii

drapel pe

Am Red Hat IdM pe RHEL8 cu o încredere bidirecțională către AD pe Windows 2019. Ce funcționează în prezent:

  • Delegare restrânsă pentru clienții NFS. Clienții NFS pot uzurpa identitatea utilizatorilor din domeniul IdM (gssproxy).
  • Utilizatorii din domeniul AD se pot conecta la gazdele din domeniul IdM (încrederea funcționează).

Ceea ce nu funcționează este clientul NFS care încearcă să-și uzurpare identitatea utilizatorilor AD. Obținerea biletelor s4u2proxy pare să funcționeze numai pentru utilizatorii din domeniul IdM:

$ kinit -k
$ kvno -I user01@IDM.EXAMPLE.COM -P nfs/nfs.idm.example.com
nfs/nfs.idm.example.com@IDM.EXAMPLE.COM: kvno = 1
$ klist
Cache de bilete: KCM:0
Principalul implicit: host/client.idm.example.com@IDM.EXAMPLE.COM

Valabil începând cu expiră principalul serviciului
26.05.2022 15:15:22 27.05.2022 14:24:21 host/client.idm.example.com@IDM.EXAMPLE.COM
        pentru client user01@IDM.EXAMPLE.COM
26.05.2022 15:14:54 27.05.2022 14:24:21 krbtgt/IDM.EXAMPLE.COM@IDM.EXAMPLE.COM
26.05.2022 15:15:22 27.05.2022 14:24:21 nfs/nfs.idm.example.com@IDM.EXAMPLE.COM
        pentru client user01@IDM.EXAMPLE.COM

Apoi încercați să uzurpare identitatea unui utilizator AD:

$ kdestroy  
$ kinit -k
$ kvno -I user02@AD.EXAMPLE.COM -P nfs/nfs.idm.example.com
kvno: TGT a fost revocat la obținerea acreditărilor pentru nfs/nfs.idm.example.com@IDM.EXAMPLE.COM
$ klist
Cache de bilete: KCM:0
Principalul implicit: host/client.idm.example.com@IDM.EXAMPLE.COM

Valabil începând cu expiră principalul serviciului
26.05.2022 15:15:37 27.05.2022 15:10:07 krbtgt/IDM.EXAMPLE.COM@IDM.EXAMPLE.COM
26.05.2022 15:15:50 27.05.2022 15:10:07 krbtgt/AD.EXAMPLE.COM@IDM.EXAMPLE.COM

Krb5kdc.log are poate un indiciu. Când uzurpare identitatea unui utilizator din domeniul KDC însuși (s4u2self):

27 mai 12:34:23 kerberos.idm.example.com krb5kdc[1732](info): TGS_REQ (6 etipuri {aes256-cts-hmac-sha1-96(18), aes256-cts-hmac-sha384-192( 20), camelia256-cts-cmac(26), aes128-cts-hmac-sha1-96(17), aes128-cts-hmac-sha256-128(19), camelia128-cts-cmac(25)}) 192.168. 1.42: PROBLEMA: authtime 1653647627, etypes {rep=aes256-cts-hmac-sha1-96(18), tkt=aes256-cts-hmac-sha1-96(18), ses=aes256-cts-hmac-sha1-96 (18)}, host/client.idm.example.com@IDM.EXAMPLE.COM pentru host/client.idm.example.com@IDM.EXAMPLE.COM
27 mai 12:34:23 kerberos.idm.example.com krb5kdc[1732](info): ... PROTOCOL-TRANZITION s4u-client=user01@IDM.EXAMPLE.COM
27 mai 12:34:23 kerberos.idm.example.com krb5kdc[1732](info): închidere fd 12

Când încercați să vă uzurpați identitatea utilizatorului din domeniul „de încredere” la distanță (s4u2self):

27 mai 12:34:47 kerberos.idm.example.com krb5kdc[1732](info): TGS_REQ (6 etipuri {aes256-cts-hmac-sha1-96(18), aes256-cts-hmac-sha384-192( 20), camelia256-cts-cmac(26), aes128-cts-hmac-sha1-96(17), aes128-cts-hmac-sha256-128(19), camelia128-cts-cmac(25)}) 192.168. 1.42: PROBLEMA: authtime 1653647627, etypes {rep=aes256-cts-hmac-sha1-96(18), tkt=aes256-cts-hmac-sha1-96(18), ses=aes256-cts-hmac-sha1-96 (18)}, host/client.idm.example.com@IDM.EXAMPLE.COM pentru krbtgt/AD.EXAMPLE.COM@IDM.EXAMPLE.COM
27 mai 12:34:47 kerberos.idm.example.com krb5kdc[1732](info): închidere fd 12
27 mai 12:34:47 kerberos.idm.example.com krb5kdc[1732](Eroare): Problemă PAC: PAC are un SID diferit de ceea ce pretinde solicitantul PAC. PAC [S-1-5-21-2772319413-1696261159-756038808-1602] vs solicitant PAC [S-1-5-21-956857513-2416212418-705989587-515]
27 mai 12:34:47 kerberos.idm.example.com krb5kdc[1732](info): TGS_REQ : handle_authdata (-1765328364)
27 mai 12:34:47 kerberos.idm.example.com krb5kdc[1732](info): TGS_REQ (6 etipuri {aes256-cts-hmac-sha1-96(18), aes256-cts-hmac-sha384-192( 20), camelia256-cts-cmac(26), aes128-cts-hmac-sha1-96(17), aes128-cts-hmac-sha256-128(19), camelia128-cts-cmac(25)}) 192.168. 1.42: HANDLE_AUTHDATA: authtime 1653647627, etypes {rep=UNSUPPORTED:(0)} host/client.idm.example.com@IDM.EXAMPLE.COM pentru host/client.idm.example.com@IDM.EXAMPLE.COM, TGT a fost revocat
27 mai 12:34:47 kerberos.idm.example.com krb5kdc[1732](info): ... PROTOCOL-TRANZITION s4u-client=user02@AD.EXAMPLE.COM
27 mai 12:34:47 kerberos.idm.example.com krb5kdc[1732](info): închidere fd 12

knvo arată acest lucru în modul de depanare:

[root@client ~]# kvno -I user02@AD.EXAMPLE.COM host/client.idm.example.com
[8389] 1653672526.395590: Obținerea acreditărilor user02@AD.EXAMPLE.COM -> host/client.idm.example.com@IDM.EXAMPLE.COM folosind ccache KCM:0
[8389] 1653672526.395591: Recuperare host/client.idm.example.com@IDM.EXAMPLE.COM -> krb5_ccache_conf_data/start_realm@X-CACHECONF: de la KCM:0 cu rezultat: -1765328243 acreditare/nu a fost găsită
[8389] 1653672526.395592: Se preia user02@AD.EXAMPLE.COM -> host/client.idm.example.com@IDM.EXAMPLE.COM de la KCM:0 cu rezultat: -1765328243/Matching credential not found
[8389] 1653672526.395593: Obținerea acreditărilor host/client.idm.example.com@IDM.EXAMPLE.COM -> krbtgt/AD.EXAMPLE.COM@IDM.EXAMPLE.COM folosind ccache KCM:0
[8389] 1653672526.395594: Recuperare host/client.idm.example.com@IDM.EXAMPLE.COM -> krb5_ccache_conf_data/start_realm@X-CACHECONF: de la KCM:0 cu rezultat: -1765328243 acreditare/nu a fost găsită
[8389] 1653672526.395595: Se preia gazdă/client.idm.example.com@IDM.EXAMPLE.COM -> krbtgt/AD.EXAMPLE.COM@IDM.EXAMPLE.COM de la KCM:0 cu rezultat: -1765328243/potrivire negăsită
[8389] 1653672526.395596: Se preia gazdă/client.idm.example.com@IDM.EXAMPLE.COM -> krbtgt/IDM.EXAMPLE.COM@IDM.EXAMPLE.COM de la KCM:0 cu rezultat: 0/Succes
[8389] 1653672526.395597: Începând cu TGT pentru domeniul clientului: host/client.idm.example.com@IDM.EXAMPLE.COM -> krbtgt/IDM.EXAMPLE.COM@IDM.EXAMPLE.COM
[8389] 1653672526.395598: Solicitare bilete pentru krbtgt/AD.EXAMPLE.COM@IDM.EXAMPLE.COM, trimiteri pe
[8389] 1653672526.395599: Subcheie generată pentru cererea TGS: aes256-cts/4F09
[8389] 1653672526.395600: etipuri solicitate în cererea TGS: aes256-cts, aes256-sha2, camelia256-cts, aes128-cts, aes128-sha2, camelia128-cts
[8389] 1653672526.395602: codificarea corpului cererii și a datelor în cerere FAST
[8389] 1653672526.395603: Se trimite cerere (1941 de octeți) către IDM.EXAMPLE.COM
[8389] 1653672526.395604: se inițiază conexiunea TCP la fluxul 192.168.1.40:88
[8389] 1653672526.395605: Trimiterea cererii TCP la fluxul 192.168.1.40:88
[8389] 1653672526.395606: Răspuns primit (1860 de octeți) din fluxul 192.168.1.40:88
[8389] 1653672526.395607: Terminarea conexiunii TCP la fluxul 192.168.1.40:88
[8389] 1653672526.395608: Răspunsul a fost de la master KDC
[8389] 1653672526.395609: Decodificare răspuns RAPID
[8389] 1653672526.395610: Cheie de răspuns RAPID: aes256-cts/7017
[8389] 1653672526.395611: răspunsul TGS este pentru host/client.idm.example.com@IDM.EXAMPLE.COM -> krbtgt/AD.EXAMPLE.COM@IDM.EXAMPLE.COM cu cheia de sesiune aes256-cts/D9C7
[8389] 1653672526.395612: Rezultat solicitare TGS: 0/Succes
[8389] 1653672526.395613: Acreditări primite pentru serviciul dorit krbtgt/AD.EXAMPLE.COM@IDM.EXAMPLE.COM
[8389] 1653672526.395614: Stocarea gazdă/client.idm.example.com@IDM.EXAMPLE.COM -> krbtgt/AD.EXAMPLE.COM@IDM.EXAMPLE.COM în KCM:0
[8389] 1653672526.395615: Obțineți credit prin TGT krbtgt/AD.EXAMPLE.COM@IDM.EXAMPLE.COM după ce ați solicitat gazdă\/client.idm.example.com\@IDM.EXAMPLE.COM@AD.EXAMPLE.COM (canonalizați pe )
[8389] 1653672526.395616: Subcheie generată pentru cererea TGS: aes256-cts/4CB0
[8389] 1653672526.395617: etipuri solicitate în cererea TGS: aes256-cts, aes256-sha2, camelia256-cts, aes128-cts, aes128-sha2, camelia128-cts
[8389] 1653672526.395619: codificarea corpului cererii și a padatelor în cerere FAST
[8389] 1653672526.395620: Se trimite cerere (2303 octeți) către AD.EXAMPLE.COM
[8389] 1653672526.395621: Se trimite interogarea URI DNS pentru _kerberos.AD.EXAMPLE.COM.
[8389] 1653672526.395622: URI răspuns: 0 100 "krb5srv:m:udp:belfast.ad.home."
[8389] 1653672526.395623: URI răspuns: 0 100 "krb5srv:m:tcp:belfast.ad.home."
[8389] 1653672526.395624: Se rezolvă numele de gazdă belfast.ad.home.
[8389] 1653672526.395625: Se rezolvă numele de gazdă belfast.ad.home.
[8389] 1653672526.395626: se inițiază conexiunea TCP la fluxul 192.168.1.50:88
[8389] 1653672526.395627: Trimiterea cererii TCP la fluxul 192.168.1.50:88
[8389] 1653672526.395628: Răspuns primit (1852 octeți) din fluxul 192.168.1.50:88
[8389] 1653672526.395629: Terminarea conexiunii TCP la fluxul 192.168.1.50:88
[8389] 1653672526.395630: Răspunsul a fost de la master KDC
[8389] 1653672526.395631: Decodificare răspuns RAPID
[8389] 1653672526.395632: Cheie de răspuns RAPID: aes256-cts/9CCA
[8389] 1653672526.395633: Serverul de răspuns krbtgt/IDM.EXAMPLE.COM@AD.EXAMPLE.COM diferă de gazda solicitată\/client.idm.example.com\@IDM.EXAMPLE.COM@AD.EXAMPLE.COM
[8389] 1653672526.395634: răspunsul TGS este pentru host/client.idm.example.com@IDM.EXAMPLE.COM -> krbtgt/IDM.EXAMPLE.COM@AD.EXAMPLE.COM cu cheia de sesiune aes256-cts/F05E
[8389] 1653672526.395635: Am credit; 0/Succes
[8389] 1653672526.395636: Obțineți credit prin TGT krbtgt/IDM.EXAMPLE.COM@AD.EXAMPLE.COM după ce ați solicitat host/client.idm.example.com@IDM.EXAMPLE.COM (canonizare activată)
[8389] 1653672526.395637: Subcheie generată pentru cererea TGS: aes256-cts/3CAC
[8389] 1653672526.395638: etipuri solicitate în cererea TGS: aes256-cts, aes256-sha2, camelia256-cts, aes128-cts, aes128-sha2, camelia128-cts
[8389] 1653672526.395640: codificarea corpului cererii și padata în cerere FAST
[8389] 1653672526.395641: Trimiterea cererii (2128 de octeți) către IDM.EXAMPLE.COM
[8389] 1653672526.395642: se inițiază conexiunea TCP la fluxul 192.168.1.40:88
[8389] 1653672526.395643: Trimiterea cererii TCP către stream 192.168.1.40:88
[8389] 1653672526.395644: Răspuns primit (432 de octeți) din fluxul 192.168.1.40:88
[8389] 1653672526.395645: Terminarea conexiunii TCP la fluxul 192.168.1.40:88
[8389] 1653672526.395646: Răspunsul a fost de la master KDC
[8389] 1653672526.395647: Decodificare răspuns RAPID
[8389] 1653672526.395648: Decodificare răspuns RAPID
[8389] 1653672526.395649: Am credit; -1765328364/TGT a fost revocat
kvno: TGT a fost revocat la obținerea acreditărilor pentru host/client.idm.example.com@IDM.EXAMPLE.COM

Cine știe dacă este posibil cu Red Hat IdM să uzurpi identitatea utilizatorilor din „celălalt” tărâm? De fapt, nu sunt sigur dacă aceasta este o funcție acceptată. Dacă este susținut, necesită ceva dincolo de încrederea bidirecțională?

Calchas avatar
drapel br
Ar fi util să vedeți jurnalele KDC (de la KDC-urile Windows și MIT) și jurnalul clientului (setați KRB5_TRACE=/dev/stderr în mediu).
drapel mx
răspunsul poate fi în rândul „[8389] 1653672526.395633”. Cum de „requesting host\/client.idm.example.com” are o bară oblică inversă \ în șir?
drapel pe
Se pare că problema a fost observată și aici: https://pagure.io/freeipa/issue/9124. O modalitate alternativă de a declanșa „problema PAC: PAC are un SID diferit de ceea ce pretinde solicitantul PAC”. în krb5kdc.log este să rulați o „ipa-print-pac impersonate” pentru un utilizator din domeniul la distanță.
Puncte:0
drapel ng

Asta suna ca https://pagure.io/freeipa/issue/9031 care ar trebui remediat în ipa-4.9.6-10 în RHEL 8.5+.

27 mai 12:34:47 kerberos.idm.example.com krb5kdc[1732](Eroare): Problemă PAC: PAC are un SID diferit de ceea ce pretinde solicitantul PAC. PAC [S-1-5-21-2772319413-1696261159-756038808-1602] vs solicitant PAC [S-1-5-21-956857513-2416212418-705989587-515]

Totuși, aceasta ar putea fi o problemă în remediere. Vă rugăm să creați o problemă la https://pagure.io/freeipa/new_issue cu detaliile tale.

drapel pe
Mulțumesc abbra, sunt pe RHEL 8.5 cu IPA 4.9.8-7. Am înregistrat problema pe page.io.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.