MIT Kerberos V5-1.21.3

Introduksjon til MIT Kerberos V5

MIT Kerberos V5 er en gratis implementering av Kerberos 5. Kerberos er en nettverksautentiseringsprotokoll. Den sentraliserer autentiseringsdatabasen og bruker kerberized applikasjoner som fungerer med servere eller tjenester som støtter Kerberos tillater enkeltpålogginger og kryptert kommunikasjon over intern nettverk eller Internett.

[Notat]

Notat

Utviklingsversjoner av BLFS kan ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden den siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://kerberos.org/dist/krb5/1.21/krb5-1.21.3.tar.gz

  • Nedlasting MD5 sum: beb34d1dfc72ba0571ce72bed03e06eb

  • Nedlastingsstørrelse: 8.7 MB

  • Estimert diskplass som kreves: 95 MB (legg til 14 MB for tester)

  • Estimert byggetid: 0.3 SBU (Bruker parallellisme=4; legg til 1.1 SBU for tester)

MIT Kerberos V5 Avhengigheter

Valgfri

BIND Utilities-9.20.3, CrackLib-2.10.2 (/usr/share/dict/words referert av noen tester), GnuPG-2.4.6 (for å autentisere pakken), keyutils-1.6.3, OpenLDAP-2.6.8, Valgrind-3.24.0 (brukt under testpakken), yasm-1.3.0, libedit, cmocka, kdcproxy, pyrad, og resolv_wrapper

[Notat]

Notat

En slags tidssynkroniseringsfunksjon på systemet ditt (som ntp-4.2.8p18) er nødvendig siden Kerberos ikke vil autentisere hvis det er en tidsforskjell mellom en kerberisert klient og KDC serveren.

Installasjon av MIT Kerberos V5

Bygg MIT Kerberos V5 ved å kjøre følgende kommandoer:

cd src &&
sed -i -e '/eq 0/{N;s/12 //}' plugins/kdb/db2/libdb2/test/run.test &&

./configure --prefix=/usr            \
            --sysconfdir=/etc        \
            --localstatedir=/var/lib \
            --runstatedir=/run       \
            --with-system-et         \
            --with-system-ss         \
            --with-system-verto=no   \
            --enable-dns-for-realm   \
            --disable-rpath          &&
make

For å teste bygget, utsted make -j1 -k check. Noen tester kan mislykkes med den nyeste versjonen av dejagnu og glibc. Noen tester kan henge for en lang tid og mislykkes hvis systemet ikke er koblet til et nettverk. En test, t_kadm5srv, er kjent for å mislykkes. Hvis keyutils-1.6.3 er installert men Keyutils Kjernekonfigurasjon ikke er fornøyd, noen tester vil mislykkes ved å klage keyctl failed with code 1.

Nå, som root bruker:

make install &&
cp -vfr ../doc -T /usr/share/doc/krb5-1.21.3

Parameterforklaringer

sed kommandoene fjerner en test som er kjent for å mislykkes.

--localstatedir=/var/lib: Dette alternativet brukes slik at Kerberos variablens kjøretidsdata er plassert i /var/lib i stedet for /usr/var.

--runstatedir=/run: Dette alternativet brukes slik at informasjonen om Kerberos kjøretidstilstand er plassert i /run istedenfor det foreldede /var/run.

--with-system-et: Denne bryteren gjør at bygget bruker de systeminstallerte versjonene av feiltabell støtte programvaren.

--with-system-ss: Denne bryteren gjør at bygget bruker de systeminstallerte versjonene av undersystemets kommandolinje grensesnitt programvaren.

--with-system-verto=no: Denne bryteren fikser en feil i pakken: den gjenkjenner ikke sitt eget tidligere installerte verto bibliotek. Dette er ikke et problem, hvis du installerer samme versjon på nytt, men hvis du oppdaterer, brukes det gamle biblioteket som systemets bibliotek, i stedet for å installere den nye versjonen.

--enable-dns-for-realm: Denne bryteren tillater realms som skal løses ved hjelp av DNS serveren.

--disable-rpath: Denne bryteren forhindrer hardkodende biblioteksøkestier (rpath) inn i den binære kjørbare filen og delte biblioteker. Denne pakken trenger ikke rpath for en installasjon på standardplasseringen, og rpath kan noen ganger forårsake uønskede effekter eller til og med sikkerhetsproblemer.

--with-ldap: Bruk denne bryteren hvis du vil kompilere OpenLDAP database bakstykke modul.

Konfigurere MIT Kerberos V5

