Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 1 livre papier acheté 
= la version en ligne automatiquement offerte. Cliquez ici
  1. Livres et vidéos
  2. LINUX
  3. Gestion des clients réseau
Extrait - LINUX Préparation à la certification LPIC-2 (examens LPI 201 et LPI 202) - 5e édition
Extraits du livre
LINUX Préparation à la certification LPIC-2 (examens LPI 201 et LPI 202) - 5e édition
2 avis
Revenir à la page d'achat du livre

Gestion des clients réseau

Prérequis et objectifs

1. Prérequis

Les connaissances nécessaires à la certification LPIC-1 :

Commandes de suivi des processus.

Édition de fichiers.

Commandes de gestion de répertoires et de fichiers.

Les connaissances acquises dans les précédents chapitres, notamment :

Gestion du réseau local.

Gestion des services.

Gestion de DNS.

2. Objectifs

À la fin de ce chapitre, vous serez en mesure de :

Connaître les principes et le fonctionnement de DHCP.

Configurer et administrer un serveur DHCP.

Gérer les plages d’adresses DHCP et leurs options, y compris celles nécessaires à BOOTP.

Configurer un client DHCP.

Configurer PAM pour l’authentification.

Connaître les fonctionnalités de base de SSSD.

Interroger un serveur LDAP et mettre à jour ses données.

Configurer un serveur OpenLDAP simple.

Connaître les principes du format LDIF et les bases du contrôle d’accès LDAP.

Gestion des clients réseau

Ce sujet est divisé en quatre parties de poids différents.

1. Configuration DHCP

Poids

2

Objectifs

Configurer un serveur DHCP. Paramétrer les options par défaut et par client, les adresses statiques et les postes clients BOOTP. Configurer les agents relais DHCP et assurer la maintenance des serveurs DHCP.

a. Compétences principales

  • Fichiers, termes et outils de configuration de DHCP.

  • Configuration de plages d’adresses par sous-réseaux et dynamiques.

  • Connaissance de base de DHCPv6 et des annonces IPv6 des routeurs.

b. Éléments mis en œuvre

  • dhcpd.conf

  • dhcpd.leases

  • Journaux DHCP dans syslog ou dans le journal systemd

  • arp

  • dhcpd

  • radvd

  • radvd.conf

2. Authentification par PAM

Poids

3

Objectifs

Configurer PAM pour l’authentification à partir de différentes méthodes. Fonctionnalités de base de SSSD.

a. Compétences principales

  • Fichiers, termes et outils de configuration de PAM.

  • Mots de passe passwd et shadow.

  • Utilisation de sssd pour l’authentification LDAP.

b. Éléments mis en œuvre

  • /etc/pam.d/

  • pam.conf

  • nsswitch.conf

  • pam_unix, pam_cracklib, pam_limits, pam_listfile, pam_sss

  • sssd.conf

3. Utilisation d’un client LDAP

Poids

2

Objectifs

Interroger un serveur LDAP et mettre à jour ses données. Import et ajout d’éléments, ajout et gestion des utilisateurs.

a. Compétences principales...

Configuration DHCP

DHCP (Dynamic Host Configuration Protocol) est un protocole client-serveur conçu pour faciliter la gestion de parcs importants de postes de travail et d’équipements utilisant IP. Il permet d’affecter automatiquement une adresse IP et les paramètres associés aux hôtes d’un réseau IP.

1. Le protocole DHCP

Le protocole DHCP, défini à l’origine dans la RFC 1531, est un dérivé d’un protocole plus ancien, BOOTP. Il fonctionne essentiellement via des messages UDP en diffusion (broadcast), du port client 68 vers le port serveur 67, éventuellement relayés par des agents-relais DHCP (rôle généralement pris en charge par les routeurs).

Les quatre datagrammes IP aboutissant à l’attribution au client DHCP d’un bail d’adresse par un serveur DHCP sont détaillés ci-dessous.

a. Recherche d’un serveur DHCP : DHCPDISCOVER

Le client DHCP émet une requête sur son réseau/sous-réseau, en diffusion, à la recherche d’un serveur DHCP. La requête, appelée DHCPDISCOVER, contient l’adresse MAC du client émetteur, ainsi que la dernière adresse IP qui lui a été attribuée, s’il en a une (y compris si le bail de l’adresse a expiré).

b. Offre de bail par le serveur : DHCPOFFER

Chaque serveur DHCP présent sur le réseau/sous-réseau traite la requête du client. Il consulte sa base d’adresses IP. Si une adresse est disponible pour le sous-réseau sur lequel il a reçu la demande, il la réserve pour la proposer au client, en accordant de préférence l’adresse actuelle du client, s’il en a une et si elle fait partie de la base d’adresses du serveur et qu’elle est disponible. Il propose l’adresse dans la réponse au client, un datagramme en diffusion contenant un message DHCPOFFER.

Si le serveur ne dispose pas d’une adresse IP disponible, il ne répond pas.

c. Acceptation de l’offre : DHCPREQUEST

Le client DHCP reçoit l’offre d’un ou plusieurs serveurs DHCP. Si une proposition concerne la dernière adresse IP qui lui a été attribuée, il la sélectionne de préférence.

