Puncte:0

Kerberos kinit cu keytab nu funcționează cu anumite metode de criptare -- PER UTILIZATOR

drapel ru

Am doi utilizatori, să zicem utilizatorA și utilizatorB. utilizatorA se poate folosi un keytab cu aes dar nu rc4 și utilizatorB se poate folosi un keytab cu rc4 dar nu aes.

Acesta este fragmentul care realizează tastatura de taste, o testează și o pune la loc:

#!/bin/sh
PRINCIPAL="xxxxx"
# METHOD="rc4-hmac"
# METHOD="aes256-cts-hmac-sha1-96"
METODA="rc4-hmac-exp"
KEYTAB="/tmp/$PRINCIPAL.keytab.$METHOD"
PAROLA='xxxxx'
setați -x

umask 0007

KEYTAB_TMP=$(mktemp "/tmp/$KEYTAB.XXXXXXXXXXXXXXXXXX")

function cleanup {
  rm -f „$KEYTAB_TMP”
} 
curățare capcană EXIT

așteaptă << EOF
    setați timeout 10
    spawn /usr/bin/ktutil
    așteaptă {
       "ktutil: " { trimite "addent -parola -p [email protected] -k 1 -e $METODA\r" }
       timeout { pune „Timeout în așteptarea promptului ktutil.”; ieșirea 1; }
    }  
    așteaptă {
       -re "Parola pentru \S+: " { trimite "$PAROLA\r" }
       timeout { pune „Timeout în așteptarea solicitării parolei.”; ieșirea 1; }
    }  
    așteaptă {
       "ktutil: " { trimite "wkt $KEYTAB_TMP\r" }
    }  
    așteaptă {
       "ktutil: " { trimite "q\r" }
    }  
EOF 

chown „$PRINCIPAL”:rădăcină „$KEYTAB_TMP”
chmod ug=rw,o= "$KEYTAB_TMP"

dacă [ -s „$KEYTAB_TMP” ]
atunci
   dacă /usr/bin/klist -e -k -t -K „$KEYTAB_TMP”
   atunci
      if su "$PRINCIPAL" -c "env KRB5_TRACE=/tmp/krb5_trace.$PRINCIPAL.$METHOD /usr/bin/kinit [email protected] -V -k -t $KEYTAB_TMP"
      cel
         mv -f „$KEYTAB_TMP” „$KEYTAB”
      fi
   fi
fi

Iată următorul utilizatorB folosind aes:

[28458] 1625700358.740403: Obținerea acreditărilor inițiale pentru [email protected]
[28458] 1625700358.740404: S-au căutat etypes în keytab: aes256-cts
[28458] 1625700358.740406: Trimiterea cererii neautentificate
[28458] 1625700358.740407: Trimiterea cererii (185 de octeți) către FOO.COM
[28458] 1625700358.740408: Se inițiază conexiunea TCP la fluxul 10.128.65.6:88
[28458] 1625700358.740409: Trimiterea cererii TCP la fluxul 10.128.65.6:88
[28458] 1625700358.740410: Răspuns primit (185 octeți) din fluxul 10.128.65.6:88
[28458] 1625700358.740411: Terminarea conexiunii TCP la fluxul 10.128.65.6:88
[28458] 1625700358.740412: Răspunsul a fost de la master KDC
[28458] 1625700358.740413: Eroare primită de la KDC: -1765328359/Este necesară o pre-autentificare suplimentară
[28458] 1625700358.740416: Preautentificare folosind datele metodei KDC
[28458] 1625700358.740417: Prelucrarea tipurilor de preautentificare: PA-PK-AS-REQ (16), PA-PK-AS-REP_OLD (15), PA-ETYPE-INFO2 (19), PA-ENC-TIMESTAMP (2)
[28458] 1625700358.740418: Informații etype selectate: etype rc4-hmac, sare "", parametri ""
[28458] 1625700358.740419: Se preia [email protected] din FILE:/tmp/userB.keytab.aes256-cts-hmac-sha1-96.a148ff3d6c5ccc05f4644a2cdab. intrare găsită pentru [email protected]
[28458] 1625700358.740420: Modulul Preauth encrypted_timestamp (2) (real) a returnat: -1765328203/Nu a fost găsită nicio intrare în tabelul de chei pentru [email protected]

Aici folosește rc4:

