Kerberose kliendi seadistamine19. May '15
Sissejuhatus
Igas domeeni liidetaval masinal peaks olema Kerberose klientrakendused paigaldatud ning õigesti seadistatud. Kerberose klientrakendustega saab manipuleerida Kerberose ticketeid. Käesolev artikkel käsitleb Kerberose klientrakenduste seadistamist Linuxil ning nimetatud protseduurid peaks läbi viima kõigil tööjaamadel, sülearvutitel ning teenusserveritel kus soovitakse kasutada Kerberosega autentimist.
Paigaldus
Paigalda Kerberose rakendused kinit, klist, krenew, kdestroy, kpasswd, kswitch:
apt-get install krb5-userKui kasutusel on ka graafiline kasutajaliides:
apt-get install krb5-auth-dialogSeadistamine
Kerberose kliendi konfiguratsioon paigutatakse /etc/krb5.conf faili
[libdefaults]
# Vaikimisi realm, kui domeeni pole täpsustatud
default_realm = EXAMPLE.ORG
# Otsi _kerberos SRV kirjeid nimeserverist
dns_lookup_realm = true
# Usalda nimeserverit
dns_lookup_kdc = true
# Kas ticket-granting-ticketi saab kaasa võtta
forwardable = true
proxiable = true
# Nimede lahendamisel kontrolli, et IP ka lahenduks
rdns = true
# Luba uuendada TGT-d
renewable = trueTicket-granting-ticketi küsimine
Ticket-granting-ticket ehk lühemalt TGT on pilet, mille alusel saab küsida pileteid teenusserverites autentimiseks.
Küsi domeenikontrollerist ticket-granting-ticket:
kinit kasutajanimi@EXAMPLE.ORGKui default_realm on määratud piisab ka lihtsalt kasutajanimest:
kinit kasutajanimiKui ühtegi probleemi ei esinenud siis peaks Kerberose võtmepuhvris olema ticket-granting-ticket:
klistVäljund peaks välja nägema järgnev:
Ticket cache: FILE:/tmp/krb5cc_10000_UJgNnS
Default principal: kasutajanimi@EXAMPLE.ORG
Valid starting       Expires              Service principal
23.05.2015 15:46:30  24.05.2015 01:46:27  krbtgt/EXAMPLE.ORG@EXAMPLE.ORGKui Kerberose kliendi seadistustes on renewable = true, saab ticket-granting-ticketit ka uuendada:
krenewNii öelda välja logimiseks piisab kõigi piletite kustutamisest:
kdestroyKerberose veateated
Kerberose klientrakenduse veateated pole kuigi inimloetavad, käesolevas sektsioonis on välja toodud tüüpilised veateated ning nende põhjused.
Kui Kerberose server ei suuda kasutajat leida siis võib oodata järgnevat väljundit käsult kinit. Kontrolli, et kasutajanimi on ikka õigesti sisestatud:
kinit: Client 'kasutajanimi@EXAMPLE.ORG' not found in Kerberos database while getting initial credentialsJärgnev kinit väljund viitab valele paroolile. Proovi uuesti parool sisestada:
kinit: Bad encryption type while getting initial credentialsJärgnev veateade tähendab, et konto leiti ja ka parool klappis, ent sellegipoolest sisse logida ei lasta. Tüüpiline põhjus on konto aegumine, proovi lähtestada konto aegumine samba-tool user setexpiry --noexpiry kasutajanimi:
kinit: Clients credentials have been revoked while getting initial credentialsJärgnev väljund tähendab, et Kerberos klientrakendus ei suuda leia võtmejaotuskeskust (Key Distribution Center) ehk maakeeli Kerberos serverit. Tüüpiliselt on põhjuseks valesti seadistatud või kättesaamatu nimeserver, mistõttu masin ei suuda lahendada _ldap._tcp.example.org teenuskirjet, vt järgmist sektsiooni.
kinit: Cannot find KDC for realm "EXAMPLE.ORG" while getting initial credentialsNimeserveri kontrollimine
Ülal seadistatud dns_lookup_realm = true tähendab, et Kerberose klient püüab Kerberose realmile vastavat Kerberose serverit leida nimeserveri teenuskirjetega (SRV).
Kontrolli, et nimeserver teenuskirjeid õigesti lahendaks:
nslookup -type=SRV _kerberos._tcp.example.org
nslookup -type=SRV _kerberos._udp.example.orgHuvipakkuvad ANSWER SECTION read ütlevad, mis hostinimel ning pordil teenused kuulab:
_kerberos._tcp.id.stipit.com        service = 0 100 88 dc1.example.org.
_kerberos._udp.id.stipit.com        service = 0 100 88 dc1.example.org.See tähendab, et Kerberos kuulab dc1.example.org masinas TCP/UDP pordil 88.
Vale kellaaeg
Tüüpilised probleemid Kerberosega tulenevad valest kellaajast. Kella õigeks seadmiseks võib kasutada kellaservereid:
ntpdate 0.ubuntu.pool.ntp.org 1.ubuntu.pool.ntp.org 2.ubuntu.pool.ntp.org 3.ubuntu.pool.ntp.orgJuhul kui tegu on dual-boot masinaga võib olla mõistlik seadistada Linux salvestama riistvaralisse kella kohalikku aega UTC asemel:
sed -i -e "s/^UTC=.*$/UTC=no/" /etc/default/rcSWindows
Windowsis on sisseehitatud mõned Kerberose tööriistad. Kerberose ticketite kuvamiseks analoogselt Linuxilisega:
klistTicketi küsimiseks kohaliku kasutaja alt:
runas  /user:kasutajanimi@example.org cmd