Kerberos on verkon todennusprotokolla, joka käyttää symmetristä avainsalausta ja vaatii luotetun kolmannen osapuolen valtuutuksen asiakkaan ja palvelimen sovellusten todentamiseen. Sen kehitti alun perin Massachusetts Institute of Technology (MIT) suojaamaan Athena-projektin tarjoamia verkkopalveluja.
nykymaailmassa Kerberosta käytetään usein kolmannen osapuolen tunnistautumispalveluna. Tämä tarkoittaa sitä, että kaikki asiakkaat luottavat Kerberoksen harkintakykyyn toisen asiakkaan henkilöllisyydestä.
tässä opetusohjelmassa näytämme, miten Kerberos-todennus asetetaan kahden Ubuntu 18.04-palvelimen välille. Asennamme ja määritämme Kerberos-palvelimen Ubuntu-palvelimelle ja sitten asennamme Kerberos-asiakkaan toiseen. Lopuksi testaamme SSH-palvelun todennusta Kerberos-palvelimella.
Edeltävät opinnot
- Ubuntu server 18.04
- 10.10.10.15 krb5.ahmad.io krb5
- 10. 10. 10. 16 client1.ahmad.io client1
- Root privileges
What we will do:
- Setup FQDN File
- Install KDC Kerberos Server
- Configure KDC Kerberos Server
- Install and Configure Kerberos Client
- Testing
Step 1 – Setup FQDN
meidän on ensin määritettävä Kerberos-palvelimen FQDN ja sitten muokattava palvelimen ’/etc/hosts’ – tiedostoa.
Vaihda Kerberos-palvelimen FQDN seuraavaa komentoa käyttäen.
hostnamectl set-hostname krb5.ahmad.io
tämän jälkeen muokkaa ”/etc/hosts ” – tiedostoa vim-muokkaimella.
vim /etc/hosts
Muuta IP-osoite ja FQDN omalla ja liitä siihen.
10.10.10.15 krb5.ahmad.io krb5
Tallenna ja sulje.
testaa nyt alla olevalla ”ping” – komennolla ja varmista, että FQDN on ratkaistu oikeaan IP-osoitteeseen.
ping -c 3 $(hostname -f)
Vaihe 2-Asenna KDC Kerberos-palvelin
nyt asennamme Kerberos-palvelimen ”krb5″ – palvelimelle, jonka IP-osoite on ’10.10.10.15’ ja FQDN on ’krb5.ahmad.io”.
Asenna Kerberos-palvelin seuraavalla apt-komennolla.
sudo apt install krb5-kdc krb5-admin-server krb5-config -y
asennuksen aikana kysytään Kerberos-valtakunnasta, valtakunnan Kerberos-palvelimesta ja Admin-palvelimesta.
oletuksena Kerberos käyttää Kerberos-palvelimen verkkotunnusta valtakuntana, ”AHMAD.IO’.
Kerberos-palvelin on ”krb5.ahmad.io’.
ja Ylläpitopalvelin sama kuin Kerberos server ’krb5.ahmad.io’.
kun asennus on valmis, sinulle näytetään, että Kerberos-palvelua ei voi suorittaa. Se ei haittaa, koska asetumme seuraavassa vaiheessa.
Vaihe 3-KDC Kerberos-palvelimen määrittäminen
luo nyt uusi vahva pääsalasana Kerberos-valtakunnalle seuraavaa komentoa käyttäen.
sudo krb5_newrealm
Kirjoita vahva salasanasi ja valtakunnan salasana luodaan ”/etc/krb5kdc/stash ” – tiedostoon.
sen jälkeen meidän on luotava pääkäyttäjä (pääkäyttäjä) KDC Kerberos-palvelimelle, lisättävä Kerberos-palvelimen isäntänimi tietokantaan ja luotava keytab Kerberos-palvelimelle.
Juokse ” kadmin.paikallinen ’ komentoriviliitäntä Kerberos administration-komennolle alla.
sudo kadmin.local
Luo uusi pääkäyttäjän Pää nimeltä ”root”.
addprinc root/admin
Kirjoita ”root” – pääkäyttäjän vahva salasana.
lisää KDC Kerberos-palvelin tietokantaan ja luo keytab-tiedosto KDC-palvelimelle.
addprinc -randkey host/krb5.ahmad.io
ktadd host/krb5.ahmad.io
sulje sitten ” kadmin.paikallinen apuohjelma.
quit
seuraava, meidän täytyy lisätä ”root” admin periaate kulunvalvontaluetteloon muokkaamalla ’ / etc/krb5kdc / kadm5.acl ’ – tiedosto.
vim /etc/krb5kdc/kadm5.acl
lisää seuraava kokoonpano.
root/admin *
Tallenna ja sulje kokoonpano ja käynnistä sitten Kerberos-palvelu uudelleen.
sudo systemctl restart krb5-admin-server.service
ja KDC Kerberos-palvelimen kokoonpano on saatu valmiiksi.
Vaihe 4-Asenna ja määritä Kerberos-asiakas
tässä vaiheessa asennamme Kerberos-asiakasohjelman Ubuntu-palvelimelle IP-osoitteella ’10.10.10.16’ ja palvelinnimellä ’client1’.
– Configure FQDN
Configure the FQDN on the client machine using the following command.
hostnamectl set-hostname client1.ahmad.io
tämän jälkeen muokkaa ”/etc/hosts ” – tiedostoa vim-muokkaimella.
vim /etc/hosts
Liitä sekä KDC Kerberos-palvelin että asiakas kuten alla.
10.10.10.15 krb5.ahmad.io krb5
10.10.10.16 client1.ahmad.io client1
Tallenna ja sulje.
– Asenna Kerberos-asiakasohjelma
Asenna Kerberos-asiakaspaketit ajamalla seuraava apt-komento.
sudo apt install -y krb5-user libpam-krb5 libpam-ccreds auth-client-config
asennuksen aikana sinulta kysytään Kerberos-valtakunnasta, valtakunnan Kerberos-palvelimesta ja Admin-palvelimesta.
oletuksena Kerberos käyttää Kerberos-palvelimen verkkotunnusta valtakuntana, ”AHMAD.IO’.
Kerberos-palvelin on ”krb5.ahmad.io’.
ja Ylläpitopalvelin sama kuin Kerberos server ’krb5.ahmad.io”.
Kerberos-asiakkaan asennus on valmis.
– Aseta Kerberos-asiakas
asiakaskoneesta, yhdistä KDC Kerberos-palvelimeen ”kadmin” – komennolla.
kadmin
ja Sinulta kysytään ”root/admin” – periaatteen salasanaa. Kirjoita salasana ja kirjaudut KDC Kerberos-hallintajärjestelmään.
lisää nyt asiakas FQDN ”client1.ahmad.io’ Kerberos-tietokantaan ja lisää keytab-tiedosto asiakkaalle.
addprinc -randkey host/client1.ahmad.io
ktadd host/client1.ahmad.io
sulje tämän jälkeen kadmin Kerberos-hallintaliittymä.
quit
ja Kerberos-asiakkaan kokoonpano on valmis.
Vaihe 5-testaus
tätä testaustarkoitusta varten aiomme määrittää SSH-todennuksen Kerberoksen avulla. Asiakaskone ”client1.ahmad.io ’muodostaa yhteyden palvelimeen’ krb5.ahmad.io SSH: n kautta Kerberos-tunnistuksella.
– Setup ”krb5.ahmad.io” palvelin
Luo uusi järjestelmäkäyttäjä nimeltä ”ammar”.
useradd -m -s /bin/bash ammar
Kirjaudu KDC Kerberosin hallintoon ja lisää uusi pääkäyttäjä nimeltä ”ammar”.
kadmin.local
addprinc ammar
Sulje Kerberosin hallintaliittymä ja muokkaa ssh-konfiguraatiota ”/etc/ssh/sshd_config”.
vim /etc/ssh/sshd_config
Poista ”GSSAPIAuthentication” ja ota se käyttöön muuttamalla arvo”.
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
Tallenna ja sulje asetukset, Käynnistä ssh-palvelu uudelleen.
systemctl restart sshd
– Asetukset ”client1.ahmad.io” kone
lisää asiakaskoneeseen Uusi järjestelmäkäyttäjä ”ammar”ja kirjaudu siihen.
useradd -m -s /bin/bash ammar
su - ammar
tämän jälkeen alustetaan Kerberos-käyttäjäpääoma ”ammar”.
kinit ammar
kirjoita käyttäjän salasana ja tarkista sen jälkeen saatavilla oleva lippu seuraavalla komennolla.
klist
ja sinulle näytetään seuraava tulos.
nyt voit liittää ’krb5.ahmad.io’ palvelin SSH Kerberos-todennuksella.
ssh krb5.ahmad.io
ja sinut liitetään ”krb5.ahmad.io’ server kautta SSH kanssa Kerberos todennus.
alla on SSH Loki jälkeen Kirjautunut palvelimelle.
lopuksi Kerberos-palvelimen ja-asiakkaan asennus ja konfigurointi Ubuntu 18.04: ssä on saatu onnistuneesti päätökseen.