Comment configurer le serveur et le client Kerberos sur Ubuntu 18.04 LTS

Kerberos est un protocole d’authentification réseau qui utilise la cryptographie à clé symétrique et nécessite l’autorisation d’un tiers de confiance pour authentifier les applications client-serveur. Il a été développé à l’origine par le Massachusetts Institute of Technology (MIT) pour protéger les services réseau fournis par le projet Athena.

Dans le monde moderne, Kerberos est souvent utilisé comme un service d’authentification tiers. Cela signifie que tous les clients font confiance au jugement de Kerberos sur l’identité d’un autre client.

Dans ce tutoriel, nous allons vous montrer comment configurer l’authentification Kerberos entre deux serveurs Ubuntu 18.04. Nous allons installer et configurer le serveur Kerberos sur le serveur Ubuntu, puis installer le client Kerberos sur l’autre. Enfin, nous allons tester l’authentification du service SSH avec le serveur Kerberos.

Prérequis

  • Serveur Ubuntu 18.04
    • 10.10.10.15 krb5.ahmad.io krb5
    • 10.10.10.16 client1.ahmad.io client1
  • Privilèges root

Ce que nous allons faire:

  1. Configuration du fichier FQDN
  2. Installation du serveur KDC Kerberos
  3. Configuration du serveur KDC Kerberos
  4. Installation et configuration du client Kerberos
  5. Test

Étape 1 – Configuration du FQDN

Tout d’abord, il faut configurer le nom de domaine complet sur le serveur Kerberos puis éditer le fichier ‘/etc/hosts’ du serveur.

Modifiez le nom de domaine complet du serveur Kerberos à l’aide de la commande suivante.

hostnamectl set-hostname krb5.ahmad.io

Après cela, éditez le fichier ‘/etc/hosts’ à l’aide de l’éditeur vim.

vim /etc/hosts

Modifiez l’adresse IP et le nom de domaine complet avec le vôtre et collez-le dedans.

10.10.10.15 krb5.ahmad.io krb5

Enregistrer et fermer.

Testez maintenant en utilisant la commande ‘ping’ ci-dessous et assurez-vous que le nom de domaine complet est résolu à la bonne adresse IP.

ping -c 3 $(hostname -f)

Étape 2 – Installez le serveur KDC Kerberos

Maintenant, nous allons installer le serveur Kerberos sur le serveur ‘krb5’ avec l’adresse IP ‘10.10.10.15’ et le nom de domaine complet est ‘krb5.ahmad.io ‘.

Installez le serveur Kerberos à l’aide de la commande apt suivante.

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

Lors de l’installation, vous serez interrogé sur le royaume Kerberos, le serveur Kerberos du Royaume et le serveur d’administration.

Par défaut, le Kerberos utilisera le nom de domaine du serveur Kerberos comme DOMAINE,’AHMAD.IO’.

Le serveur Kerberos est ‘krb5.ahmad.io’.

Et le serveur d’administration identique au serveur Kerberos’krb5.ahmad.io’.

Une fois l’installation terminée, le service Kerberos ne s’exécute pas. C’est bien parce que nous allons configurer à l’étape suivante.

Étape 3 – Configurez le serveur KDC Kerberos

Générez maintenant un nouveau mot de passe maître fort pour le royaume Kerberos à l’aide de la commande suivante.

sudo krb5_newrealm

Tapez votre mot de passe fort et le mot de passe du ROYAUME sera généré dans le fichier ‘/etc/krb5kdc/stash’.

Après cela, nous devons créer l’utilisateur administrateur (administrateur principal) pour le serveur KDC Kerberos, ajouter le nom d’hôte du serveur Kerberos à la base de données, puis créer le keytab pour le serveur Kerberos.

Exécutez le ‘kadmin.interface de ligne de commande locale pour la commande d’administration Kerberos ci-dessous.

sudo kadmin.local

Créez un nouveau principal d’utilisateur administrateur appelé ‘root’.

addprinc root/admin

Tapez le mot de passe fort pour le principal d’administration ‘root’.

Ajoutez le serveur KDC Kerberos à la base de données et créez le fichier keytab pour l’hôte KDC.

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

Puis fermez le ‘kadmin.utilité locale.

quit

