a Kerberos egy hálózati hitelesítési protokoll, amely szimmetrikus kulcs kriptográfiát használ, és megbízható harmadik fél engedélyét igényli az ügyfél-kiszolgáló alkalmazások hitelesítéséhez. Eredetileg a Massachusetts Institute of Technology (MIT) fejlesztette ki az Athena projekt által nyújtott hálózati szolgáltatások védelme érdekében.
a modern világban a Kerberos-t gyakran használják harmadik féltől származó hitelesítési szolgáltatásként. Ez azt jelenti, hogy minden ügyfél megbízik a Kerberos megítélésében egy másik ügyfél identitásáról.
ebben az oktatóanyagban megmutatjuk, hogyan állíthatja be a Kerberos hitelesítést két Ubuntu 18.04 szerver között. Telepítjük és konfiguráljuk a Kerberos szervert az Ubuntu szerverre, majd telepítjük a Kerberos klienst a másikra. Végül teszteljük az SSH szolgáltatás hitelesítését a Kerberos szerverrel.
előfeltételek
- Ubuntu szerver 18.04
- 10.10.10.15 krb5.ahmad.io krb5
- 10. 10. 10. 16 client1.ahmad.io client1
- Root jogosultságok
mit fogunk csinálni:
- FQDN fájl beállítása
- KDC Kerberos szerver telepítése
- KDC Kerberos szerver konfigurálása
- Kerberos kliens telepítése és konfigurálása
- tesztelés
1.lépés – FQDN beállítása
először is konfigurálnunk kell az FQDN-t a Kerberos szerveren, majd szerkesztenünk kell a szerver ‘/etc/hosts’ fájlját.
módosítsa a Kerberos szerver FQDN-jét a következő paranccsal.
hostnamectl set-hostname krb5.ahmad.io
ezután szerkessze az ‘/etc/hosts’ fájlt a vim szerkesztő segítségével.
vim /etc/hosts
változtassa meg az IP-címet és az FQDN-t a sajátjával, és illessze be.
10.10.10.15 krb5.ahmad.io krb5
mentés és bezárás.
most tesztelje az alábbi ‘ping’ paranccsal, és ellenőrizze, hogy az FQDN a megfelelő IP-címre van-e feloldva.
ping -c 3 $(hostname -f)
2. lépés – Telepítse a KDC Kerberos szervert
most telepítjük a Kerberos szervert a ‘krb5’ szerverre, amelynek IP-címe ‘10.10.10.15’, az FQDN pedig ‘krb5.ahmad.io’.
telepítse a Kerberos szervert a következő apt paranccsal.
sudo apt install krb5-kdc krb5-admin-server krb5-config -y
a telepítés során a rendszer rákérdez a Kerberos tartományra, a tartomány Kerberos szerverére és az Admin szerverre.
alapértelmezés szerint a Kerberos a Kerberos szerver tartománynevét használja tartományként, ‘AHMAD.IO’.
a Kerberos szerver krb5.ahmad.io’.
és az Admin szerver ugyanaz, mint a Kerberos szerver krb5.ahmad.io’.
a telepítés befejezése után megjelenik, hogy a Kerberos szolgáltatás nem fut. Rendben van, mert a következő szakaszban konfiguráljuk.
3.lépés – konfigurálja a KDC Kerberos kiszolgálót
most hozzon létre egy új erős fő jelszót a Kerberos tartományhoz a következő paranccsal.
sudo krb5_newrealm
írja be erős jelszavát, és a tartomány jelszavát az ‘/etc/krb5kdc/stash’ fájlban generálja.
ezt követően létre kell hoznunk az admin felhasználót (admin principal) a KDC Kerberos kiszolgálóhoz, hozzá kell adnunk a Kerberos kiszolgáló hosztnevét az adatbázishoz, majd létre kell hoznunk a Kerberos kiszolgáló kulcslapját.
futtassa a ‘kadmin.helyi ‘ parancssori felület a Kerberos adminisztrációs parancshoz alább.
sudo kadmin.local
hozzon létre egy új rendszergazdai felhasználói főnevet ‘root’néven.
addprinc root/admin
írja be a ‘root’ rendszergazdai fő erős jelszavát.
adja hozzá a KDC Kerberos kiszolgálót az adatbázishoz, és hozza létre a keytab fájlt a KDC gazdagéphez.
addprinc -randkey host/krb5.ahmad.io
ktadd host/krb5.ahmad.io
ezután zárja be a ‘kadmin.helyi ‘ segédprogram.
quit
ezután hozzá kell adnunk a ‘root’ admin elvet a hozzáférés-vezérlési listához az ‘/etc/krb5kdc/kadm5 szerkesztésével.akta.
vim /etc/krb5kdc/kadm5.acl
adja hozzá a következő konfigurációt.
root/admin *
mentse és zárja be a konfigurációt, majd indítsa újra a Kerberos szolgáltatást.
sudo systemctl restart krb5-admin-server.service
és a KDC Kerberos szerver konfigurálása befejeződött.
4. lépés-Telepítse és konfigurálja a Kerberos klienst
ebben a lépésben telepítjük a Kerberos klienst az Ubuntu szerverre, a ‘10.10.10.16’ IP-címmel és a ‘client1’hosztnévvel.
– konfigurálja az FQDN-t
konfigurálja az FQDN-t az ügyfélgépen a következő paranccsal.
hostnamectl set-hostname client1.ahmad.io
ezután szerkessze az ‘/etc/hosts’ fájlt a vim szerkesztő segítségével.
vim /etc/hosts
illessze be mind a KDC Kerberos szervert, mind az Ügyfelet az alábbiak szerint.
10.10.10.15 krb5.ahmad.io krb5
10.10.10.16 client1.ahmad.io client1
mentés és bezárás.
– Kerberos kliens telepítése
telepítse a Kerberos kliens csomagokat a következő apt parancs futtatásával.
sudo apt install -y krb5-user libpam-krb5 libpam-ccreds auth-client-config
a telepítés során a rendszer rákérdez a Kerberos tartományra, a tartomány Kerberos szerverére és az Admin szerverre.
alapértelmezés szerint a Kerberos a Kerberos szerver tartománynevét használja tartományként, ‘AHMAD.IO’.
a Kerberos szerver krb5.ahmad.io’.
és az Admin szerver ugyanaz, mint a Kerberos szerver krb5.ahmad.io’.
a Kerberos kliens telepítése befejeződött.
– Kerberos kliens konfigurálása
az ügyfélgépről csatlakozzon a KDC Kerberos kiszolgálóhoz a ‘kadmin’ paranccsal.
kadmin
és kérni fogja a jelszót a ‘root/admin’ elv. Írja be a jelszót, és be lesz jelentkezve a KDC Kerberos adminisztrációs rendszerébe.
most adja hozzá a kliens FQDN ‘client1.ahmad.io’ a Kerberos adatbázisba, és adja hozzá az ügyfél keytab fájlját.
addprinc -randkey host/client1.ahmad.io
ktadd host/client1.ahmad.io
ezután zárja be a kadmin Kerberos adminisztrációs felületet.
quit
és a Kerberos kliens konfigurálása befejeződött.
5. lépés-tesztelés
ehhez a tesztelési célhoz konfiguráljuk az SSH hitelesítést a Kerberos segítségével. Client machine client1.ahmad.io ‘ csatlakozni fog a szerverhez ‘krb5.ahmad.io’ SSH-n keresztül a Kerberos hitelesítéssel.
– Beállítás ‘krb5.ahmad.io’ Server
hozzon létre egy új rendszerfelhasználót ‘ammar’néven.
useradd -m -s /bin/bash ammar
jelentkezzen be a KDC Kerberos adminisztrációjába, és vegyen fel egy új, ammar nevű fő felhasználót.
kadmin.local
addprinc ammar
zárja be a Kerberos adminisztrációs felületet, és szerkessze az ‘/etc/ssh/sshd_config’ssh konfigurációt.
vim /etc/ssh/sshd_config
távolítsa el a “GSSAPIAuthentication” megjegyzést, és engedélyezze azt az érték ” értékre változtatásával.
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
mentse és zárja be a konfigurációt, majd indítsa újra az ssh szolgáltatást.
systemctl restart sshd
– Setup ‘client1.ahmad.io’ Machine
adjon hozzá egy új ‘ammar’ rendszerfelhasználót az ügyfélgéphez, majd jelentkezzen be.
useradd -m -s /bin/bash ammar
su - ammar
ezután inicializálja a Kerberos ‘ammar’felhasználói principal-t.
kinit ammar
írja be a felhasználó jelszavát, majd ellenőrizze a rendelkezésre álló jegyet a következő paranccsal.
klist
és a következő eredmény jelenik meg.
most csatlakoztathatja a ‘krb5.ahmad.io’ SSH Kerberos hitelesítést használó kiszolgáló.
ssh krb5.ahmad.io
és akkor csatlakozik a ‘krb5.ahmad.io’ szerver SSH-n keresztül Kerberos hitelesítéssel.
az alábbiakban látható az SSH napló, miután bejelentkezett a szerverre.
végül a Kerberos server és client telepítése és konfigurálása az Ubuntu 18.04-en sikeresen befejeződött.