Issa Diallo

Cybersecurity Consultant

IPv6: Mise en place des services DNS, DHCP, SERVEUR MAIL

Sommaire

  • Liste des acronymes & Sigles
  • Architecture d’intégration
  • Fiche Technique
  • Table d’adressage IPv6
  • Mise en place du serveur DHCPv6
  • Définition (DHCPv6)
  • II. Mise en place du serveur DNS
  • Configuration du Serveur DNS
  • III. Mise en place du serveur de Messagerie
  • Configuration du Serveur de Messagerie
  • Tests (Envoi/Réception) mails
  • Conclusion

Liste des acronymes & Sigles

  • DNS : Domain Name System
  • DNSSL : DNS Search List
  • DHCP : Dynamic Host Configuration Protocol
  • IP : Internet Protocol
  • IMAP : Internet Message Access Protocol
  • IETF : Internet Engineering Task Force
  • LAN : Local Area Network
  • MTU : Maximum Transmission Unit
  • NDP : Neighbor Discovery Protocol
  • POP : Post Office Protocol
  • RDNSS : Recursive DNS Server
  • RADVD : Router Advertissment Deamon
  • RA : Router Advertissment
  • RS : Router Solicitation
  • RFC : Request For Common
  • SOA : Start Of Authority
  • SLAAC : Stateless Addres Auto Configuration
  • SSL : Secure Sockets Layer
  • SMTP : Simple Mail Transfer Protocol
  • TLS : Transport Layer Security
  • UMTS : Universal Mobile Telecommunications System
  • VM : Virtual MachineMise en place du serveur DHCPv6

I.1 – Définition (DHCPv6)

DHCPv6 est un protocole de configuration dynamique (Dynamic Host Configuration Protocol version 6) pour IPv6.

L’adresse IPv6 de lien local (Link-local) est générée par l’hôte lui-même, DHCPv6 n’attribue donc que l’adresse de monodiffusion globale.

DHCPv6 est l’une des deux méthodes de configuration automatique des adresses IPv6; la méthode la plus simple (par défaut) est SLAAC (Stateless Automatic Auto Configuration utilise les messages Neighbor Discovery Protocol RA et RS) , qui ne requiert pas de serveur DHCP.

Il existe deux versions de DHCPv6 : avec et sans états.

La méthode d’attribution automatique des adresses IPv6 de monodiffusion globale est donc déterminée par la configuration du routeur IPv6 : SLAAC, DHCPv6 sans état ou DHCPv6 avec état.

I.2- Architecture d’intégration

I.3 – Fiche Technique

hostnameServices installésAdresse_ipv6Description
srv-dhcp-linuxwide-dhcpv6-server2001:db8::1/64 
srv-dns-linuxBind92001:db8::2/64 
srv-mail-linuxPostfix / dovecot / roundcube2001:db8::3/64 
pc-client-winn/a Poste de test
dhcp_range2001:db8::100 to 2001:db8::200
Adresses de messageriezdiallo@everest.lan eatta@everest.lan lkadjo@everest.lan

NOTICE :

Pour les besoins du LAB, nous avons utilisé l’hyperviseur Oracle VM VirtualBox qui est un outil Open Source.

Les Différentes cartes réseau de nos VM (Virtual Machine) ont été configuré en mode « pont » afin de faciliter la connexion à internet et permettre une interaction directe avec le LAN (local Area Network) de l’étudiant.

I.4 – Configuration du serveur DHCP

Nous allons présenter les étapes de la configuration d’un serveur DHCP pour la distribution automatique des adresses IPv6.

La réalisation se fera en environnement linux (Ubuntu) et la configuration en ligne de commande.

Attribution statique d’une adresse ipv6 à notre serveur DHCP

Installation du paquet wide-dhcpv6-server

Il faudra par la suite prendre bien le soin d’indiquer le nom de votre interface réseau sur laquelle le serveur DHCP devra écouter, dans mon cas il s’agit de l’interface enp0s3

Une fois le paquet wide-dhcpv6-server installé, nous allons nous diriger vers le répertoire /etc/wide-dhcpv6 puis créer le fichier dhcp6s.conf et indiquer les paramètres comme illustré dans la figure ci-dessous.

