GNU/Linux >> Tutoriels Linux >  >> Ubuntu

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é initialement développé 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 service d'authentification tiers. Cela signifie que tous les clients font confiance au jugement de Kerberos concernant 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 testerons 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. Configurer le fichier FQDN
  2. Installer le serveur KDC Kerberos
  3. Configurer le serveur KDC Kerberos
  4. Installer et configurer le client Kerberos
  5. Test

Étape 1 - Configurer le nom de domaine complet

Tout d'abord, il faut configurer le FQDN sur le serveur Kerberos puis éditer le fichier '/etc/hosts' du serveur.

Modifiez le FQDN du serveur Kerberos à l'aide de la commande suivante.

hostnamectl set-hostname krb5.ahmad.io

Après cela, modifiez le fichier '/etc/hosts' à l'aide de l'éditeur vim.

vim /etc/hosts

Changez l'adresse IP et le FQDN avec les vôtres et collez-les.

10.10.10.15     krb5.ahmad.io   krb5

Enregistrez et fermez.

Testez maintenant en utilisant la commande 'ping' ci-dessous et assurez-vous que le FQDN est résolu avec la bonne adresse IP.

ping -c 3 $(hostname -f)

Étape 2 - Installer le serveur KDC Kerberos

Nous allons maintenant installer le serveur Kerberos sur le serveur 'krb5' avec l'adresse IP '10.10.10.15' et le FQDN 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

Au cours de l'installation, vous serez interrogé sur le domaine Kerberos, le serveur Kerberos du domaine et le serveur d'administration.

Par défaut, Kerberos utilisera le nom de domaine du serveur Kerberos comme REALM, '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, vous verrez que le service Kerberos n'a pas pu s'exécuter. C'est bien parce que nous configurerons à la prochaine étape.

Étape 3 - Configurer le serveur KDC Kerberos

Générez maintenant un nouveau mot de passe principal fort pour le domaine Kerberos à l'aide de la commande suivante.

sudo krb5_newrealm

Tapez votre mot de passe fort et le mot de passe REALM sera généré dans le fichier '/etc/krb5kdc/stash'.

Après cela, nous devons créer l'utilisateur administrateur (admin 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 l'interface de ligne de commande 'kadmin.local' 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 administrateur "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

Fermez ensuite l'utilitaire 'kadmin.local'.

quit

Ensuite, nous devons ajouter le principe d'administration 'root' à la liste de contrôle d'accès en éditant le fichier '/etc/krb5kdc/kadm5.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 - Installer et configurer 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'.

- Configurer le nom de domaine complet

Configurez le FQDN sur la machine cliente à l'aide de la commande suivante.

hostnamectl set-hostname client1.ahmad.io

Après cela, modifiez 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

Enregistrez et fermez.

- Installer le client Kerberos

Installez les packages client Kerberos en exécutant la commande apt suivante.

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

Au cours de l'installation, vous serez interrogé sur le domaine Kerberos, le serveur Kerberos du domaine et le serveur d'administration.

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

Le serveur Kerberos est 'krb5.ahmad.io '.

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

Et l'installation du client Kerberos est terminée.

- Configurer 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 FQDN 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

Fermez ensuite l'interface d'administration de kadmin Kerberos.

quit

Et la configuration du client Kerberos est terminée.

Étape 5 - Tester

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

- Configurer le serveur 'krb5.ahmad.io'

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 en ''.

GSSAPIAuthentication yes
GSSAPICleanupCredentials yes

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

systemctl restart sshd

- Configurer la machine 'client1.ahmad.io'

Ajoutez le nouvel utilisateur système "ammar" sur la machine cliente et connectez-vous.

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

Après cela, initialisez le principal d'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.

Vous pouvez maintenant vous connecter au serveur 'krb5.ahmad.io' en utilisant l'authentification SSH Kerberos.

ssh krb5.ahmad.io

Et vous serez connecté au serveur 'krb5.ahmad.io' 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 se sont terminées avec succès.


Ubuntu
  1. Comment configurer et utiliser le serveur FTP dans Ubuntu Linux

  2. Comment installer et sécuriser Redis sur Ubuntu 18.04 LTS

  3. Comment installer le serveur et le client NTP sur Ubuntu 18.04 LTS

  4. Comment configurer le serveur Rsyslog sur Ubuntu 18.04 LTS

  5. Comment configurer le serveur et le client NFS sur Ubuntu 20.04

Comment configurer le dernier MySQL sur Ubuntu 20.04 LTS

Comment configurer un serveur et un client NTP sur Ubuntu 20.04 LTS

Comment installer le serveur et le client UrBackup sur Ubuntu 20.04

Comment installer le serveur et le client Telnet sur Ubuntu

Comment installer le serveur NTP et le ou les clients sur Ubuntu 20.04 LTS

Comment configurer le serveur et le client NTP sur Ubuntu 20.04 LTS