Hopp til hovedinnhold

Kerberos

Kapittel 41

Viktig merknad

Dette er avansert systemadministrasjon. Kerberos styrer autentisering på tvers av systemer. Ikke klipp-og-lim. Test i lab først, ta backup, sørg for en lokal sudo-konto som ikke er avhengig av Kerberos, og ha en plan for tilbake­rulling.

Hva Kerberos er

Kerberos gir single sign-on ved hjelp av tickets. En sentral Key Distribution Center (KDC) utsteder en TGT (Ticket Granting Ticket) når brukeren logger inn, som deretter brukes til å skaffe tjenesteticket til servere. Alt er organisert i et realm med navn i STORE BOKSTAVER, for eksempel EXAMPLE.COM. Identiteter kalles principals (brukere, tjenester), og nøkler lagres i keytabs for tjenester.

Forutsetninger og nettverk

– Korrekt vertsnavn (FQDN) og DNS. I lab kan du midlertidig legge FQDN i /etc/hosts, for eksempel: 127.0.0.1 kdc.example.com. I produksjon: bruk ekte DNS (forover og omvendt oppslag), eventuelt SRV-poster for _kerberos._udp og _kadmin._tcp.
– Nøyaktig tid (NTP/chrony). Kerberos tolererer normalt kun ca. 5 minutters tidsavvik.
– Åpne nødvendige porter: 88/tcp+udp (kdc), 464/tcp+udp (kpasswd), 749/tcp (kadmin).
– Standard realm-navn i store bokstaver, for eksempel EXAMPLE.COM.

Installere Kerberos-server (KDC og admin-server)

apt update
apt install krb5-kdc krb5-admin-server

Initialisere nytt realm og KDC-database

krb5_newrealm

Du blir bedt om å sette en master key (database master passord). Ikke mist denne. Ta sikker lagring av stashede nøkler og vurder kdb5_util dump for sikkerhetskopi av KDC-databasen.

Opprette admin-/bruker-principals lokalt på KDC

kadmin.local
addprinc brukernavn
# du kan også opprette en administrativ principal, for eksempel admin/admin
exit

Gi admin-tilganger i /etc/krb5kdc/kadm5.acl

Eksempel på praksis: la en dedikert admin-principal administrere katalogen (for eksempel admin/admin@EXAMPLE.COM). Husk at kadm5.acl styrer hvem som kan opprette/end­re principals via kadmin.

Konfigurere klient

apt update
apt install krb5-user krb5-config

Kjør oppsett for klient

dpkg-reconfigure krb5-config

Sett Default realm (for eksempel EXAMPLE.COM ) og KDC/admin-servere. Verifiser deretter med:

cat /etc/krb5.conf

I krb5.conf bør du ha default_realm, en [realms]-seksjon som peker til kdc og admin_server, og ev. [domain_realm]-mapping for example.com → EXAMPLE.COM.

Teste autentisering fra klient

kinit -p BRUKERNAVN@REALM
# Eksempel:
kinit -p pat@EXAMPLE.COM
Robert Kristoffersen
Fullstack-utvikler • Webno