Apres l’étape de configuration du fichier dhcp6s.conf , il faudra redémarrer le service et s’assurer qu’il a bien démarré sans message d’erreur.

Le second paquet à installer est « RADVD »

Le démon Router Advertisement Daemon (radvd) est un logiciel open-source qui implémente des annonces lien-local d’adresses de routeurs IPv6 et de préfixes de routage IPv6 en utilisant le protocole Neighbor Discovery (NDP) comme spécifié dans la RFC 2461.

Le démon Router Advertisement Daemon est utilisé par les administrateurs système dans les méthodes d’autoconfiguration sans état (RFC 4862) des hôtes du réseau sur les réseaux de protocole Internet version 6.

Lorsque les hôtes IPv6 configurent leurs interfaces réseau, ils diffusent des demandes de sollicitation de routeur (RS) sur le réseau pour découvrir les routeurs disponibles. Radvd répond aux demandes par des messages d’annonce de routeur (RA). De plus, radvd multidiffuse périodiquement des paquets RA sur la liaison attachée pour mettre à jour les hôtes du réseau. Les messages d’annonce de routeur contiennent le préfixe de routage utilisé sur le lien, l’unité de transmission maximale (MTU) du lien et l’adresse du routeur par défaut responsable.

Radvd supporte également les options de serveur DNS récursif (RDNSS) et de liste de recherche DNS (DNSSL) pour NDP publiées dans le RFC 6106.

La commande d’installation est la suivante : apt-get install radvd

Avant toute manipulation, nous allons procéder à la sauvegarde du fichier de configuration original question de pouvoir faire un rollback en cas corruption du fichier.

Apres l’étape de configuration du fichier /etc/radvd.conf , il faudra redémarrer le service et s’assurer qu’il a bien démarré sans message d’erreur.

La capture ci-dessous, montre l’acquisition automation d’une adresse IPv6 sur notre machine cliente ( voir l’évidence ci-dessous )

 II– Mise en place du Service DNS

Nous allons présenter les étapes de la configuration d’un serveur DNS pour la résolution de noms pour notre domaine everest.lan

Le DNS doit fournir la résolution directe de noms et inverse pour tous les hôtes et le serveur. La réalisation se fera en environnement linux (Ubuntu) et la configuration en ligne de commande. 

II.1 – Attribution statique d’une adresse IPv6 à notre serveur DNS

II.2 – Configuration du serveur DNS

Présentation de BIND (C’est quoi BIND ?)

BIND est une suite de logiciels permettant d’interagir avec le système de noms de domaine (DNS). Son composant le plus éminent, named remplit les deux principaux rôles de serveur DNS, en agissant comme un serveur de noms faisant autorité pour les zones DNS et comme un résolveur récursif dans le réseau. En 2015, c’est le logiciel de serveur de noms de domaine le plus utilisé et c’est le standard de facto sur les systèmes d’exploitation de type Unix/Linux.

Le logiciel a été initialement conçu à l’Université de Californie, Berkeley (UCB) au début des années 1980. Le nom est un acronyme de Berkeley Internet Name Domain, reflétant l’utilisation de l’application au sein de l’UCB. La dernière version est BIND 9, publiée pour la première fois en 2000 et toujours activement maintenue par l’Internet Systems Consortium (ISC) avec de nouvelles versions publiées plusieurs fois par an.

  • Installation du paquet bind9

La commande pour l’installation du paquet est la suivante : sudo apt-get install bind9 

  • Configuration des fichiers de paramétrage

(Attention, toujours faire une copie du fichier original avant toutes modifications)

sudo cp /etc/bind/named.conf.local /etc/bind/named.conf.local.orignal

Passons ensuite à la configuration du fichier named.conf.local

sudo nano /etc/bind/named.conf.local

Ensuite nous allons créer manuellement les deux fichiers mentionnés dans le fichier named.conf.local et qui sont :

  • tp.zone.d (fichier pour la résolution Directe; nom d’hôte vers adresses Ipv6)
  • tp.zone.i  (fichier pour la résolution inversée; adresses Ipv6 vers nom d’hôte)

Pour créer un fichier vide sous linux, on utilise la commande suivante : touch « nom du fichier »

