Kerberos Server en Client instellen op Ubuntu 18.04 LTS

Kerberos is een netwerkverificatieprotocol dat symmetrische sleutelcryptografie gebruikt en autorisatie van een vertrouwde derde partij vereist om client-server toepassingen te verifiëren. Het werd oorspronkelijk ontwikkeld door het Massachusetts Institute of Technology (MIT) om de netwerkdiensten van het Athena-project te beschermen.

in de moderne wereld wordt Kerberos vaak gebruikt als een authenticatieservice van derden. Dit betekent dat alle klanten vertrouwen op Kerberos’ oordeel over de identiteit van een andere klant.

in deze tutorial laten we u zien hoe u Kerberos-verificatie kunt instellen tussen twee Ubuntu 18.04-servers. We zullen de Kerberos-server installeren en configureren op de Ubuntu-server en vervolgens de Kerberos-client installeren op de andere. Tot slot zullen we de authenticatie van de SSH service testen met de Kerberos server.

vereisten

  • Ubuntu-server 18.04
    • 10.10.10.15 krb5.ahmad.io krb5
    • 10.10.10.16 client1.ahmad.io client1
  • Root privileges

Wat zullen we doen:

  1. Setup FQDN File
  2. Install KDC Kerberos Server
  3. configureer KDC Kerberos Server
  4. install and configureer Kerberos Client
  5. Testing

Step 1 – Setup FQDN

Allereerst moeten we de FQDN op de Kerberos server configureren en dan de ‘/etc/hosts’ bestand van de server.

Wijzig de FQDN van de Kerberos server met het volgende commando.

hostnamectl set-hostname krb5.ahmad.io

Bewerk daarna het bestand’ /etc/hosts ‘ met behulp van de Vim-editor.

vim /etc/hosts

Wijzig het IP-adres en FQDN met uw eigen adres en plak erin.

10.10.10.15 krb5.ahmad.io krb5

opslaan en sluiten.

test nu met het onderstaande commando ‘ping’ en controleer of de FQDN is omgezet naar het juiste IP-adres.

ping -c 3 $(hostname -f)

Stap 2-installeer KDC Kerberos Server

nu gaan we de Kerberos server installeren op de ‘krb5’ server met IP adres ‘ 10.10.10.15 ‘en de FQDN is ‘krb5.ahmad.io’.

installeer Kerberos server met het volgende Apt Commando.

sudo apt install krb5-kdc krb5-admin-server krb5-config -y

tijdens de installatie wordt u gevraagd naar de Kerberos Realm, de Kerberos server van de Realm en de Admin server.

standaard is, kan het Kerberos gebruiken voor het Kerberos-server-domeinnaam als een RIJK, ‘AHMAD.IO’.

De Kerberos-server ‘krb5.ahmad.io’.

En de Admin server hetzelfde als de Kerberos server ‘krb5.ahmad.io’.

Zodra de installatie is voltooid, verschijnt het Kerberos-service is mislukt. Het is goed, want we zullen configureren op de volgende fase.

Stap 3-KDC Kerberos Server

configureren genereer nu een nieuw sterk hoofdwachtwoord voor de Kerberos REALM met het volgende commando.

sudo krb5_newrealm

Typ uw sterke wachtwoord en het REALM-wachtwoord wordt gegenereerd in het bestand’ /etc/krb5kdc/stash’.

daarna moeten we de admin gebruiker (admin principal) voor de KDC Kerberos server aanmaken, de hostnaam van de Kerberos server toevoegen aan de database, en dan de keytab voor de Kerberos server aanmaken.

Voer de ” kadmin.local ‘ command-line interface voor Kerberos administratie commando hieronder.

sudo kadmin.local

Maak een nieuwe beheerser principal aan met de naam ‘root’.

addprinc root/admin

typ het sterke wachtwoord voor de’ root ‘ Admin principal.

voeg de KDC Kerberos server toe aan de database en maak het keytab bestand aan voor de KDC host.

addprinc -randkey host/krb5.ahmad.io
ktadd host/krb5.ahmad.io

sluit vervolgens de ‘ kadmin.lokaal nut.

quit

vervolgens moeten we het ‘root’ admin Principe toevoegen aan de toegangscontrole lijst door het bewerken van ‘/etc/krb5kdc/kadm5.acl ‘ file.