Ensuite, nous devons ajouter le principe d’administration ‘root’ à la liste de contrôle d’accès en éditant le ‘/etc/krb5kdc/kadm5.fichier acl.

vim /etc/krb5kdc/kadm5.acl

Ajoutez la configuration suivante.

root/admin * 

Enregistrez et fermez la configuration, puis redémarrez le service Kerberos.

sudo systemctl restart krb5-admin-server.service

Et la configuration du serveur KDC Kerberos est terminée.

Étape 4 – Installez et configurez le client Kerberos

Dans cette étape, nous allons installer le client Kerberos sur le serveur Ubuntu avec l’adresse IP ‘10.10.10.16’ et le nom d’hôte ‘client1’.

– Configure le nom de domaine complet

Configure le nom de domaine complet sur la machine cliente à l’aide de la commande suivante.

hostnamectl set-hostname client1.ahmad.io

Après cela, éditez le fichier ‘/etc/hosts’ à l’aide de l’éditeur vim.

vim /etc/hosts

Collez le serveur KDC Kerberos et le client comme ci-dessous.

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

Enregistrer et fermer.

– Installez le client Kerberos

Installez les paquets clients Kerberos en exécutant la commande apt suivante.

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

Lors de l’installation, vous serez interrogé sur le royaume Kerberos, le serveur Kerberos du Royaume et le serveur d’administration.

Par défaut, Kerberos utilisera le nom de domaine du serveur Kerberos comme DOMAINE,’AHMAD.IO’.

Le serveur Kerberos est ‘krb5.ahmad.io’.

Et le serveur d’administration identique au serveur Kerberos’krb5.ahmad.io « .

Et l’installation pour le client Kerberos est terminée.

– Configurez le client Kerberos

Depuis la machine cliente, connectez-vous au serveur KDC Kerberos à l’aide de la commande ‘kadmin’.

kadmin

Et il vous sera demandé le mot de passe du principe ‘root /admin’. Tapez le mot de passe et vous serez connecté au système d’administration KDC Kerberos.

Ajoutez maintenant le nom de domaine complet du client’client1.ahmad.io ‘ à la base de données Kerberos et ajoutez le fichier keytab pour le client.

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

Puis fermez l’interface d’administration kadmin Kerberos.

quit

Et la configuration du client Kerberos est terminée.

Étape 5 – Test

Pour ce test, nous allons configurer l’authentification SSH à l’aide du Kerberos. La machine cliente’client1.ahmad.io ‘se connectera au serveur’krb5.ahmad.io ‘ via SSH avec l’authentification Kerberos.

– Configuration ‘krb5.ahmad.io ‘Server

Créez un nouvel utilisateur système appelé ‘ammar’.

useradd -m -s /bin/bash ammar

Connectez-vous à l’administration KDC Kerberos et ajoutez un nouvel utilisateur principal appelé ‘ammar’.

kadmin.local
addprinc ammar

Fermez l’interface d’administration de Kerberos et modifiez la configuration ssh ‘/etc/ssh/sshd_config’.

vim /etc/ssh/sshd_config

Décommentez le ‘GSSAPIAuthentication’ et activez-le en changeant la valeur à « .

GSSAPIAuthentication yes
GSSAPICleanupCredentials yes

Enregistrez et fermez la configuration, puis redémarrez le service ssh.

systemctl restart sshd

– Configuration ‘client1.ahmad.io ‘Machine

Ajoutez un nouvel utilisateur système ‘ammar’ sur la machine cliente et connectez-vous à celle-ci.

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

Après cela, initialisez le principal utilisateur Kerberos ‘ammar’.

kinit ammar

Tapez le mot de passe de l’utilisateur et vérifiez ensuite le ticket disponible à l’aide de la commande suivante.

klist

Et vous verrez le résultat suivant.

Maintenant, vous pouvez connecter le ‘krb5.ahmad.io ‘ serveur utilisant l’authentification SSH Kerberos.

ssh krb5.ahmad.io

Et vous serez connecté au ‘krb5.ahmad.io ‘ serveur via SSH avec authentification Kerberos.

Vous trouverez ci-dessous le journal SSH une fois connecté au serveur.

Enfin, l’installation et la configuration du serveur et du client Kerberos sur Ubuntu 18.04 ont été achevées avec succès.

Write a Comment

Votre adresse e-mail ne sera pas publiée.