Passons maintenant au paramétrages des deux fichiers créés ( tp.zone.i et tp.zone.d )

Remarque :

  • TTL (time to live) durée de vie du SOA en seconde soit 24 heures
  • @ : Un raccourci pour désigner le nom de la zone actuelle spécifiée dans l’instruction zone de fichier /etc/bind/named.conf
  • 1w (one Week on peut le mettre en seconde) : Intervalle de temps pour le rafraichissement, sert aussi à la synchronisation entre des serveurs primaires et secondaires, par exemple. 1d (one Day on peut le mettre en seconde) : Fréquence de ressaie en cas d’échec des rafraichissements. Utilisé par les serveurs secondaires.
  • 4w : Principalement utilisé par un serveur secondaire, c’est le temps maximal pendant les informations reçues d’un serveur primaire reste valide.
  • 1w : Durée de vie, par défaut dans le cache d’un serveur qui n’a pas d’autorité sur cette zone. Le fichier ci-dessus n’est pas complet c.à.d.. on peut y inscrire tous les serveurs (DHCP, messagerie, web…)
  • Le premier fichier : il sert pour la résolution directe

Le deuxième fichier : il sert pour la résolution inverse

A présent nous allons modifier les paramètres du fichier host de notre serveur DNS afin qu’il puisse prendre en compte les paramètres configurés ci-dessous.

sudo nano /etc/resolv.conf

Les paramètres ci-dessous doivent être configuré et rendus persistants sur l’ensemble des serveurs de notre labs.

domain everest.lan

search everest.lan

options edns0 trust-ad

nameserver 2001 :db8 ::2

Tests de résolution DNS

Test de résolution DNS via la commande ping depuis notre PC CLIENT

III.Mise en place du serveur de messagerie.

 III.1 – Présentation de postfix

Postfix est un serveur de messagerie électronique et un logiciel libre développé par Wietse Venema et plusieurs contributeurs. Il se charge de la livraison de courriers électroniques (courriels) et a été conçu comme une alternative plus rapide, plus facile à administrer et plus sécurisée que l’historique Sendmail.

Il est le serveur de courriel par défaut dans plusieurs systèmes de type UNIX, comme Mac OS XNetBSD2, diverses distributions GNU/Linux, etc.

Postfix est publié sous licence IBM Public License 1.0. C’est une licence libre, mais incompatible avec la GPL.

Postfix a tout d’abord été connu sous les noms de VMailer et par la suite IBM Secure Mailer. Il a été écrit par Wietse Venema durant son passage au centre de recherche IBM T. J. Watson. La première version a été publiée au milieu de l’année 1999.

III.2 – Présentation de dovecot

Dovecot est un serveur IMAP et POP3 pour les systèmes d’exploitation Unix et dérivés, conçu avec comme premier but la sécurité. Dovecot est distribué en double licence MIT et LGPL-2.1-only.

Historique

En juillet 2014, Dovecot était le leader mondial des serveurs IMAP avec près de trois millions de machines, soit 57,16 % du marché.

Fonctionnalités

Dovecot gère les formats de boîte de messagerie mbox et Maildir. Les quotas Maildir sont également gérés. Il prend en charge de manière complète IMAP4 révision 1 et POP3.

Les méthodes d’identifications offertes sont CRAM-MD5, DIGEST-MD5, APOP, NTLM de Microsoft, GSSAPI (Kerberos v5), LDAPBase de données RPA, LOGIN, à l’aide d’un compte anonyme, OTP et SKEY. Dovecot propose également des greffons (voir section Module) qui permettent d’augmenter le nombre de fonctionnalités.

Dovecot offre aux administrateurs de nombreux outils de migration des serveurs Uw-IMAP, Uw-POP3, Linuxconf, VIMAP, Courier IMAP et POP3 ainsi que Cyrus IMAP et POP3.

Dovecot inclut également un MDA (nommé « Local delivery agent » dans la documentation), avec un support optionnel des filtres Sieve.

L’IPv6SSL et TLS sont pris en charge.

Les systèmes d’exploitation pris en charge sont GNU/LinuxSolarisFreeBSDOpenBSDNetBSD et MacOSX.

III.3 – Présentation de rouncube