Konfigurasjonsfiler

/etc/krb5.conf og /var/lib/krb5kdc/kdc.conf

Konfigurasjonsinformasjon

Kerberos Konfigurasjon
[Tips]

Tips

Du bør vurdere å installere en slags passordkontroll ordbok slik at du kan konfigurere installasjonen til kun å godta sterke passord. En passende ordbok å bruke vises i CrackLib-2.10.2 bruksanvisning. Merk at kun en fil kan brukes, men du kan sette sammen mange filer til en. Konfigurasjonsfilen vist nedenfor forutsetter at du har installert en ordbok i /usr/share/dict/words.

Opprett Kerberos konfigurasjonsfilen med følgende kommandoer kjørt som root bruker:

cat > /etc/krb5.conf << "EOF"
# Begin /etc/krb5.conf

[libdefaults]
    default_realm = <EXAMPLE.ORG>
    encrypt = true

[realms]
    <EXAMPLE.ORG> = {
        kdc = <belgarath.example.org>
        admin_server = <belgarath.example.org>
        dict_file = /usr/share/dict/words
    }

[domain_realm]
    .<example.org> = <EXAMPLE.ORG>

[logging]
    kdc = SYSLOG:INFO:AUTH
    admin_server = SYSLOG:INFO:AUTH
    default = SYSLOG:DEBUG:DAEMON

# End /etc/krb5.conf
EOF

Du må erstatte domenet ditt og det riktige vertsnavnet for forekomster av <belgarath> og <example.org> navn.

default_realm skal være navnet på ditt domene endret til ALL STORE BOKSTAVER. Dette er ikke nødvendig, men både Heimdal og MIT anbefaler det.

encrypt = true gir kryptering av all trafikk mellom kerberiserte klienter og servere. Det er ikke nødvendig og kan bli utelatt. Hvis du lar det være av, kan du kryptere all trafikk fra klienten til serveren ved hjelp av en bryter på klientprogrammet i stedet.

[realms] parametere forteller klientprogrammene hvor de skal se etter KDC autentiseringstjenestene.

[domain_realm] seksjonen kartlegger et domene til realm.

Opprett KDC databasen:

kdb5_util create -r <EXAMPLE.ORG> -s

Nå bør du fylle databasen med fullmakt (brukere). For nå er det bare å bruke ditt vanlige påloggingsnavn eller root.

kadmin.local
kadmin.local: add_policy dict-only
kadmin.local: addprinc -policy dict-only <loginname>

KDC serveren og enhver maskin som kjører kerberisert servernisser må ha en vertsnøkkel installert:

kadmin.local: addprinc -randkey host/<belgarath.example.org>

Etter å ha valgt standardinnstillingene når du blir bedt om det, må du eksporter dataene til en keytab fil:

kadmin.local: ktadd host/<belgarath.example.org>

Dette burde ha opprettet en fil i /etc navngitt krb5.keytab (Kerberos 5). Denne filen skal ha 600 (root rw bare) tillatelser. Å holde keytab filene fra offentlig tilgang er avgjørende for den generelle sikkerheten til Kerberos installasjonen.

Gå ut av kadmin programmet (bruk quit eller exit) og returner tilbake til skall ledeteksten. Start KDC nissen manuelt, bare for å teste installasjonen:

/usr/sbin/krb5kdc

Forsøk å få en billett med følgende kommando:

kinit <loginname>

Du vil bli bedt om passordet du opprettet. Etter at du har fått billetten din, kan du liste den med følgende kommando:

klist

Informasjon om billetten skal vises på skjermen.

For å teste funksjonaliteten til keytab filen, kjør følgende kommando som root bruker:

ktutil
ktutil: rkt /etc/krb5.keytab
ktutil: l

Dette bør dumpe en liste over vertens fullmakt, sammen med krypteringsmetodene som brukes for å få tilgang til fullmakter.

Opprett en tom ACL fil som kan endres senere:

touch /var/lib/krb5kdc/kadm5.acl

På dette tidspunktet, hvis alt har vært vellykket så langt, kan du føle deg ganske trygg på installasjon og konfigurasjon av pakken.

Tilleggsinformasjon

For ytterligere informasjon se dokumentasjon for krb5-1.21.3 hvor ovennevnte instruksjoner er basert på.

Init Skript

Hvis du vil starte Kerberos tjenester ved oppstart, installer /etc/rc.d/init.d/krb5 init skriptet inkludert i blfs-bootscripts-20240913 pakke ved hjelp av følgende kommando:

make install-krb5

