Académique Documents
Professionnel Documents
Culture Documents
(ServicesR3)
Préambule
➢ Plan du cours
➢ DNS
➢ Annuaires (LDAP)
➢ Messagerie (SMTP)
2
Partie I : DNS
3
DNS
➢ Introduction
➢ Architecture
➢ Ressources
➢ Résolution
➢ Sécurité : DNSSEC
4
Introduction
➢ Domain Name System (RFC 1034, 1035 et 1591) :
➢ Correspondance @ IP <-> Nom de domain
➢ Utilisateurs :
➢ Navigateurs web, Outils de messagerie, etc.
➢ Nécessité :
➢ Plus simple à retenir des noms
➢ Le fichier Hosts ne peut pas tout contenir
➢ Gestion distribuée : délégation
5
Architecture
➢ Structure arborescente de noms de domaine
➢ Un FQDN (Fully Qualified Domain Name) est
unique sur le réseau internet
➢ Racine, domaines du niveau supérieur (com,
org, fr, ca, etc.), sous-domaines (u-clermont1.fr,
univ-bpclermont.fr, etc.), machine
➢ Exemple : iutweb.u-clermont1.fr
6
Les niveaux
Racine .
7
Les domaines
➢ Domaines génériques (.com, .gov, .net, .int, ...)
➢ Domaines par pays (.fr, .de, .us, .it, .es, ...)
➢ A chaque noeud ou feuille (entrée) dans l'arbre
est associé un ensemble de ressources
➢ Nom de domaine = la suite des noms à partir
d'une entrée dans l'arbre jusqu'à la racine :
www.u-clermont1.fr.
➢ Domaine = le sous-arbre dont l'origine est le
nom de domaine
8
Constitution des noms de domaine
➢ Nom absolu = FQDN Fully Qualified Domain Name
➢ 255 caractères ASCII en tout
➢ Noms (longueur <= 63 caractères) séparés par des
points
➢ Pas de différence entre majuscule et minuscule
➢ 2009 : utilisation de caractères accentués, arabes,
chinois, cyrilliques... traduits en caractères ASCII pour
l'interrogation du DNS
exemples actifs depuis mai 2010 : ررصم. (TLD de
l'Egypte) .рф. (TLD de la Fédération Russe)
9
Noms Top Level Domain (TLD)
➢ TLD en :
➢ .com : organisations commerciales
➢ .edu, .mil et .gov : organisations éducatives, militaires et
gouvernementales américaines
➢ .int, .net, .org : autre organisations
➢ Un domaine par pays
➢ De nouveaux domaines introduits : .biz, .info ...en 2001.
➢ « libéralisation » des noms de domaine en 2008
➢ Sous-domaine : domaine inclus dans un autre
domaine
10
Les zones (1)
➢ Une zone d'autorité est un ensemble de
domaines géré par un seul serveur de noms
➢ Une zone contient au moins un domaine
➢ Peut contenir les sous-domaines du domaine
racine de la zone
11
Les zones (2)
.
Zone fr
Zone u-clermont1.fr
12
La résolution inverse
➢ Un sous-domaine specifique chargé de faire la
résolution inverse : in-addr.arpa.
➢ Le domaine de niveau supérieur arpa. (Address
and Routing Parameter Area) possède 6 sous-
domaines dont un pour ipv4
13
Architecture de in-addr.arpa
.
14
Les zones
➢ Une zone est administrée par un gérant :
➢ responsable de l'attribution des noms et de leur
unicité, ex :
➢ NIC (Network Information Center) au niveau mondial
➢ NIC délègue au RIPE-NCC (Réseaux IP Européens -
Network Coordination Centre) en Europe
➢ RIPE-NCC délègue l'administration à l'AFNIC
(Association Française pour le Nommage Internet en
Coopération) en France
➢ etc...
15
Les serveurs (1)
➢ Un serveur de noms (name server) autoritaire
sur une zone :
➢ Stocke et met à jour les informations de sa zone
➢ Peut avoir autorité sur plusieurs zones
➢ Peut déléguer une sous-zone à un autre serveur :
dans ce cas, dispose d'un pointeur vers le serveur
de cette sous-zone (cette info est appelée glue
data, fournie dans la partie « additionnelle » de la
réponse)
16
Les serveurs (2)
➢ Le serveur de noms : répond aux requêtes
➢ concernant les ressources de sa zone
➢ concernant des ressources en dehors de sa zone
(stockées dans un cache)
➢ Il connaît les adresses IP :
➢ des ressources de sa zone
➢ des serveurs de noms de ses sous-zones
➢ des serveurs racines (qui connaissent les adresses
des sous-zones fr, de, uk, com, edu...)
17
Types de serveurs (1)
➢ Primaire (maître) : héberge les ressources d'une
zone et possède tout seul l'accès en écriture et
lecture sur les fichiers de cette zone
➢ Secondaire (esclave) : héberge une copie des
ressources d'une zone (ne possède pas le droit
de modifier ces données), décharge le serveur
primaire, accélère la procédure de resolution de
noms
18
Types de serveurs (2)
➢ Root : il y en a que 13 dans le monde, très
sollicités !
➢ Cache : ne possède pas d'autorité sur des
zones, il sauvegarde des réponses déjà
résolues
➢ Forwarder : ne contient pas de ressources, il fait
le relais entre les clients et les serveurs
19
Les ressources
➢ Les informations gérées par les serveurs sont
nommées Resource Record (RR)
➢ Une RR contient les informations suivantes :
➢ Name, Type, Class, TTL, RD length, RData
20
Contenu des RR (1)
➢ Name : spécifie le nom du domaine ou une
partie de l'@ IP
➢ Type :
➢ A : FQDN --> @ IP
➢ PTR : @ IP --> FQDN
➢ CNAME (Canonical Name) : alias du FQDN
➢ MX : hôte qui héberge le serveur mail
➢ NS : nom du serveur de noms de la zone
➢ SOA : Start Of Authority
21
Contenu des RR (2)
➢ Class : IN pour internet
➢ TTL : indique la durée de validité de la RR, utile
pour les serveurs caches, secondaires et
utilisateurs
➢ RD length : la longueur de la donnée
22
Contenu des RR (3)
➢ RDATA : la donnée
➢ A : une adresse IP sur 32 bits
➢ CNAME : un nom de domaine
➢ MX : une valeur de priorité sur 16 bits, suivi d'un
nom d'hôte
➢ NS : un nom d'hôte
➢ PTR : un nom de domaine
➢ SOA : serveur de noms primaire
23
Les RRSets
➢ Les RRs sont regroupés en RRSets
➢ Ces RRs possèdent les mêmes valeurs pour
les champs : Name, Type et Class
➢ Exemple :
➢ exemple.com. IN NS ns1.exemple.com.
➢ exemple.com. IN NS ns2.exemple.com.
➢ exemple.com. IN NS ns3.exemple.com.
24
Un client
➢ Dispose d'une librairie de fonctions lui
permettant de solliciter un serveur : resolver
➢ Un client <=> Resolver
➢ Chaque resolver dispose d'une liste de serveurs
de noms
25
Processus de résolution
L'interrogation d'un serveur de noms se fait par
l'intermédiaire d'un resolver
But : alléger la charge des serveurs de noms
requête requête
Serveur
Utilisateur Resolver de noms
réponse réponse
question,
mise à jour références
Cache
local distant
26
Exemple de déroulement de
résolution
http://cassiope.u-clermont1.fr
Config IP du PC :
@IP : 192.168.118.27
Masque : 255.255.255.0 PC Client
...
DNS : 193.49.118.2
Ce nom de domaine
devrait pointé vers
alias pour cassiope.u-clermont1.fr. un autre nom ou
bien une adresse IP
28
Exemples de RR (2)
➢ Exemple 3 (serveurs de mail) :
u-clermont1.fr. 86400 IN MX 0 unames.u-clermont1.fr.
86400 IN MX 100 linua.u-clermont1.fr.
29
Exemple de RR (3)
➢ Exemple 5 (Ressource SOA) :
u-clermont1.fr. 86400 IN SOA uadmin.u-clermont1.fr.
postmaster.linua.u-clermont1.fr. (
2004100801 21600 3600 604800 10800 )
le domaine u-clermont1.fr. :
➢
a pour serveur DNS primaire uadmin.u-clermont1.fr.
➢
son administrateur a pour e-mail postmaster@linua.u-clermont1.fr
➢ le numéro de version de ces infos est 2004100801 sous la forme yyyymmddss
(aaaammjjss) yyyy = année, mm = mois, dd = jour, ss = un numéro de séquence si
le contenu a été mis à jour plusieurs fois le même jour (si ce numéro change, le
serveur secondaire fera une demande de transfert de zone)
➢ les réponses négatives peuvent rester dans un cache 10800s = 3h
➢ les serveurs secondaires doivent vérifier les infos toutes les 21600s (6h), si pas de
réponse nouvelle tentative au bout de 3600s, la validité des informations étant de
604800s = 7 jours 30
Serveurs racines
Fichier ua.ca : liste des serveurs racines
; formerly NS.INTERNIC.NET
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
; formerly NS1.ISI.EDU
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107
etc jusqu'à
. 3600000 NS I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
; End of File
31
Modes de fonctionnement
(spécifié dans la requête)
➢ Itératif : le serveur retourne soit la réponse, soit
le nom du serveur susceptible d'avoir la réponse
32
Exemple de résolution récursive
Recherche de l'@ IP de iutweb.u-clermont1.fr par une
machine située à Strasbourg. Le serveur de nom local
fera les étapes suivantes :
Question Serveur Réponse
33
Format d'un message DNS
➢ Header|Question|Answer|Authority|Additional
➢ Header : ID, Q ou A, récursive ou itérative, ...
➢ Question : la requête
➢ Answer : RR en réponse
➢ Authority : SOA ou NS
➢ Additional : informations supplémentaires (@IP du
hôte MX, par exemple)
34
Exemple de configuration
➢ Serveur le plus courant sous linux : named (Bind9)
➢ Au lancement, le fichier consulté est named.conf. Il
contient des redirections vers des fichiers contenant :
➢ les définitions des zones sur lesquelles il a autorité en tant
que :
➢ maître, est alors indiqué le nom du fichier contenant les Ressources
Records
➢ esclave, sont indiqués :
➢ le nom du fichier contenant les Resource Records
➢ l'adresse IP du serveur maître
➢ le nom du fichier contenant les références des serveurs
racines
➢ des options 35
Fichier named.conf (1)
; zone contenant des résolutions directes
zone "u-clermont1.fr" {
type slave; dépend d'un autre serveur
file "ua.db"; fichier contenant les ressources récupérées
masters {
193.49.118.253; adresse du serveur auprès duquel il faut récupérer les RR
};
};
zone "117.49.193.in-addr.arpa" {
type slave;
file "ua117.rev";
masters {
193.49.118.253;
};
};
36
Fichier named.conf (2)
zone "106.168.192.in-addr.arpa" {
type master; le serveur possède les RR dans ses fichiers locaux
file "uan106.rev";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "ua.local";
};
zone "." {
type hint;
file "ua.ca"; fichier contenant le cache
};
37
Fichier named.conf (3)
➢ Contenu des fichiers définissant les zones sous la
responsabilité du serveur, les RRs nécessaires sont :
➢ une RR de type SOA
➢ une RR de type NS (rappel du nom du serveur de nom
de la zone)
➢ les autres RRs de la zone :
➢ ; est suivi d'un commentaire
➢ @ remplace le nom de la zone
➢ " " espace reprend la même valeur de la ligne précédente
➢ $ORIGIN domain_name : les noms de domaines qui suivent dans le
fichier seront postfixés par domain_name quand ils ne se terminent pas
par un "."
38
Exemple d'un fichier de zone
$TTL 86400 ; 24 heures (24h ou bien 1d)
$origine exemple.com.
@ 1D IN SOA ns1.exemple.com. admin.exemple.com. (
2010112903 ; numéro de série (aaaammjj#)
8H ; refresh
20 ; retry
4W ; expiration
1D ; durée de mise en cache
)
IN NS ns1.exemple.com.
IN MX 1 serveurMX.exemple.com.
ns1 IN A 192.168.2.10
serveurMX IN A 192.168.2.11
www IN A 192.168.2.20
ftp IN CNAME w w w.exemple.com.
post1 IN A 192.168.2.5
passerelle IN A 192.168.2.1
39
Vulnérabilité et DNSSEC
➢ Le processus de résolution recursive permet de
lancer des attaques d'empoisonnement de
cache : insertion de ressources falsifiées dans
les caches des serveurs DNS
40
Partie II : LDAP
41
LDAP
➢ Lightweight Directory Access Protocol une
norme IETF (Internet Engineering Task Force)
➢ Conçu par l'université de Michigan comme étant
une version indépendante et plus légère que
X.500 DAP (Directory Access Protocol) et
adaptée au protocole TCP/IP
➢ Première apparition commerciale en 1996
42
Contenu d'un annuaire
➢ Annuaire contient tout type d'informations :
➢ Noms, prénoms
➢ Numéros de téléphone
➢ Adresses
➢ Postes, machines, systèmes
➢ Classes, groupes
➢ Services,
➢ Etc.
43
LDAP
➢ Définit le protcole d'échanges basé sur des
requêtes/réponses pour dialoguer entre client-
serveur :
➢ Se connecter, lire, rechercher, créer, modifier,
supprimer
➢ et entre serveur-serveur :
➢ Échanger le contenu et le fusionner
44
LDAP et BDR
➢ Un annuaire est prévu pour
➢ Être plus sollicité en lecture qu'en écriture
➢ Stocker les données de manière hiérarchique
➢ Optimiser la recherche d'une donnée
➢ Échanger entre annuaire-annuaire
➢ Gérer l'authentification des utilisateurs et les ACL
45
LDAP spécifie plusieurs modèles
➢ Modèle d'information : le type d'information
contenu dans l'annuaire
➢ Modèle de nommage : la façon dont
l'information est organisée et référencée
➢ Modèle fonctionnel : l'accès à l'information
➢ Modèle de sécurité : la protection des données
et de l'accès
➢ Modèle de duplication : la gestion de la
répartition entre serveurs
46
Modèle d'information
➢ Spécifie le type de données stockées dans
l'annuaire
➢ Structure arborescente selon le modèle X.500
➢ Un annuaire est un arbre d'entrées
➢ Une entrée est constituée d'un ensemble
d'attributs
➢ Un attribut possède un nom, un type et une ou
plusieurs valeurs
➢ Les attributs sont définis dans des schémas
47
Une entrée
➢ Chaque entrée correspond à un objet (une
personne, une machine, une entreprise, ...)
➢ Un objet est une instance d'une classe d'objets
➢ Une classe d'objets est constituée d'attributs
➢ La définition d'objets et des attributs est gérée
par des règles (notion de schéma)
48
Une classe d'objets
➢ Elle est constituée de :
➢ Nom
➢ OID
➢ Attributs obligatoires
➢ Attributs optionnels
➢ Type :
➢ Classe structurelle : objets basiques (personne,
organisation, etc)
➢ Classe auxiliaire : objets qui possèdent des informations
complémentaires (augmenter les attributs d'une classe)
➢ Classe abstraite : les classes de base non instantiables
(top) 49
Un attribut
➢ Il est constitué de :
➢ Nom
➢ OID
➢ Mono ou multi-valué
➢ Syntaxe et règles de comparaison
➢ Format ou limite de taille de valeur
50
Règles de comparaison
LDAP X.500 description
51
Héritage de classe d'objets
➢ Les classes abstraites sont des classes non
instanciables. La classe d'objets de plus haut
niveau est la classe "top"
➢ Les classes structurelles sont des classes
instanciables. Une entrée doit appartenir à au
moins une classe structurelle
➢ Les classes auxiliaires sont des classes
permettant d'ajouter des attributs facultatifs à
des classes structurelles, complètent les
classes structurelles
52
Les schémas
➢ Un schéma définit l'ensemble des classes
objets et leurs attributs qu'un annuaire peut
gérer, en précisant leurs syntaxes
➢ Ceci permet de contrôler les entrées
renseignées dans LDAP (Schema Checking)
53
Exemples de schémas LDAPv3
attributeType ( 2.5.4.41 NAME 'name'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} )
SUP name )
SUP 'top'
MUST (objectclass $ sn $ cn )
54
OID : Object ID
http://www.oid-info.com
➢ Chaque élément dans un schéma est identifié
par un OID
➢ Une société peut réserver sa propre plage de
OID auprès de l'IANA (Internet Assigned
Numbers Authority)
➢ Il commencera par : 1.3.6.1.4.1
➢ OpenLDAP : 1.3.6.1.4.1.4203
55
Syntaxe (type)
Nom OID Description
56
Modèle de nommage
ou=Aubiere ou=Blagnac
Organisational Unit
ou=R&T ou=Info ou=Bio ou=R&T ou=Info
57
Distinguished Name
➢ L'arbre hiérarchique est appelé DIT (Directory
Information Tree)
➢ Chaque entrée dans l'arbre est appelée DSE
(Directory Service Entry)
➢ La racine de l'arbre s'appelle suffix ou BaseDN
➢ Les objets dans un DIT sont identifiés par le dn
(équivalent d'une clé primaire dans un SGBDR)
58
Exemple de DN
➢ Le dn de DUT est :
● cn=DUT,ou=R&T,ou=Aubiere,dc=IUT
➢ Le rdn de DUT est :
➢ cn=DUT
59
Format LDIF
➢ LDAP Data Interchange Format
➢ Possibilité d'importer et d'exporter une base de
données LDAP
➢ Fichier texte de la forme :
dn: <distinguished name>
<attrdesc>: <attrvalue>
<attrdesc>: <attrvalue>
...
➢ Attrdesc est le nom de l'attribut ou bien son OID
60
Exemple d'un fichier LDIF avec 2
entrées
# entrée Paul Pogba
dn: cn=Paul Pogba,ou=Juventus,dc=IT
cn: Paul
Pogba
cn: P P
objectClass: person
sn: Pogba
# photo JPEG dans un fichier
jpegPhoto:< file://chemin/vers/fichier.jpeg
62
Types de requêtes
➢ Connexion :
➢ Bind : le serveur authentifie le dn de l'utilisateur
avec un mot de passe (attribut userPassword), ou
bien bind anonyme
➢ StartTLS : pour éviter l'échange de mot de passe en
claire, par exemple. TLS assure la confidentialité et
l'intégrité
➢ Mise à jour et interrogation :
➢ Search, Add, Delete, Modify, ...
63
Interrogation
➢ Pour lire une entrée il faut effectuer une requête
qui pointe sur cette entrée
➢ Cette requête peut couvrir l'entrée uniquement,
le niveau inférieur ou bien le sous-arbre complet
(search scope)
➢ Filtre de recherche :
(<operator>(<search operation>)(<search operation>)...))
64
Exemples de filtres
(cn=Del Piero) égalité Nom = "Del Piero"
65
Comparaison
➢ Vérifie si l'attribut d'une entrée contient une
valeur donnée
➢ Renvoie Vrai ou Faux
66
Mise à jour
➢ Ajouter une entrée (add) : les attributs doivent
être conformes au schéma
➢ Supprimer une entrée (delete) : ne doit pas
avoir un enfant
➢ Changer le rdn d'une entrée, ou bien changer la
position dans l'arbre d'une entrée (le dn), faire
les 2 dernières à la fois (rename)
67
Nécessité de la sécurité
➢ Parmi les différents types de données stockées
dans un annuaire, il y en a qui sont très
critiques et doivent être protégés comme les
mots de passe
➢ Ainsi que les informations concernant le
système d'exploitation de chaque machine d'un
réseau, les numéros de téléphones privés, les
adresses personnelles, etc.
68
Partie III : SMTP
69
Services de messagerie
➢ But : envoyer des courriers électroniques
(email)
➢ Deux schémas :
➢ standard : celui utilisé historiquement
➢ Webmail : de plus en plus répandu (Hotmail, Gmail,
udamail, ...)
70
Services de messagerie : SMTP
➢ SMTP : Simple Mail Transfer Protocol
➢ Destiné à l'envoi et à l'acheminement des
messages
➢ Envoi des messages
➢ par un MUA : Message User Agent (logiciel de
messagerie type Mozilla Thunderbird, Eudora, Microsoft
Live Mail, Outlook Express...)
➢ vers un MTA : Message Transfer Agent
➢ Puis, transfert de MTA en MTA jusqu'au MTA
destinataire
➢ La route d'un MTA au suivant est tracée grâce au
DNS 71
Schéma général : standard
MUA MUA
POP ou
SMTP IMAP
MDA
MTA MTA
MTA
SMTP
72
Schéma général : Webmail
HTTP HTTP
73
Deux schémas
➢ Les deux schémas ne sont pas exclusifs
➢ Exemples :
➢ côté émetteur suivant le schéma standard et côté
récepteur suivant le schéma Webmail
➢ côte récepteur : le serveur Webmail peut aussi être
interrogé via POP3 ou IMAP
74
SMTP
➢ Échanges par des requêtes (port 25)/réponses
➢ Quelques commandes :
➢ Ouverture : HELO, fermeture : QUIT
➢ Émission du courrier avec successivement :
➢ MAIL : transmission de l'adresse de l'émetteur
➢ RCPT : adresse(s) du ou des destinataire(s)
➢ DATA : pour le corps du message
➢ Le récepteur répond par un code :
➢ 220 : prêt, 250 : OK, 550 : destinataire inconnu, etc.
75
SMTP
Exemple de dialogue entre 2 MTA
iut.u-clermont1.fr sancy.univ-bpclermont.fr
220 sancy.univ-bpclermont.fr
EHLO iut.u-clermon
t1.fr
250-sancy.univ-bpclermont.fr
MAIL From: <xy@iu
t.u-clermont1.fr>
250 Ok
RCPT To: <zz@sanc
y.univ-bpclermont.fr>
250 Ok
Message Body
...
Message Body
Message Body (= « .
»)
250 Ok : queued as 4A46622 (→ id)
QUIT
221 Bye
76
Exemple de dialogue entre MUA et MTA
Client iut.u-clermont1.fr
Établissement
connexion TCP
en précisant le port 25
220 iut.u-clermont1.fr
EHLO 192.168.xx.yy
500 unrecognized command SMTP et non pas ESMTP
HELO 192.168.xx.yy
250-iut.u-clermont.fr
MAIL From: <xy@iut.u-clermon
t1.fr>
250 Ok
RCPT To: <zz@sancy.univ-bpcle Enveloppe
rmont.fr>
250 Ok
DATA
354 Enter Mail, end with «.» on a line by itself
Message Body
...
Message Body
Message Body (= «.»)
250 Ok : queued as 4A46622
QUIT
77
221 Bye
Code des réponses du serveur
➢ Le premier chiffre est le plus imporant :
➢ 2xx : tout est OK
➢ 4xx : problème temporaire, réessayez plus tard
➢ 5xx : problème permanent, pas la peine de
réessayer
78
Forme des adresses
➢ Adresses conformes aux règles du DNS
➢ Exemples :
➢ Forme classique : gerard.chalhoub@udamail.fr
➢ gerard.chalhoub@udamail.fr (commentaire) : entre
( ) ce sont des commentaires
➢ "super user"@udamail.fr : "super user" doit être
interprété comme un seul mot
➢ Gérard Chalhoub <gerard.chalhoub@udamail.fr> :
seule doit être interprétée la partie entre < >
79
DNS et contenu d'un message
➢ Un MUA possède l'adresse du MTA dans sa
configuration
➢ Le premier MTA interroge le DNS pour
connaître l'adresse IP du serveur SMTP du
destinataire :
➢ Ressource MX dans le DNS
➢ Le «message body» SMTP comporte 2 parties :
➢ Entête avec «Received», «To», «From», «Subject»
➢ Une ligne blanche
➢ Corps du message 80
Format de l'entête
➢ mot_clé : argument (tous ne sont pas
obligatoires)
➢ From : nom de l’expéditeur ayant rédigé l’email
➢ Sender : nom de l’expéditeur qui a envoyé l'email
➢ Reply-To : précise une adresse de réponse
➢ Return-Path : adresse de retour de l’enveloppe (cas
d'erreurs)
➢ To : liste des destinataires principaux
➢ Cc : liste des destinataires en Carbon Copy
➢ Bcc : liste des destinataires en Blind Carbon Copy
81
Format de l'entête (suite)
➢ Subject : précise le sujet
➢ In-Reply-To : référence du courrier auquel on répond
➢ Message-Id : Identificateur unique du message,
permet d'éviter les bouclages
➢ Date : date de l'envoi
➢ Received : indique des informations relatives aux MTA
utilisés (indique le chemin suivi)
➢ ...
➢ X-... : autre indication – non normalisé
82
Exemple d'échange
Return-Path: <capaller@iut.u-clermont1.fr>
Received: from CapalleraP ([192.168.xx.yy])
by iut.u-clermont1.fr (8.12.11/jtpda-5.3.3) with SMTP id
j0L9fRU0016701
; Fri, 21 Jan 2005 10:41:27 +0100
From: "Florence Capallera" <capaller@iut.u-clermont1.fr>
To: =?iso-8859-1?Q?TOUSSAINT_Jo=EBl?= <Joel.Toussaint@iut.u-
clermont1.fr>,
"Antonio R. de Freitas" <freitas@sancy.univ-bpclermont.fr>
Subject: =?iso-8859-1?Q?D=E9coupage_pour_les_=E9tudiants?=
Date: Fri, 21 Jan 2005 10:41:26 +0100
Message-ID: <AKEHJBBNDBGHJNOKBGCCCEGICCAA.capaller@iut.u-
clermont1.fr>
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----=_NextPart_000_000B_01C4FFA5.C1DA6A60"
83
Exemple d'échange (suite)
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0)
Importance: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409
In-Reply-To: <41EFB036.8030400@sancy.univ-bpclermont.fr>
X-Virus-Scanned: ClamAV 0.80/640/Thu Dec 23 19:48:27 2004
clamav-milter version 0.80j
on quicksilver
X-Virus-Status: Clean
X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on
quicksilver.u-clermont1.fr
X-Spam-Status: No, score=-2.8 required=5.0 tests=ALL_TRUSTED
autolearn=disabled version=3.0.2
X-Spam-Level: ...
84
MTA intermédiaires
85
Notion d'enveloppe
➢ La liste des destinataires n'est pas modifiée au
cours du transfert. Or au cours de ce transfert,
certains destinataires auront été desservis.
Comment un MTA va-t-il savoir quels
destinataires restent à desservir ?
➢ Solution :
➢ mettre le message dans une enveloppe précisant la
liste des destinataires,
➢ on ôte un destinataire de l'enveloppe lorsque le
message lui est parvenu,
➢ l'enveloppe passe au MTA suivant si nécessaire 86
ESMTP et MIME
➢ Conçu par des anglos-saxons => codage en
ASCII sur 7bits d'où pas d'accents...
➢ Solutions :
➢ ESMTP : Extended SMTP (transmission en ASCII
sur 8bits)
➢ MIME : Multipurpose Internet Mail Extensions (cf
plus loin)
87
POP et IMAP
➢ Protocoles permettant à un UA (logiciel de
messagerie) de récupérer les messages reçus
sur le serveur MTA
➢ POP : transfert des messages (dans leur
intégralité) sur le client
➢ IMAP : permet de gérer le courrier qui reste sur
le serveur (pratique pour des lectures via
liaisons bas-débit) :
➢ récupération sur le client de la seule entête
➢ gestion de boîtes aux lettres sur le serveur
88
POP3
➢ Post Office Protocol version 3 le + répandu
(TCP port 110), quelques commandes :
➢ USER puis PASS : autorisation d'accès au serveur (en clair)
➢ APOP : autorisation d'accès, nom et mot de passe crypté
➢ STAT : donne le nombre et la taille totale des messages
➢ LIST nombre : demande de la taille du message n°nombre
➢ RETR : copie du serveur vers le client du message n°nombre
➢ DELE : suppression sur le serveur du message n°nombre
➢ TOP message n : récupération des n premières lignes du
message
➢ QUIT : pour quitter
➢ réponse par +OK ou -ERR 89
POP3 : diagramme d'échanges
Client iut.u-clermont1.fr
Établissement
connexion TCP
+OK
AUTH
+OK
CAPA
+OK Capability list follows
USER chalhoub
90
POP3 : diagramme d'échanges
(suite)
client iut.u-clermont1.fr
LIST
2 8010
+OK...
1 5983 2 2027
RETR 1
91
IMAP
➢ Internet Message Access Protocol (TCP port
143), exemples de commandes :
➢ APPEND : ajout d'un message dans une boite aux lettres
➢ SEARCH : recherche de messages
➢ FETCH : récupération de l'entête, du message, ou d'une
partie MIME
➢ STORE : modification des flags des messages sur le
serveur
➢ COPY : copie d'un message dans une boîte aux lettre
➢ LOGOUT : on quitte
➢ ...
92
Webmail
Navigateur Web
HTTP
Serveur Web Base de données
(interpréteur PHP/ASP)
POP ou
SMTP
IMAP
MTA
SMTP ...
93
MIME
➢ Multipurpose Internet Mail Extensions
➢ Extension de SMTP
➢ Code toutes les données en ASCII avant de les
transmettre
➢ Dans l'entête : indication
➢ de la version de MIME utilisée : MIME-Version: 1.0
➢ du type des données transmises
➢ de la technique de codage
94
Types de base prédéfinis
type de base sous-type
➢ Text
➢ Content-Type: text/plain; charset="iso-8859-1";
format=flowed
➢ Audio, Image, Vidéo
➢ message (message réexpédié inclus dans un
autre message)
➢ application (exemple : Fichier attaché) destiné à
un programme donné
➢ Content-Type: application/octet-stream; name="LicenceSem5.xls"
➢ Content-Transfer-Encoding: base64
➢ Content-Disposition: attachment; filename="LicenceSem5.xls" 95
MIME : exemple
➢ Multipart : message constitué de plusieurs
parties différentes codées de façon distincte par
MIME indique la valeur
du séparateur entre les
MIME-Version: 1.0 différentes parties
Content-Type: multipart/mixed;
boundary="----=_NextPart_000_000B_01C4FFA5.C1DA6A60"
...
------=_NextPart_000_000B_01C4FFA5.C1DA6A60
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
Bonjour à tous,
...
96
MIME : exemple (suite)
...
A+
------=_NextPart_000_000B_01C4FFA5.C1DA6A60
Content-Type: application/vnd.ms-excel;
name="DescriptionEtudiants.xls"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="DescriptionEtudiants.xls"
0M8R4KGx
...
ABAAAAAAAAA=
------=_NextPart_000_000B_01C4FFA5.C1DA6A60--
97
S/MIME
➢ Version sécurisée S/MIME avec chiffrement des
données et algorithme à clé publique
98
SPAM
➢ Réception de courriers non sollicités, émis en
masse
➢ Moyens de lutte : des filtres
➢ Au niveau du client final (filtres personnels)
➢ Au niveau de la distribution finale
➢ Au niveau des MTA : élimination des messages
➢ Avec adresse source fantaisiste (nom de domaine
inexistant => se servir du DNS)
➢ En provenance de serveurs connus pour relayer des
SPAMs (utilisation de la RBL : RealTime Blackhole List)
➢ Note : tout faire (soigneusement configurer) pour éviter que son
MTA apparaisse dans cette RBL ! 99
Adresse de diffusion, ex :
enseignants_rt@udamail.fr
100
Quelques outils
➢ Serveurs SMTP : les MTA
➢ sendmail (Unix et Windows, le plus répandu mais
en perte de vitesse, très délicat à configurer),
➢ Exchange (Windows)
➢ Postfix
➢ Clients : les MUA
➢ (Mozilla) Thunderbird, Netscape (Unix et Windows)
➢ (x)mail, elm,
➢ Outlook, Eudora (Windows)
101
Outils Webmail
➢ Webmail : SquirrelMail, Outlook Web Access...
➢ Outil anti-Spam :
➢ sur serveur : SpamAssassin...
➢ Sur client : intégré à Thunderbird...
➢ Outils de filtrage des virus
➢ Des utilitaires de :
➢ Tri automatique à la réception
➢ Renvoi automatique de réponse (ex : en cas
d'absence)
➢ ... 102
Quelques RFC
➢ RFC
➢ RFC 821 : SMTP
➢ RFC 2822 : format des messages
➢ RFC 974 : Courrier et DNS
➢ RFC 1521 : MIME
➢ RFC 1652, 1869 : SMTP Extensions
➢ RFC 1939 : POP3
➢ RFC 2060 : IMAP4
➢ ...
103