[28706] 1625700362.799792: Obținerea acreditărilor inițiale pentru [email protected]
[28706] 1625700362.799793: S-au căutat etypes în keytab: rc4-hmac-exp
[28706] 1625700362.799795: Trimiterea cererii neautentificate
[28706] 1625700362.799796: Trimiterea cererii (185 de octeți) către FOO.COM
[28706] 1625700362.799797: se inițiază conexiunea TCP la fluxul 10.128.65.6:88
[28706] 1625700362.799798: Trimiterea cererii TCP la transmiterea în flux 10.128.65.6:88
[28706] 1625700362.799799: Răspuns primit (185 octeți) din fluxul 10.128.65.6:88
[28706] 1625700362.799800: Terminarea conexiunii TCP la fluxul 10.128.65.6:88
[28706] 1625700362.799801: Răspunsul a fost de la master KDC
[28706] 1625700362.799802: Eroare primită de la KDC: -1765328359/Este necesară o pre-autentificare suplimentară
[28706] 1625700362.799805: Preautentificare folosind datele metodei KDC
[28706] 1625700362.799806: Prelucrarea tipurilor de preautentificare: PA-PK-AS-REQ (16), PA-PK-AS-REP_OLD (15), PA-ETYPE-INFO2 (19), PA-ENC-TIMESTAMP (2)
[28706] 1625700362.799807: Informații etype selectate: etype rc4-hmac, sare "", parametri ""
[28706] 1625700362.799808: Recuperare [email protected] din FILE:/tmp/userB.keytab.rc4-hmac-exp.3ddbc476378a57f4a7f4dbb700af6316 (vno 0, enc0maccce result with 04, enc00378a57f4a7f4dbb700af6316)
[28706] 1625700362.799809: cheie AS obținută pentru marcajul temporal criptat: rc4-hmac/B9A0
[28706] 1625700362.799811: Encrypted timestamp (for 1625700362.799810): plain 301AA011180F32303231303730373233323630325AA10502030C3442, encrypted 88F8E7E775BC3B93D0F392D9967E061B36246899F942A33EC123103A531DB6D2FB580A3C96FA97E24A74A844A41B532506F54F4C
[28706] 1625700362.799812: Modulul Preauth encrypted_timestamp (2) (real) a returnat: 0/Succes
[28706] 1625700362.799813: Preautentificare produsă pentru următoarea solicitare: PA-ENC-TIMESTAMP (2)
[28706] 1625700362.799814: Trimiterea cererii (260 de octeți) către FOO.COM
[28706] 1625700362.799815: Se inițiază conexiunea TCP la fluxul 10.128.65.6:88
[28706] 1625700362.799816: Trimiterea cererii TCP la fluxul 10.128.65.6:88
[28706] 1625700362.799817: Răspuns primit (1774 de octeți) din fluxul 10.128.65.6:88
[28706] 1625700362.799818: Terminarea conexiunii TCP la fluxul 10.128.65.6:88
[28706] 1625700362.799819: Răspunsul a fost de la master KDC
[28706] 1625700362.799820: Sare derivată de la principal: FOO.COMuserB
[28706] 1625700362.799821: cheie AS determinată de preauth: rc4-hmac/B9A0
[28706] 1625700362.799822: Răspuns AS decriptat; cheia de sesiune este: aes256-cts/F217
[28706] 1625700362.799823: Negociere RAPIDĂ: indisponibilă
[28706] 1625700362.799824: Se inițializează KEYRING:persistent:207:207 cu princ implicit [email protected]
[28706] 1625700362.799825: Stocarea [email protected] -> krbtgt/[email protected] în KEYRING:persistent:207:207
[28706] 1625700362.799826: Stocarea configurației în KEYRING:persistent:207:207 pentru krbtgt/[email protected]: pa_type: 2
[28706] 1625700362.799827: Stocarea [email protected] -> krb5_ccache_conf_data/pa_type/krbtgt\/FOO.COM\@FOO.COM@X-CACHECONF: în KEYRING:persistent:207:207

Iată un eșantion de ieșiri ale scriptului pentru userB:

+ așteptați
spawn /usr/bin/ktutil
ktutil: addent -parola -p [email protected] -k 1 -e aes256-cts-hmac-sha1-96
Parola pentru [email protected]: 
ktutil: wkt /tmp/userB.keytab.aes256-cts-hmac-sha1-96.873c0ce2947f8bd6caea07de0d1d02eb
ktutil: + chown userB:root /tmp/userB.keytab.aes256-cts-hmac-sha1-96.873c0ce2947f8bd6caea07de0d1d02eb
+ chmod ug=rw,o= /tmp/userB.keytab.aes256-cts-hmac-sha1-96.873c0ce2947f8bd6caea07de0d1d02eb
+ '[' -s /tmp/userB.keytab.aes256-cts-hmac-sha1-96.873c0ce2947f8bd6caea07de0d1d02eb ']'
+ /usr/bin/klist -e -k -t -K /tmp/userB.keytab.aes256-cts-hmac-sha1-96.873c0ce2947f8bd6caea07de0d1d02eb
Nume tasta de taste: FILE:/tmp/userB.keytab.aes256-cts-hmac-sha1-96.873c0ce2947f8bd6caea07de0d1d02eb
Principalul marcaj de timp KVNO
---- ------------------- --------------------------- ---------------------------
   1 07.09.2021 10:24:05 [email protected] (aes256-cts-hmac-sha1-96) (0xdecff4a27a46a16267567a080311195e4e33d29caf3c4a2edc78b25d20edc78b)
+ su userB -c 'env KRB5_TRACE=/tmp/krb5_trace.userB.aes256-cts-hmac-sha1-96 /usr/bin/kinit [email protected] -V -k -t /tmp/userB.keytab.aes256 -cts-hmac-sha1-96.873c0ce2947f8bd6caea07de0d1d02eb'
Folosind memoria cache existentă: persistent:207:207
Utilizarea principalului: [email protected]
Folosind keytab: /tmp/userB.keytab.aes256-cts-hmac-sha1-96.873c0ce2947f8bd6caea07de0d1d02eb
kinit: Autentificarea prealabilă a eșuat: Nu a fost găsită nicio intrare în tabelul de chei pentru [email protected] în timpul obținerii acreditărilor inițiale

+ așteptați
spawn /usr/bin/ktutil
ktutil: addent -parola -p [email protected] -k 1 -e rc4-hmac-exp
Parola pentru [email protected]: 
ktutil: wkt /tmp/userB.keytab.rc4-hmac-exp.0db811bfd7e10197146bcca944b942d9
ktutil: + chown userB:root /tmp/userB.keytab.rc4-hmac-exp.0db811bfd7e10197146bcca944b942d9
+ chmod ug=rw,o= /tmp/userB.keytab.rc4-hmac-exp.0db811bfd7e10197146bcca944b942d9
+ '[' -s /tmp/userB.keytab.rc4-hmac-exp.0db811bfd7e10197146bcca944b942d9 ']'
+ /usr/bin/klist -e -k -t -K /tmp/userB.keytab.rc4-hmac-exp.0db811bfd7e10197146bcca944b942d9
Nume tastatură: FILE:/tmp/userB.keytab.rc4-hmac-exp.0db811bfd7e10197146bcca944b942d9
Principalul marcaj de timp KVNO
---- ------------------- --------------------------- ---------------------------
   1 07.09.2021 10:24:30 [email protected] (arcfour-hmac-exp) (0xd6ed7055f216ab755e1827f582b35e24)
+ su userB -c 'env KRB5_TRACE=/tmp/krb5_trace.userB.rc4-hmac-exp /usr/bin/kinit [email protected] -V -k -t /tmp/userB.keytab.rc4-hmac-exp .0db811bfd7e10197146bcca944b942d9'
Folosind memoria cache existentă: persistent:207:207
Utilizarea principalului: [email protected]
Folosind keytab: /tmp/userB.keytab.rc4-hmac-exp.0db811bfd7e10197146bcca944b942d9
Autentificat la Kerberos v5

Rețineți că ambele urme au ..

Informații etype selectate: etype rc4-hmac, sare "", parametrii ""X

Dar userA ajunge să aibă în ambele jurnale, care eșuează invers:

Informații etype selectate: etype aes256-cts...

Lucrez cu administratorii Kerberos -- este AD. Cei doi utilizatori sunt în OU-uri diferite -- pot exista politici diferite bazate pe OU? Există ceva la care ar trebui să-i pun pe administratori să se uite?

user1686 avatar
drapel fr
Puteți obține jurnalele de urmărire ale unui kinit _bazat pe parolă_ pentru acești utilizatori? Cât timp în urmă au fost schimbate parolele acelor utilizatori?
Puncte:1
drapel cn

msDS-SupportedEncryptionTypes va diferi probabil între cei doi utilizatori.

Obțineți un font monospațiat, și răsturnați biții doriti cu documentația din linkul de mai sus. (AD reprezintă acest lucru ca zecimal prin interfața sa LDAP.)

000000000000IHGF00000000000EDCBA Bit Flag Guide
00000000000000000000000000011000 24 (Decimal) este ceea ce ar trebui să doriți numai pentru AES.
00000000000000010000000000011000 65560 (Decimal) este AES numai cu FAST.

În OpenLDAP, aceasta va arăta astfel:

$ ldapsearch -h example.com -b DC=exemplu,DC=com,cn=nume de utilizator msDS-SupportedEncryptionTypes
dn: CN=nume utilizator,OU=Utilizatori de domeniu,DC=exemplu,DC=com
msDS-SupportedEncryptionTypes: 24

Din Utilizatori și computere Active Directory ar trebui să arate așa:
[Caseta de dialog AD care arată Opțiunile AES Kerberos]

drapel ru
Acest câmp ar trebui să fie vizibil când mă uit la utilizator într-o interogare ldap? Niciun utilizator nu are nimic care să semene cu acest câmp cred.
84104 avatar
drapel cn
@rrauenza Depinde de ce folosiți pentru a interoga, dar da. Am adăugat câteva exemple de ieșire, atât pentru OpenLDAP, cât și pentru „Utilizatori și computere Active Directory”.

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.