TP Services et Protocoles applicatifs de l`Internet

Transcription

TP Services et Protocoles applicatifs de l`Internet
TP Services et Protocoles applicatifs de l’Internet
CE TP ILLUSTRERA
1
2
3
1
Savoir se connecter et travailler sur une machine distante
Comprendre le fonctionnement du DNS
Comprendre le fonctionnement de SMTP et la configuration d’un client mail
Présentation du TP
La découverte du fonctionnement de services tels que le DNS et le mail demande un accès
privilégié sur plusieurs machines afin de suivre l’enchainement de requêtes et de réponses qui
en découle. De façon à ce que tous les élèves bénéficient d’un tel accès, nous utiliserons un
environnement de réseau émulé (comme dans le TP sur le routage IP) : Marionnet.
1.1
Topologie du réseau
La topologie du réseau émulé est décrite dans la figure 1. Elle est constitué de deux réseaux,
chacun représentant un domaine.
Figure 1: Topologie du réseau fourni
Le plan d’adressage est décrit dans les tableaux 1.
1.2
Services disponibles
Des services ont été activés sur les différentes machines :
– un serveur DNS (bind9) sur les machines ns ;
1
Réseau
fai1.fr.
fai2.com.
lien routeur
/machine réelle
Adresse
193.10.2.0/24
195.2.0.0/16
194.2.1.0/24
(a) Plan d’adressage des réseaux
Machine
ns
client
mail
machine réelle
routeur
host id
100
1
101
1
254
(b) Plan d’adressage des machines
Table 1: Plan d’adressage
– un serveur SMTP (postfix) sur les machines mail ;
– un serveur POP (courier-pop3d) sur les machines mail ;
– un serveur IMAP (courier-imapd) sur les machines mail ;
– un serveur ssh sur toutes les machines.
Les machines ns sont paramétrées pour être le serveur de noms ayant autorité sur leur zone
et pour renvoyer automatiquement vers l’autre serveur quand les requêtes pointent vers l’autre
zone.
Les machines mail ont été déclarées dans le DNS.
1.3
Note sur la capture de trafic
Afin de pouvoir analyser les requêtes et le réponses générées par les différentes manipulations,
vous utiliserez (au choix) un des deux commandes suivantes :
– tcpdump, capture en mode texte ;
– wireshark, interface graphique de capture réseau.
Voici plusieurs conseils pour réaliser des captures efficaces :
– Demandez vous avant de capturer ce que vous voulez observer ;
– Réalisez les captures au bon endroit du réseau ;
– Désactivez la résolution de noms lors des captures afin de ne pas générer de trafic DNS
supplémentaire (option -n sur tcpdump, case à décocher sur wireshark) ;
– Démarrez et arrêtez les captures avant et après chaque observation afin de ne pas avoir de
doute sur le moment d’émission des paquets observés.
1.4
Mise en route
Afin de lancer les machines virtuelles, quelques manipulations sont à faire :
– En tant que root, allez dans le répertoire /media/sdb2/Marionnet et lancez le script prepare_system.sh
– Toujours en tant qu’administrateur aller dans le répertoire TP_applis_IP et lancez le
script configure_network.sh
– Lancez ensuite marionnet en tant qu’utilisateur normal (allez dans le répertoire /media/sdb2/Marionnet et lancez start_marionnet.sh)
– Démarrez les machines les unes après les autres dans marionnet
– Lancez en suite en tant que root le script start_network.sh dans le répertoire TP_applis_IP
IENAC 2A L & S
27 mai 2010
Vous disposez maintenant du réseau décrit plus haut et vous pouvez travailler depuis un
terminal de la machine réelle.
2
Connexion à distance
Pour travailler sur les machines virtuelles, nous utiliserons de préférence des connexions à
distance depuis la machine réelle avec redirection sécurisée de l’affichage.
Afin de vous familiariser avec ce système, connectez vous à distance sur plusieurs machines
virtuelles et vérifiez le bon fonctionnement de l’affichage déporté. Pour cela vous utiliserez la
commande : ssh -X <user>@<nom_machine>. Vous utiliserez l’utilisateur root (mot de passe
root sur toutes les machines).
Vérifiez par une capture de trafic que les informations transmises (login, mot de passe et commandes) sont cryptées.
Question 1
3
Tests des serveurs DNS
En réalisant les connexions ssh précédentes, vous avez validé la résolution de noms vers une
adresse IP. Nous allons maintenant utiliser les commandes dig et host afin de récupérer plus
d’informations sur les fonctionnement du DNS.
3.1
Tests de la résolution d’adresse IP en nom
La syntaxe de la commande host est simple : host <adresse IP>. Cette commande permet
de tester la résolution inverse (adresse IP vers nom).
En testant cette commande notez et expliquez la façon dont elle écrit l’adresse IP.
Question 2
3.2
Tests avec la commande dig
La syntaxe de la commande dig est plus complexe : dig [@<IP serveur>] <requête> <objet>.
L’adresse IP du serveur est optionnelle et permet de réaliser une résolution vers un autre serveur
que celui spécifié par défaut. Le paramètre <requête> défini le type d’enregistrement que l’on
veut récupérer. Plusieurs requêtes sont possibles :
– A : demande la récupération d’un enregistrement de type A (adresse IPv4 depuis un nom)
– PTR : demande la récupération d’un enregistrement de type PTR (nom depuis une adresse
IPv4)
– NS : demande la récupération d’un enregistrement de type NS (nom de serveur de noms
depuis le nom de domaine)
– MX : demande la récupération d’un enregistrement de type MX (nom de serveur de mail
depuis le nom de domaine)
IENAC 2A L & S
27 mai 2010
– CNAME : demande la récupération d’un enregistrement de type CNAME (nom officiel
depuis un alias)
– ANY : demande la récupération de tous les enregistrements liés à l’objet donné.
Le paramètre <objet> correspond à ce sur quoi on fait une requête et dépends du type
d’enregistrement que l’on souhaite obtenir.
Par exemple pour récupérer le nom du serveur de mail du domaine mon-domaine.com on utilisera la requête : dig MX mon-domaine.com. . Pour récupérer l’adresse de la machine client.fai1.com.,
on utilisera : dig A client.fai1.com. .
Utilisez la commande dig pour ∗ :
– récupérer les noms et adresses IP des machines responsables du service de noms du domaine
fai2.com. ;
– récupérer les noms et adresses IP des machines responsables du service de mail des deux
domaines ;
– le nom canonique des machine smtp.fai1.fr. , pop.fai2.com. et imap.fai1.fr.
– récupérer un maximum d’information sur le domaine fai1.fr.
Commentez les résultats.
Nous allons maintenant tester la résolution de nom entre les domaines et regarder le trafic
qui est généré sur les deux réseaux. Pour cela connectez vous sur une des machines ’client’ et
réalisez une requête DNS sur une machine de l’autre domaine.
A l’aide des outils de capture réalisez un diagramme montrant les différents échanges. Commentez
les résultats.
Question 3
Si les mémoires caches de vos serveurs DNS sont déjà remplies, il se peut que la commande
dig ne génère pas de requête DNS sur le réseau. Si c’est le cas relancez les service DNS avec la
commande /etc/init.d/bind9 restart sur les deux machines ns.
4
Test du service mail
Maintenant que vous avez validé le service DNS et que vous avez pu en analyser son fonctionnement, nous allons nous tourner vers le service de mail. Un utilisateur eleve (mot de passe
eleve) à été défini sur les serveurs de mails afin de recevoir et envoyer des mails.
4.1
Envoi de messages
Nous allons tout d’abord utiliser la commande netcat pour se connecter au serveur de SMTP
et tester le service d’envoi de mails. netcat ouvre une connexion tcp vers l’hôte et le port indiqués
et envoie les caractères de l’entrée standard à travers. Les caractères envoyés par le processus
distant sont envoyés à la sortie standard.
Voici un exemple de session d’envoi de mail dont vous vous inspirerez pour les tests :
∗. Lors de ces tests, il n’y a pas besoin capturer le trafic DNS généré
IENAC 2A L & S
27 mai 2010
pcp-garciafa:~# netcat smtp.free.fr 25
220 smtp6-g21.free.fr ESMTP Postfix
EHLO mamachine.mondomaine.fr.
250-smtp6-g21.free.fr
250-PIPELINING
250-SIZE 35000000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
MAIL FROM: [email protected]
250 2.1.0 Ok
RCPT TO: [email protected]
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
Subject: Test d’envoi par netcat
From: Moi
To: moiaussi
Ceci est un test
.
250 2.0.0 Ok: queued as 5FE33E080B7
QUIT
221 2.0.0 Bye
Vous testerez des envois de mails :
– depuis une adresse existante vers une adresse valide de l’autre domaine ;
– depuis une adresse inexistante vers une adresse valide de l’autre domaine ;
– vers une adresse inexistante :
– du domaine local (i.e. : utilisateur autre que eleve) ;
– du domaine ’distant’ (i.e. : utilisateur autre que eleve) ;
– d’un domaine inexistant.
Concluez sur le niveau de sécurité et de fiabilité du service offert par SMTP.
Question 4
4.2
Utilisation du client mail icedove
Connectez vous par ssh à un des clients et lancez la commande icedove (c’est une version
open source du client de mail thunderbird).
Utilisez votre connaissance du service mail pour configurer la réception et l’émission de mails
pour le compte eleve en utilisant les serveur POP et SMTP du domaine.
IENAC 2A L & S
27 mai 2010
Faites de même avec le client de l’autre domaine en utilisant IMAP et SMTP.
Réalisez des captures de trafic afin d’analyser les échange entre icedove et les serveurs de mail
et entre le serveurs des eux domaines.
Commentez les résultat de la capture.
Question 5
5
Transfert sécurisé de fichiers
Vous testerez enfin le fonctionnement du transfert de fichiers avec sftp.
Transférez un fichier (par exemple /etc/hosts) depuis une des machines virtuelles vers la
machine réelle † .
Capturez le trafic généré et concluez sur la sécurité du service.
Question 6
†. aidez vous du manuel (man sftp) pour comprendre le fonctionnement de la commande
IENAC 2A L & S
27 mai 2010

Documents pareils