Une fois qu’une réponse...

Authentification par PAM

Quel que soit le système d’exploitation, de nombreuses applications et services nécessitent une identification et une authentification de l’utilisateur, c’est-à-dire vérifier que l’utilisateur est autorisé à accéder au service ou à l’application, et que l’utilisateur a prouvé son identité.

À l’origine, en environnement Unix, les applications et services développaient chacune leur méthode d’identification et d’authentification de l’utilisateur et de contrôle d’accès. Certains programmes validaient le compte utilisateur à partir de la base de comptes locale (/etc/passwd), d’autres via une base de comptes distribuée (NIS, LDAP). Des applications vérifiaient que le compte utilisateur fourni n’était pas super-utilisateur, ou inversement qu’il était super-utilisateur, d’autres accordaient l’accès aux utilisateurs selon l’existence ou non d’un fichier (/etc/nologin, par exemple), ou la déclaration de son terminal dans un autre fichier (/etc/securettys), etc.

Dans les premières versions d’Unix, le mot de passe était stocké directement sur la ligne du compte utilisateur, chiffré, dans le fichier /etc/passwd. Cependant, comme ce fichier doit être accessible en lecture pour tous les utilisateurs, on a créé un fichier spécifique de gestion des mots de passe, /etc/shadow, avec des fonctionnalités supplémentaires (durée minimale, maximale, etc.). C’est la méthode mise en œuvre sur Linux.

Pour simplifier et rationaliser les méthodes de contrôle d’accès des applications, une couche intermédiaire a été conçue, permettant aux applications et services de lui déléguer ces opérations : PAM (Pluggable Authentication Modules). Créée pour Unix, elle a été implémentée sur Linux.

PAM se compose d’un ensemble de modules logiciels spécialisés, que l’on peut combiner dans un ordre et selon des règles précises, via des fichiers de configuration qui sont associables aux différentes applications. 

Cette méthode permet aux administrateurs...

Configuration d’un serveur OpenLDAP

LDAP (Lightweight Directory Access Protocol) est un protocole standard d’accès à un service d’annuaire distribué, défini par la RFC 4511. Il permet de rassembler dans une arborescence d’annuaire l’ensemble des informations concernant différents objets d’une organisation (comptes utilisateurs, groupes, machines, services réseau, bâtiments, etc.), et de permettre aux clients LDAP d’accéder à ces informations via des requêtes normalisées.

Linux peut être serveur et/ou client LDAP.

1. Généralités

En 1988, l’ITU (International Telecommunication Union, ex-CCITT) a mis en place une norme couvrant les différents éléments à mettre en œuvre pour fournir des services d’annuaire électronique, utilisables à travers un réseau : la norme X.500, validée ensuite par l’ISO (norme ISO/IEC 9594).

Cette norme étant particulièrement complexe, un protocole plus simple d’accès aux services de messagerie en a été dérivé, LDAP (Lightweight Directory Access Protocol). Ce protocole a ensuite été étendu pour prendre en compte un modèle complet d’annuaire.

Les services d’annuaires compatibles LDAP les plus utilisés aujourd’hui sont Microsoft ADS (Active Directory Services), Oracle Directory Server Enterprise Edition, IBM Tivoli Directory Server et, dans le monde open source, OpenLDAP et Apache Directory Server.

a. Structure et terminologie

Les annuaires électroniques de type X.500 s’appuient sur une structure hiérarchisée, en arborescence.

Un annuaire est composé d’objets, qui peuvent éventuellement contenir d’autres objets. Les objets de structure sont appelés des conteneurs et peuvent être de différents types : organisation, domaine, unité organisationnelle. Un objet non structurant est appelé un objet feuille (leaf object). Les différentes informations associées à un objet sont ses attributs.

Exemple

Annuaire LDAP basé sur une structure de type domaine DNS.

images/12CE01.png

b. Schéma

L’ensemble des types d’objets et des attributs d’objets pouvant figurer dans un annuaire...

Utilisation d’un client LDAP

En plus de ses fonctionnalités de client LDAP, pour l’identification et l’authentification des utilisateurs, Linux dispose de commandes permettant d’interagir avec le serveur LDAP. Ces commandes sont fournies par le paquet logiciel ldap-utils (Debian) ou openldap-clients (Red Hat).

1. Fichier de configuration du client

Bien que facultatif, le fichier de configuration permet de définir des options et des valeurs par défaut, utilisables par la bibliothèque LDAP. Ce fichier, slapd.conf (ou, dans les versions récentes, ldap.conf), se trouve par défaut dans le répertoire /etc/ldap ou /etc/openldap.

Le fichier permet de définir des variables, valeurs par défaut pour les commandes utilisant la bibliothèque LDAP, parmi lesquelles :

BASE

Suffixe de l’annuaire par défaut.

URI

URI des serveurs LDAP par défaut.

HOST

Nom d’hôte ou adresse des serveurs LDAP par défaut.

Exemple

Valeurs par défaut pour les commandes LDAP d’un client LDAP :