Roundcube est un client de messagerie pour le protocole IMAP écrit en PHP et JavaScript, publié sous licence libre GPL.

Il est sur la liste des logiciels recommandés par l’État français pour les administrations.

L’interface utilisateur est disponible en 81 langues, de l’espéranto.

III.4 Installation et configuration de postfix

  • Attribution d’une adresse ipv6

Dirigeons-nous dans le fichier /etc/network interfaces

Commande pour l’accès au fichier de configuration de la carte réseau/ sudo nano /etc/network/interfaces

A présent nous allons procéder à l’installation des paquets postfix et dovecot

Sélectionner le type Site Internet

Indiquer le nom pleinement qualifier du serveur mail ( ici: srv-mail.everest.lan )

A la fin de l’installation, nous allons procéder à la reconfiguration de postfix afin d’y ajouter nos propres paramètres.

sudo dpkg-reconfigure postfix

Ici nous indiquons la liste des domaines de confiance de notre serveur.

Mettre la synchronisation à « NON »

Garder la taille de la boite aux lettres à « »

Choisir d’écouter uniquement que le Protocol IPV6

Dirigeons nous maintenant dans le fichier de configuration principal de postfix pour finaliser sa configuration

sudo nano /etc/postfix/main.cf

Ajouter la valeur home_mailbox = Maildir/ pour spécifier le répertoire de stockage des boites aux lettres

Nous allons ensuite éditer le fichier /etc/dovecot/dovecot.conf

cd /etc/dovecot/conf.d/

sudo nano 10-auth.conf

mettre la valeur

disable_plaintext_auth = no

sudo nano 10-auth.conf

Ensuite, il faudra commenter la valeur

#mail_location = mbox:~/mail:INBOX=/var/mail/%u

Initiation le répertoire Maildir avec la commande ci-dessous

sudo maildirmake.dovecot /etc/skel/Maildir

Redémarrer postfix et dovecot

sudo /etc/init.d/postfix restart

sudo /etc/init.d/dovecot restart

Création des utilisateurs de la messagerie.

Installation de maria-db, php et roundcube

sudo apt-get install mariadb-server php7.4-mysql roundcube

la page suivante permet de rattacher l’application roundcube à la base de donnée MySQL

Une fenêtre nous invites alors à indiquer le mot de passe, ici « pigier »

Configuration de roundcube

idiallo@srv-mail:~$ cd /etc/roundcube/

idiallo@srv-mail:/etc/roundcube$ sudo nano apache.conf

nous allons juste fournir un virtual hist permettant d’atterrir sur l’interface web de roundcube

idiallo@srv-mail:/etc/roundcube$ sudo nano config.inc.php

mettre les valeurs suivantes :

$config[‘default_host’] = ‘srv-mail.everest.lan’;

$config[‘smtp_user’] = ”;

$config[‘smtp_pass’] = ”;

Redémarrer ensuite le service apache

idiallo@srv-mail:/etc/roundcube$ sudo /etc/init.d/apache2 restart

NB :  ne pas oublier de bien configurer le fichier de résolution DNS sur les différents serveurs de ce lab.

Afin d’éviter la réinitialisation à chaque redémarrage du système, l’ajout de l’attribut i (immutable) (à condition que le système de fichier le supporte, ce qui est le cas d’ext4):

chattr +i /etc/resolv.conf

Test d’envoie et réception email

Dans ce test, l’utilisateur zdiallo vas envoyer un mail à l’utilisateur lkadjo

Conclusion

  La migration de IPv4 vers IPv6 est indispensable pour éviter une dramatique pénurie d’adresses ainsi qu’une explosion des tables de routage. L’IETF s’est accordée sur un tarissement des adresses IPv4 aux alentours de 2010 voire bien avant si la téléphonie mobile de troisième génération (UMTS) tient ses promesses.

La relève IPv6 est prête mais l’immense parc actuel de machines IPv4 est un frein à la migration vers IPv6. Néanmoins, l’avènement d’IPv6 est inévitable. Le potentiel d’adressage d’IPv6 est aujourd’hui la seule raison valable à la migration.

Leave a Reply

Your email address will not be published. Required fields are marked *

All Right Reserved @Issa Diallo