Innhold

Installerte Programmer: gss-client, gss-server, k5srvutil, kadmin, kadmin.local, kadmind, kdb5_ldap_util (valgfri), kdb5_util, kdestroy, kinit, klist, kpasswd, kprop, kpropd, kproplog, krb5-config, krb5-send-pr, krb5kdc, ksu, kswitch, ktutil, kvno, sclient, sim_client, sim_server, sserver, uuclient, og uuserver
Installerte Biblioteker: libgssapi_krb5.so, libgssrpc.so, libk5crypto.so, libkadm5clnt_mit.so, libkadm5clnt.so, libkadm5srv_mit.so, libkadm5srv.so, libkdb_ldap.so (valgfri), libkdb5.so, libkrad.so, libkrb5.so, libkrb5support.so, libverto.so, og noen programtillegg under /usr/lib/krb5 treet
Installerte Mapper: /usr/include/{gssapi,gssrpc,kadm5,krb5}, /usr/lib/krb5, /usr/share/{doc/krb5-1.21.3,examples/krb5}, /var/lib/krb5kdc, og /run/krb5kdc

Korte Beskrivelser

gss-client

er en GSSAPI testklient

gss-server

er en GSSAPI testserver

k5srvutil

er et vertsnøkkeltabellmanipulasjonsverktøy

kadmin

er et verktøy som brukes til å gjøre endringer til Kerberos databasen

kadmin.local

er et verktøy som ligner på kadmin, men hvis databasen er db2, den lokale klienten kadmin.local, er ment å kjøre direkte på master KDC uten Kerberos autentisering

kadmind

er en server for administrativ tilgang til en Kerberos database

kdb5_ldap_util (optional)

lar en administrator administrere realms, Kerberos tjenester og billettpolitikk

kdb5_util

er KDC databaseverktøyet

kdestroy

fjerner gjeldende sett med billetter

kinit

brukes til å autentisere til Kerberos serveren som en fullmakt og anskaffe en billettbevilgningsbillett som senere kan brukes til å skaffe billetter til andre tjenester

klist

leser og viser gjeldende billetter i legitimasjonsbufferen

kpasswd

er et program for å endre Kerberos 5 passord

kprop

tar en hoveddatabase i et spesifisert format og konverterer den til en strøm av databaseposter

kpropd

mottar en database sendt av kprop og skriver den som en lokal database

kproplog

viser innholdet i KDC databaseoppdateringsloggen til standard utgang

krb5-config

gir informasjon om hvordan man kobler programmer mot biblioteker

krb5kdc

er Kerberos 5 server

krb5-send-pr

sender en problemrapport (PR) til en sentral støtteside

ksu

er superbrukerprogrammet som bruker Kerberos protokollen. Krever en riktig konfigurert /etc/shells og ~/.k5login som inneholder fullmakt autorisert til å bli superbrukere

kswitch

gjør den spesifiserte legitimasjonsbufferen til primær buffer for samlingen, hvis en buffer samling er tilgjengelig

ktutil

er et program for å administrere Kerberos keytabs

kvno

skriver ut nøkkelversjonsnummer for Kerberos fullmakter

sclient

brukes til å kontakte en eksempelserver og autentisere til den ved å bruke Kerberos 5 billetter, og vis deretter serverens respons

sim_client

er et enkelt UDP-basert eksempelklientprogram, for demonstrasjon

sim_server

er en enkel UDP-basert serverapplikasjon, for demonstrasjon

sserver

er eksempelet på Kerberos 5 serveren

uuclient

er en annen eksempelklient

uuserver

er en annen eksempelserver

libgssapi_krb5.so

inneholder Generisk sikkerhetstjenesteapplikasjonsprogrammering Grensesnitt (GSSAPI) funksjoner som gir sikkerhetstjenester til kallere på en generisk måte, støttes med en rekke underliggende mekanismer og teknologier og dermed tillate kildenivå portabilitet av applikasjoner til forskjellige miljøer

libkadm5clnt.so

inneholder administrativ autentisering og passordkontrolls funksjoner som kreves av Kerberos 5 klientsideprogrammer

libkadm5srv.so

inneholder administrativ autentisering og passord sjekke funksjoner som kreves av Kerberos 5 servere

libkdb5.so

er en Kerberos 5 autentiserings-/autorisasjonsdatabase tilgang til biblioteket

libkrad.so

inneholder det interne støttebiblioteket for RADIUS funksjonalitet

libkrb5.so

er et allsidig formåls Kerberos 5 bibliotek