Kerberos

Kerberos er hunden med tre hoder som vokter inngangen til Hades. Den ble temmet av Herakles.

Kerberos er også navnet på en autentiseringstjeneste. Den er beskrevet i noen RFCer og har flere implementasjoner - de viktigste er Heimdal, utviklet ved KTH, MIT, utviklet ved (surprise) MIT og Microsofts AD, som er en suppe av LDAP og Kerberos. Implementasjonene har sine fordeler og svakheter og snakker sånn noenlunde med hverandre. På Samfundet bruker vi Heimdal Kerberos for autentisering.

Kerberosautentisering har mange fordeler. Det er tatt utgangspunkt i en ikke kan stole på nettverket, og at all trafikk kan avlyttes eller endres. Passord går aldri over nettverket, verken i klartekst eller i kryptert stand. Autentiseringen tar utgangspunkt i distribusjonen av billetter, og klientene bruker billettene til å autentisere seg overfor tjenester. Heller ikke tjenestene får vite passordet. Tjenestene kan være ukrypterte Billettene er kryptografisk sikre, og baserer seg på at dersom KDCen og du deler en felles hemmelighet (altså passordetet), kan man bli enige om en rekke ting uten å faktisk sende hemmeligheten.

I den ideelle verden ville alle tjenestene våre vært autentisert med Kerberos, og alt ville vært fint. Dessverre består verden av masse ikke-idelle tilstander. Hos oss mangler Samba Kerberos-autentisering. (Dette kommer med Samba 4, som blir ferdig når den blir ferdig.) For tiden vedlikeholder vi altså to passordsystemer - Kerberos og Samba.

Kerberos på Samfundet

Kerberosoppsettet på Samfundet er rimelig standard. Kerberos-realmet vårt heter AD.SAMFUNDET.NO. Merk at realmet ikke nødvendigvis har noe med DNS-navnet å gjøre - realmet vårt bruker vi både på .samfundet.no og .uka.no. (Her er dog en gotcha, se neste avsnitt.)

KDCene våre er bjeff og voff. bjeff er hoved-KDC - denne er administrativ og tar seg av passordbytte. Annet hvert minutt synker den hele databasen sin til voff - se Kerberospropagering. Både voff og bjeff kan dele ut billetter og er redundante. Dette er veldig fint, fordi oppsettet utmerket tåler at man trekker ut den ene boksen. Det gjør feilsøking og oppgradering og retting mye greiere.

Merk at KDCer er avhengig av å ha passord i klartekst tilgjengelig. I praksis betyr dette av KDCene er en fenomenal SPoF i sikkerheten - mister vi en KDC, taper vi veldig. Derfor gjør de bare én ting, og har svært restriktive tilkoblingsmuligheter.

itkadduser legger til principals for nye brukere i Kerberos.

Kerberos på ITKs maskiner

Alle arbeidsstasjonene er satt opp med Kerberosstøtte i pam og andre steder, slik at man får TGT ved pålogging. De fleste tjenester skal være autentiserbare med Kerberos fra disse maskinene.

Kerberos på Windows

DNS og Kerberos

Informasjon om realmet og KDCene distribueres hovedsaklig via DNS, via standardrecords. Se i sonefilen for samfundet.no og uka.no for detaljer. Det er dog en gotcha her angående uka.no: Det viser seg at i hvert fall heimdal-klientbibliotekene ikke liker så godt at uka.no er i AD.SAMFUNDET.NO-realmet ut av boksen. Av en eller annen grunn slår de ikke opp informasjonen i TXT- og SRV-records for uka.no. Dette kan man dog ordne ved å legge til følgende i sin /etc/krb5.conf, under [libdefaults]:

dns_lookup_kdc = true
dns_lookup_realm = true
/etc/krb5.conf distes på Samfundet. For samfundet.no slås denne informasjonen opp helt fint.

Kerberosautentisering på web

Vi bruker libapache2-mod-auth-kerb for Kerberosstøtte i Apache 2.2 på cirkus. Den har fallback til HTTP Basic auth dersom nettleseren ikke forstår Negotiate:-headere og kan bruke Kerberos. (Før, i Apache 2.0, brukte vi mod_itkacl, som gjorde både ITKACL- og Kerberosting på én gang, men Apache 2.2 har ordentlig skille mellom autorisering og autentisering, så nå har vi en egen authz_itkacl i tillegg.)

For å bruke Kerberosbilletter i nettleserne (altså SSO og gode greier), må følgende trikses:

Pitfalls i SPNEGO/IE6-autentisering

Jupps, jeg (Steinar) har gått i samtlige av disse fellene, de fleste på samme kveld:

Hvordan få Firefox/Chromium til å SPNEGO-autentisere

På ITKs arbeidsstasjoner skal det fungere ut av boksen. På Din Favorittboks:

Dersom det ikke virker:

Kerberos-autentisering i Thunderbird på Windows

I tillegg til vanlig kontooppsett:

Lenker: Start, exim, itkaclintro, kerberospropagering, ldap, medlemsdb2grupper, medlemsdb2web, nfsv4, request tracker v2, tekniske løsninger, suwi, uka-07-web

Mail: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2016-04-11 16:02 | Revisjon: 20 (historie, blame) | Totalt: 1479 kB | Rediger