Kerberos Step-by-Step Tutorial

Kerberos brukes til å autentisere brukere over et usikret nettverk. For å gjøre dette, må serveren og klienten har en felles nøkkel brukes til å kryptere og dekryptere passord. Nøkkelen fordelingen er utført av en Master Key Distribution Center (KDC). Redundans er bygget inn i systemet ved å sette opp en eller flere slave KDC.

Konfigurering av master

Før du begynner å konfigurere Kerberos på systemet ditt, bør du vite navnet på Kerberos, vertsnavnet til master og slave Nøkkeldistribusjonssentre (KDC) og hvordan du kommer til å kartlegge dine vertsnavn i Kerberos riket. Du må bestemme portene at KDC og databasetilgang (kadmin) tjenester vil bruke. Du vil også måtte vite hvor ofte master- og slave KDC vil fylle databasen.

Du vil bruke informasjonen ovenfor til å konfigurere hoved KDC. Mesteren KDC konfigurasjonsfiler vil bli funnet på "/etc/krb5.conf" og "/usr/local/var/krb5kdc/kdc.conf" og kan redigeres i en tekst editor. Den "krb5.conf" filen inneholder informasjon om hvor du finner KDC og admin-servere, samt vertsnavnet kartlegging informasjon. Den "kdc.conf" filen inneholder standardinformasjon brukes når det sendes billetter Kerberos. Åpne "/etc/krb5.conf" og redigere "Logg inn", "realms" og "domain_realm" verdier, slik at de er riktige for systemet. Endre "/usr/local/var/krb5kdc/kdc.conf", slik at det reflekterer den riktige informasjonen for KDC server.

Det neste trinnet er å opprette databasen. Åpne en terminal og skriv kommandoen "kdb5_util." Du vil bli bedt om å gi en hovednøkkel. Dette bør være en kombinasjon av bokstaver, tall og spesialtegn som ligner på et passord. Denne nøkkelen vil bli lagret i en stash fil på KDC harddisk. Hvis du heller vil bli bedt om nøkkelen når Kerberos starter, kan du velge å ikke opprette stash filen.

Til slutt, vil du opprette Access Control List (ACL) og legge til minst én administrator til det. Den ACL er en bruker opprettet tekstfil som heter "/usr/local/var/krb5kdc/kadm5.acl." Denne filen bør ha administrator oppført i skjemaet:

Kerberos_principal permissions [target_principal] [restrictions]

Når ACL listen er opprettet, gi kommandoen "kadmin.local" og legge til hver rektor til databasen. Start Kerberos daemons med kommandoen "/ usr / local / sbin / krb5kdc,. / Usr / local / sbin / kadmin"

Opprette nøkkeltabellfil

Keytab filen brukes til å dekryptere billetter Kerberos og avgjøre om brukeren skal ha tilgang til databasen. For å skape denne filen, skriv kommandoen "kadmin.local" igjen. Dette vil gi deg en rask skal du skrive kommandoen: "ktadd -k /usr/local/var/krb5kdc/kadm5.keytab kadmin / admin kadmin / changepw" for å lage nøkkeltabellfil. Bytt avsnittet "/usr/local/var/krb5kdc/kadm5.keytab" med keytab stedet som ble spesifisert i «/usr/local/var/krb5kdc/kdc.conf" fil. Skriv "slutte" for å avslutte "kadmin" -verktøyet.

Konfigurering av Slave KDC

For å opprette slave KDC, vil du utstede "kadmin.local" kommandere en tredje gang. Ved spørsmål, gi kommandoen "addprinc-randkey vert / example.com" for Master og hver slave. Bruk vertsnavnet på hver KDC i stedet for "example.conf." Dette vil skape verts taster for hver av KDC. Deretter trekke ut tastene på hver av slave KDC ved å starte "kadmin" -verktøyet på hver av slavene og utstede kommandoen "ktadd vert / MasterKDC.com." Erstatt "MasterKDC.com" med vertsnavnet master KDC.

For databasen skal spres fra master KDC til slave KDC må du opprette en fil som heter "/usr/local/var/krb5kdc/kpropd.acl." Denne filen må inneholde prinsippene for hver av KDC i form "host / example.com." Hver rektor bør plasseres på en egen linje.

Deretter redigerer "/etc/inetd.conf" filen på hver av KDC og legge til følgende linjer:
krb5_prop stream tcp nowait root / usr / local / sbin / kpropd kpropd
eklogin stream tcp nowait root / usr / local / sbin / klogind klogind k -c -e

Rediger "/ etc / services" filen på hver av KDC og legge til følgende linjer:

kerberos 88/udp kdc # Kerberos authentication (udp)
kerberos 88/tcp kdc # Kerberos authentication (tcp)
krb5_prop 754/tcp # Kerberos slave propagation
kerberos-adm 749/tcp # Kerberos 5 admin/changepw (tcp)
kerberos-adm 749/udp # Kerberos 5 admin/changepw (udp)
eklogin 2105/tcp # Kerberos encrypted rlogin

Spre Database

Forplanter databasen gjøres fra Master KDC. Gi kommandoen "/ usr / local / sbin / kdb5_util dump / usr / local / var / krb5kdc / slave_datatrans" for å skape en dump av databasen. Neste, gi kommandoen "/ usr / local / sbin / kprop -f / usr / local / var / krb5kdc / slave_datatrans Slave-1.example.com" for å forplante databasen manuelt på hver av slavene.

Disse trinnene må være ferdig på en jevnlig basis. Den enkleste måten å gjøre dette på er å lage så skript og kjøre skriptet som en cron jobb. Manuset skal se ut:

! / Bin / sh

kdclist = "slave-1.example.com slave-2.example.com"

/ Usr / local / sbin / kdb5_util "dump
=> / Usr / local / var / krb5kdc / slave_datatrans "

for KDC i $ kdclist
gjøre
/ Usr / local / sbin / kprop -f / usr / local / var / krb5kdc / slave_datatrans $ KDC
ferdig

Of course, endre vertsnavn for å reflektere verdiene for systemet ditt.

Opprett Stash filer på Slaves

Det siste trinnet for å sette opp Kerberos er å skape stash filer på slave KDC. På hver av slave KDC utstede kommandoen "kdb5_util stash" og gi hovednøkkelen når du blir bedt. Når det er ferdig, kan du starte "krb5kdc" daemon på hver slave med kommandoen "/ usr / local / sbin / krb5kdc /".