vim /etc/krb5kdc/kadm5.acl

voeg de volgende configuratie toe.

root/admin * 

sla de configuratie op en sluit deze en herstart daarna de Kerberos-service.

sudo systemctl restart krb5-admin-server.service

en de configuratie van de KDC Kerberos-server is voltooid.

Stap 4 – Installeer en configureer Kerberos Client

in deze stap gaan we de Kerberos client installeren op Ubuntu server met IP adres ‘10.10.10.16’ en de hostnaam ‘client1’.

– FQDN

configureren FQDN op de client machine met het volgende commando.

hostnamectl set-hostname client1.ahmad.io

Bewerk daarna het bestand’ /etc/hosts ‘ met behulp van de Vim-editor.

vim /etc/hosts

plak zowel de KDC Kerberos-server als de client zoals hieronder.

10.10.10.15 krb5.ahmad.io krb5
10.10.10.16 client1.ahmad.io client1

opslaan en sluiten.

– installeer Kerberos Client

installeer Kerberos client packages door het volgende Apt commando uit te voeren.

sudo apt install -y krb5-user libpam-krb5 libpam-ccreds auth-client-config

tijdens de installatie wordt u gevraagd naar de Kerberos Realm, de Kerberos server van de Realm en de Admin server.

standaard gebruikt Kerberos de Kerberos server domeinnaam als een REALM, ‘AHMAD.IO’.

de Kerberos server is ‘krb5.ahmad.io’.

en de Admin server hetzelfde als de Kerberos server ‘krb5.ahmad.io”.

en de installatie voor Kerberos client is voltooid.

– configureer Kerberos Client

vanaf de client machine, maak verbinding met de KDC Kerberos server met behulp van het commando ‘kadmin’.

kadmin

en u wordt gevraagd om het wachtwoord van het ‘root / admin’ Principe. Typ het wachtwoord en u wordt ingelogd op het KDC Kerberos administratiesysteem.

Voeg nu de client FQDN ‘client1.ahmad.io’ aan de Kerberos database en voeg het keytab bestand toe voor de client.

addprinc -randkey host/client1.ahmad.io
ktadd host/client1.ahmad.io

sluit vervolgens de kadmin Kerberos-beheerinterface.

quit

en de configuratie van Kerberos client is voltooid.

Stap 5-testen

voor dit testdoel gaan we de SSH authenticatie configureren met behulp van Kerberos. De klant machine ‘client1.ahmad.io’ zal verbinding maken met de server ‘krb5.ahmad.io’ via SSH met de Kerberos authenticatie.

– Setup “krb5.ahmad.io’ Server

Maak een nieuwe systeemgebruiker aan met de naam ‘ammar’.

useradd -m -s /bin/bash ammar

Meld u aan bij de KDC Kerberos-administratie en voeg een nieuwe hoofdgebruiker toe, genaamd ‘ammar’.

kadmin.local
addprinc ammar

sluit de Kerberos-beheerinterface en bewerk de SSH-configuratie ‘/etc/ssh/sshd_config’.

vim /etc/ssh/sshd_config

Verwijder commentaar van de ‘GSSAPIAuthentication’ en schakel deze in door de waarde te wijzigen in “.

GSSAPIAuthentication yes
GSSAPICleanupCredentials yes

sla de configuratie op en sluit deze en herstart vervolgens de SSH-service.

systemctl restart sshd

– Setup “client1.ahmad.io’ Machine

Voeg nieuwe systeemgebruiker ‘ammar’ toe op de client en log in op de client.

useradd -m -s /bin/bash ammar
su - ammar

daarna, initialiseer de Kerberos user principal ‘ammar’.

kinit ammar

typ het wachtwoord van de gebruiker en controleer daarna het beschikbare Ticket met het volgende commando.

klist

en u krijgt het volgende resultaat te zien.

nu kunt u de ‘krb5.ahmad.io’ server met behulp van de SSH Kerberos authenticatie.

ssh krb5.ahmad.io

en u wordt verbonden met de ‘krb5.ahmad.io’ server via SSH met Kerberos authenticatie.

Hieronder is de SSH Log na ingelogd op de server.

tot slot is de installatie en configuratie van Kerberos server en client op Ubuntu 18.04 met succes voltooid.

Write a Comment

Het e-mailadres wordt niet gepubliceerd.