BASE    dc=intra,dc=fr 
URI     ldap://srvldap.intra.fr ldap:// srvldap1. intra.fr:666 
HOST    srvldap.intra.fr 

2. Interrogation de l’annuaire : ldapsearch

La commande ldapsearch permet d’effectuer des requêtes d’interrogation sur un annuaire LDAP et de récupérer le résultat au format normalisé LDIF (LDAP Data Interchange Format).

Cette commande admet de nombreuses options. Elle permet d’obtenir tout ou partie des informations stockées dans l’arborescence de l’annuaire LDAP du serveur.

Le cas le plus simple consiste à demander l’export total de toutes les informations de l’annuaire local (équivalant de la commande slapcat). Cela permet de vérifier la présence d’un objet ou que le serveur d’annuaire répond aux requêtes.

Syntaxe pour afficher le contenu d’un annuaire

ldapsearch [-x] - b Suffixe 

Avec :

-x

Requête anonyme (sans mot de passe).

-b Suffixe

Identifiant de l’annuaire à interroger.

Exemple

ldapsearch -x -b dc=mondns,dc=fr 
# extended LDIF 
# 
# LDAPv3 
# base <dc=mondns,dc=fr> with scope subtree 
# filter: (objectclass=*) 
# requesting: ALL 
# 

# mondns.fr 
dn: dc=mondns,dc=fr 
objectClass: top 
objectClass: dcObject 
objectClass: organization...

Validation des acquis : questions/réponses

Répondez à ces questions ouvertes, comparables à celles qui pourront vous être posées lors de la certification, mais ces dernières seront sous forme de QCM ou demandant une réponse courte saisie au clavier.

1. Questions

1 Dans quel ordre sont échangés les messages DHCPOFFER et DHCPREQUEST entre un client et un serveur DHCP ?

2 Quelle section du fichier de configuration d’un serveur DHCP permet de définir une plage d’adresses ?

3 Quelles sont les différentes valeurs du paramètre type d’action dans un fichier de configuration PAM ?

4 À quoi sert le module PAM pam_unix.so ?

5 Quelle différence y a-t-il entre les contrôles required et requisite dans un fichier de configuration PAM ?

6 Que signifie LDAP ?

7 Quel est le rôle d’un DN dans un annuaire LDAP ?

8 Quelle ligne de commande permet de démarrer le serveur OpenLDAP par systemd ?

9 Quelle commande permet de vérifier le fichier de configuration du serveur OpenLDAP ?

10 Que fait la commande ldapsearch -x -b dc=socx,dc=fr ?

11 Quelle commande permet à un utilisateur de changer son mot de passe LDAP ?

2. Résultat

Référez-vous aux pages suivantes pour contrôler vos réponses. Pour chacune de vos bonnes réponses, comptez un point.

Nombre de points :    /11

Pour...

Travaux pratiques

Ces travaux pratiques proposent deux ateliers mettant en œuvre certains des points abordés dans ce chapitre. Pour chaque étape est donné un exemple commenté de réalisation, à adapter suivant la configuration de vos systèmes.

Pour les tests, on peut désactiver temporairement le pare-feu et SELinux, pour éviter des interactions difficiles à diagnostiquer :

systemctl stop firewalld 
setenforce 0 

1. Configuration et utilisation d’un serveur DHCP

On installe un serveur DHCP sur une distribution RHEL 8.5. Le serveur gérera une plage de dix adresses appartenant à son sous-réseau. Pour chacune, il fournira un bail de trois jours, et configurera le masque de sous-réseau, la passerelle par défaut et le serveur DNS.

Cet atelier doit se faire sur un réseau de test, sans autre serveur DHCP.

Commandes et fichiers utiles

  • yum

  • /etc/dhcp/dhcpd.conf

  • /var/lib/dhcpd/dhcpd.leases

  • systemctl

Manipulations

1.

Vérifiez que le paquet logiciel serveur DHCP est installé.

2.

Configurez le serveur DHCP pour gérer une plage d’adresses.

3.

Démarrez ou redémarrez le serveur DHCP.

4.

Testez le serveur depuis un client DHCP distant.

5.

Vérifiez l’état du bail sur le serveur DHCP.

Résumé des commandes et résultat à l’écran

1.

Vérifiez que le paquet logiciel serveur DHCP est installé.

On vérifie que le paquet logiciel est installé :

[root@srvrh ~]# yum list dhcp-server 
Paquets installés 
dhcp-server.x86_64 12:4.3.6-47.el8 @rhel-8-for-x86_64-baseos-rpms 

On regarde si le serveur DHCP est démarré :

[root@srvrh ~]# systemctl status dhcpd 
● dhcpd.service - DHCPv4 Server Daemon 
   Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled; 
vendor preset: disabled) 
   Active: inactive (dead) 
     Docs: man:dhcpd(8) 
           man:dhcpd.conf(5) 

Le serveur est inactif.

2.

Configurez le serveur DHCP pour gérer une plage d’adresses.

On regarde l’adresse IPv4 et l’interface réseau du serveur :

[root@srvrh ~]# ip -4 -br a 
lo               UNKNOWN        127.0.0.1/8 ...