Déploiement d’un service DHCP.

dhcp-server-ubuntu

L’objectif de cet article est d’apprendre à mettre en place un serveur DHCP sous Linux ainsi que son fonctionnement.

Un serveur DHCP (Dynamic Host Configuration Protocol) a pour rôle de distribuer de façon automatique, des adresses IP à des clients.

Les adresses IP dynamiques sont octroyées pour une durée limitée (bail, ou lease time), qui est transmise au client dans l’accusé de réception qui clôture la transaction DHCP.

Avantages :

  • Évite les conflits d’adresse IP et permet de contrôler l’utilisation des adresses IP de façon centralisée.
  • Les adresses IP sont libérées automatiquement à l’expiration du bail.
  • Il est possible de fixer une Adresse IP pour des serveurs à volonté en fonction de l’adresse MAC.

Inconvénients :

  • Il faut continuer à gérer à la main les serveurs (imprimantes, routeurs, serveur de fichier, Active Directory) car ce sont des serveurs et donc il faut connaitre leur adresse IP qui doit rester statique.
  • Il faut un serveur DHCP par réseau local. Le DHCP supporte assez mal le routage (il faut faire des conf particulières sur les routeurs pour laisser le broadcast DHCP).
  • N’importe quel PC peut se connecter sur le réseau local et obtenir une IP rapidement. Cela peut poser un problème au niveau de la sécurité.

 

  1. Présentation de l’environnement :

 

visio

  1. Déploiement du service :

Serveur dhcp sous Debin 8.2

Service installé : SSH, ISC-DHCP-SERVER

 

Configuration :

  • Interface :

# The primary network interface

allow-hotplug eth0

iface eth0 inet static

address 172.18.3.253

netmask 255.255.0.0

network 172.18.0.0

broadcast 172.18.255.255

gateway 172.18.0.254

 

  • Hosts :

127.0.0.1       localhost

172.18.3.253    dhcp.sio.fr     dhcp

  • Hostname :

dhcp

  • conf :

# A slightly different configuration for an internal subnet.

subnet 172.18.0.0 netmask 255.255.0.0 {  ( adresse et masque du réseau )

range 172.18.3.30 172.18.3.35;                 ( étendue des adresse proposées )

option domain-name-servers 172.22.0.1;  ( DNS proposé )

option domain-name « sio.fr »;                      ( Nom de domaine proposé )

option routers 172.18.0.254;                       ( Passerelle du réseau )

}

 

# Fixed IP addresses can also be specified for hosts.  (Réservation de bail).

host nompcclient {

hardware ethernet 58:94:6b:e0:7d:5c;            ( adresse mac pour laquelle on réserve l’ip )

fixed-address 172.18.3.35;        ( Adresse réservée )

}

 

  1. Détermination des tests nécessaires à la validation du service.

Pour vérifier le fonctionnement on va faire un “ip config /renew” pour renvoyer une demande d’adresse au serveur.

 

renew

 

  1. Etude du fonctionnement de ce service.

1. Le client envoie en broadcast(diffusion via l’adresse MAC de destination FF:FF:FF:FF:FF:FF) sur le réseau une requête DHCP DISCOVER pour trouver les serveurs DHCP disponibles.

2. Le serveur DHCP ayant répondu en premier renvoie une requête DHCP OFFER pour fournir les informations au client ( c’est à cette étape qu’un DHCP pirate peut répondre au client à la place d’un serveur légitime).

3. Le client renvoie une requête DHCP REQUEST pour signaler aux autres serveurs DHCP qu’il a déjà choisi un serveur.

4. Le serveur DHCP choisi confirme au client avec un DHCP ACK.

 

Réalisation d’une analyse de trame montrant les échanges client serveur.

capture-trames1

Ligne 1 (le client recherche un serveur DHCP disponible).

Ligne 2 (Proposition d’une adresse au client) :

–    172.18.3.35 adresse du client proposée par le serveur.

–    172.18.3.253 Serveur DHCP.

Ligne 3 (Acceptation de l’adresse proposée).

 

6) Prise en compte du niveau de sécurité nécessaire à une infrastructure :

Désactiver le protocole SSH.

Protéger le serveur contre le DHCP Spoofing en mettant en place un DHCP Snooping .

7) Mise en place d’une gestion de configuration.

Sauvegarde de la configuration du serveur sur un cloud ou un autre espace distant comme par exemple un tftp.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *