SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
1
Serveur de mails
Promo 2018 STI
4ème
année
Année 2016-2017
Module : Administration réseaux
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
La messagerie Internet
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Plan

Historique

Infrastructure

Acheminement des messages
 Le protocole SMTP
 Les serveurs mail

La boîte aux lettres

Les indésirables
 La chasse au spam
 Les antivirus
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Historique (1/3)

La préhistoire...
 Envoi de messages entre différents utilisateurs des
mainframes à la fin des années 60 (MAILBOX)
 Premier envoi d'un message entre deux machines du
réseau ARPANET courant 1972 (1ère utilisation du
caractère @)
 En 1973, les mails représentent ¾ du trafic ARPANET
 Nombreux problèmes d'interropérabilité (RFC 680,
724, 733, etc.)
 Eric Allman développe delivermail (utilisation de FTP
over NCP pour transmettre les messages)
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Historique (2/3)

Les temps anciens (... ou l'avènement de TCP/IP)
 Avant la naissance du protocole SMTP, la transmission
des mails se fait au moyen de FTP, UUCP, etc.
 Eric Allman développe sendmail
 La RFC 821 donne les premières spécifications du
protocole SMTP (Simple Mail Transfer Protocol) (en 1982)
 La RFC 822 spécifie le format des messages
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Historique (3/3)

Les temps modernes...
 L'évolution vers la messagerie actuelle :

Encapsulation de contenus multimédias (MIME)

Interconnexion avec les annuaires LDAP, Active
Directory
 Les besoins émergents en terme de sécurité :

Authentification, confidentialité, etc.

Filtrage applicatif : spam, antivirus, etc.
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Vocabulaire

MTA (Mail Transfer Agent)
 Programme responsable de l'acheminement des
messages

MUA (Mail User Agent)
 Programme permettant à l'utilisateur de lire et d'envoyer
des messages

Dialogue avec le MTA via le protocole SMTP (client
uniquement) et avec le serveur de boîtes aux lettres via
POP ou IMAP

MDA (Mail Delivery Agent)
 Interface entre le MTA et la boîte aux lettres de l'utilisateur
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
MUA et MDA

Les MUA sont les programmes utilisés par les
utilisateurs pour gérer leur messagerie au
quotidien
 Exemples : Microsoft Outlook, Evolution,
Thunderbird, Mutt, Pine, mailx, elm, mail, etc.

Un MDA est généralement directement exécuté
par le MTA afin d'ajouter le message à la BAL de
l'utilisateur destinataire. C'est en fait le MDA qui
prend alors en charge la partie finale du traitement
 Exemples : procmail, fetchmail, qmail-local, etc.
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Le format des adresses

Une adresse mail est une chaîne de caractère
contenant le symbole "@"
 De la forme : "local-part@domain" (la partie
"domain" est en fait tout ce qu'il y a après le
dernier "@", elle est indépendante de la casse
des caractères)
 Caractères ASCII uniquement

Adresses particulières
 postmaster@domain.com (RFC 822)
 abuse@domain.com
 ...
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Le format des messages (1/3)

Un message est constitué de trois parties :
 L'enveloppe est utilisée par le MTA pour l'acheminement du
courrier, il s'agit essentiellement de l'expéditeur et du
destinataire
 Les en-têtes (ou headers) sont utilisés par les MUA
 Le corps est le contenu du message envoyé au destinataire
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Le format des messages (2/3)

Le format et l'interprétation des en-têtes sont
spécifiés dans la RFC 822 (1982)
 « 822 allows much more flexibility than a typical mail-
reading program can actually handle; meanwhile it
imposes restrictions that millions of users violate every
day »

Les en-têtes sont de la forme « Nom: valeur »
Date: Wed, 30 Aug 2006 14:03:22 +0200 (CEST)
X-Spam-Flag: YES
From: Alain Martin <amartin@cfbs.com>
To: Martial Szpieg <martial.szpieg@ensi-bourges.fr>
Subject: Fw: failure notice
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Le format des messages (3/3)

Suivi de l'acheminement sur chaque serveur de
transit
 Provenance du message
 Identification du serveur
 Destinataire
 Heure de réception

MIME : encapsulation des pièces jointes
 Encodage en base64
 Séparateurs
 Indication de type de contenu
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Exemple de message (spam)
Partie Acheminement :
Return-Path: <ika_sinarbuana@cbn.net.id>
X-Original-To: martial.szpieg@localhost
Delivered-To: martial.szpieg@localhost.martial.szpieg.net
Received: from burrich (burrich [127.0.0.1])
by martial.szpieg.net (Postfix) with ESMTP id 43F752859F
for <martial.szpieg@localhost>; Sun, 8 Oct 2006 13:48:01 +0200
(CEST)
Received: from mail.libertysurf.net [213.36.80.100]
by burrich with POP3 (fetchmail-6.3.4)
for <martial.szpieg@localhost> (single-drop); Sun, 08 Oct 2006
13:48:01 +0200 (CEST)
Received: from host-87-75-16-231.bulldogdsl.com (87.75.16.231) by
mail.libertysurf.net (7.1.026)
id 4510D5F00185BD88; Sun, 8 Oct 2006 13:45:16 +0200
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Exemple de message (suite)
Partie en-tête :
Message-ID: <009101c6ea4e$24a1f3e0$0100a8c0@different>
From: "Masha R." <ika_sinarbuana@cbn.net.id>
To: <massard@worldonline.fr>
Subject: You've got new mail
Date: Sun, 8 Oct 2006 00:21:13 +0400
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="----=_NextPart_000_008E_01C6EA6F.A9F0D540"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2900.2527
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2527
X-Spam: YES
X-Spam-Rating: 99
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Exemple de message (suite)
Partie contenu du message :
This is a multi-part message in MIME format.
------=_NextPart_000_008E_01C6EA6F.A9F0D540
Content-Type: text/plain;
charset="koi8-r"
Content-Transfer-Encoding: quoted-printable
Dear User of our Site!
you have new message
[...]
------=_NextPart_000_008E_01C6EA6F.A9F0D540
Content-Type: text/html;
charset="koi8-r"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
[...]
------=_NextPart_000_008E_01C6EA6F.A9F0D540--
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Le routage des mails et le DNS
(1/2)

Problème : à quel serveur doit-on s'adresser pour
envoyer un mail destiné à "local@ensi-
bourges.fr"
 Le MTA effectue une requête DNS afin de connaître
l'enregistrement MX de "domaine.com"
...
bash$ host -t mx ensi-bourges.fr
ensi-bourges.fr is handled by 10 smtp1.ensi-bourges.fr.
ensi-bourges.fr is handled by 20 smtp2.ensi-bourges.fr.
ensi-bourges.fr is handled by 20 smtp3.ensi-bourges.fr.
 En cas d'échec de la requête DNS, cela ne veut pas dire
qu'il n'y a pas d'enregistrement MX pour le domaine
concerné : le client doit réessayer un peu plus tard...
 Si la requête DNS ne renvoie aucun enregistrement MX,
alors le MTA doit prendre comme MX l'hôte lui-même
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Le routage des mails et le DNS
(2/2)

Le serveur prend ensuite la liste des serveurs destinataires
par ordre croissant de préférence et se connecte ensuite
sur le port TCP/25 pour envoyer le message par SMTP
 En cas d'échec permanent, le client retourne un message
d'erreur à l'expéditeur (bounce message)
 En cas d'échec temporaire, le client réessaye d'envoyer le
message en utilisant les serveurs de mails ayant une priorité
inférieure. S'il ne restent plus de serveurs dans la liste, le
message est alors mis en attente

L'utilisation des MX est spécifiée dans la RFC 974
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Acheminement des messages
Le protocole SMTP
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Le protocole SMTP

SMTP = Simple Mail Transfer Protocol
 Définit la manière de communiquer entre deux MTA en
utilisant une connexion TCP

Protocole de type « PUSH »
 Utilise un alphabet ASCII 7 bits (en TCP, transmission de 8 bits
avec le bit de poid fort à 0)
 Le nombre de commandes utilisées est relativement faible
(inférieur à 12)
 Le protocole est défini dans la RFC 821 (1982)
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Les principales commandes SMTP (1/5)

La commande HELO permet à la machine source de
s'identifier auprès du serveur SMTP
HELO mail.ensi-bourges.fr
ie. "Salut, je suis mail.ensi-bourges.fr"
D'après la RFC 1123, le paramètre transmis doit
être un nom d'hôte valide au sens DNS
La responsabilité est à la charge de l'émetteur
Bien que cela soit interdit par la RFC 1123,
certaines implémentations de serveurs SMTP
refusent les mails d'après certaines vérifications sur
la commande HELO (reverse DNS, MX, etc.).
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Les principales commandes SMTP (2/5)

La commande MAIL permet de spécifier l'adresse de
l'expéditeur (return-path) et de réinitialiser la liste des
destinataires
 La commande MAIL est suivie de la chaîne "FROM:" et
d'une adresse de retour (la chaîne <> représente une
adresse vide) et éventuellement des informations
supplémentaires (8BITMIME)
...
MAIL FROM:<martial.szpieg@ensi-bourges.fr>
250 ok
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Les principales commandes SMTP (3/5)

La commande RCPT permet d'ajouter une adresse à
la liste courante des destinataires
 Cette commande est suivie de la chaîne "TO:", d'une
adresse et éventuellement d'informations optionnelles
 Plusieurs commandes RCPT peuvent être utilisées à
la suite les unes des autres
...
RCPT TO: <webmaster@ensi-bourges.fr>
250 ok
RCPT TO: <abuse@ensi-bourges.fr>
250 ok
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Les principales commandes SMTP (4/5)

La commande DATA permet de transmettre le
message
 Cette commande n'accepte pas de paramètre
 La transmission du message commence
immédiatement après la réponse du serveur
 Chaque ligne du message se termine par <CRLF>,
la fin est signalée par la séquence <CRLF>.<CRLF>
...
DATA
354 go ahead
Hello world !
.
250 ok 1102890861 qp 5433
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Les principales commandes SMTP (5/5)

La commande VRFY permet de vérifier la validité
d'une adresse
 Problème de confidentialité vis à vis du Spam
 La RFC 1123 définit un nouveau code d'erreur (252)
permettant de traiter la commande VRFY

La commande EXPN permet de développer une
adresse générique représentant une liste de
diffusion
 Le terme "liste de diffusion" peut également désigner
un utilisateur local (par exemple : "expn root")
 Généralement non implémentée (cf. Spam)
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Les évolutions du protocole SMTP

Extended SMTP (ESMTP)
 Ces extensions (définies dans la RFC 1425) maintiennent
néanmoins une compatibilité ascendante
 Utilisation de EHLO à la place de HELO, puis code réponse
250
bash$ nc smtp.wanadoo.fr 25
220 mwinf0209.wanadoo.fr ESMTP
**************************
EHLO marley.com
250-mwinf0209.wanadoo.fr
250-PIPELINING
250-SIZE 10485760
250 8BITMIME
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Remarque sur les serveurs SMTP

Lorsqu'un serveur de mail accepte un message, il
ajoute un en-tête "Received:" au début du message

Le protocole TCP n'est utilisé qu'en half-duplex
 Le client envoie une requête, attend la réponse, etc.
 Importance de la rapidité de réponse pour les serveurs

Généralement, les serveurs SMTP ne parsent pas les
headers d'un message, excepté pour compter le
nombre de saut (nb. de "Received:")
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Remarque

Dans le paragraphe 5.3.3 de la RFC 1123, intitulé
"Reliable Mail Receipt", il est écrit :
« When the receiver-SMTP accepts a piece of mail
(by sending a "250 OK" message in response to
DATA), it is accepting responsibility for delivering
or relaying the message. It must take this
responsibility seriously, i.e., it MUST NOT lose the
message for frivolous reasons, e.g., because the
host later crashes or because of a predictable
resource shortage »
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Dialogue smtp avec starttls
martial@Medion-black:~$ openssl s_client -starttls smtp -crlf -connect
smtp.gmail.com:25
CONNECTED(00000003)
Server certificate
-----BEGIN CERTIFICATE-----
MIIDWzCCAsSgAwIBAgIKFMs0nQADAAASjjANBgkqhkiG9w0BAQUFA
DBGMQswCQYD
-----END CERTIFICATE-----
subject=/C=US/ST=California/L=Mountain View/O=Google
Inc/CN=smtp.gmail.com
250 ENHANCEDSTATUSCODES
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Dialogue smtp avec starttls
auth login
334 VXNlxxxxxx
bXNxxxxxxxxx
334 UGFzc3dvcmQ6
bWxxxxxxxx
235 2.7.0 Accepted
mail from: <mszpieg@gmail.com>
250 2.1.0 OK l14sm3207757weq.11
rcpt to: <martial.szpieg@ensi-bourges.fr>
250 2.1.5 OK l14sm3207757weq.11
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Dialogue smtp avec starttls
data
354 Go ahead l14sm3207757w
.
250 2.0.0 OK 1291759190 l14sm3207757weq.11
essai
.
250 2.0.0 OK 1291759190 l14sm3207757weq.11
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Acheminement des messages
Les serveurs de mail
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Les objectifs d'un serveur de mail

Emettre les mails des utilisateurs connus
 Relayer les mails issus des processus locaux
 Relayer les mails issus du réseau interne
 Relayer les mails issus de clients authentifiés

Recevoir les mails pour les domaines configurés
 Accepter les mails provenant d'autres serveurs
 Relayer ces mails vers les serveurs des sous-domaines ou
vers les boîtes aux lettre des utilisateurs

Transmettre les mails aux autres serveurs
 Déterminer la destination d'un mail à envoyer
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
L'architecture d'un serveur de mail
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Quelques exemples de MTA

Sendmail ("le" mailer Unix historique)
 Approche monolitique, multiples failles de sécurité,
configuration complexe, etc.

qmail
 Architecture modulaire conçue de façon très sécurisée
 Configuration aisée, très performant

Postfix
 Architecture modulaire
 Plus évolutif que qmail

Exim
 ?
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Postfix (1/2)

Postfix : alternative à sendmail
 Sendmail est monolithique

Postfix est modulaire
 Sendmail a connu de multiples vulnérabilités

Séparation des privilèges dans Postfix (quelques
parties seulement tournent sous root)
 Sendmail est très complexe à configurer

Postfix est configuré à l'aide de directives simples

Postfix est maintenant intégré à de nombreuses
distributions
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Postfix (2/2)
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
qmail (1/2)

Développé par D. J. Bernstein
 http://cr.yp.to/qmail/

Orienté securité et performance
 Architecture modulaire

Séparation des privilèges
 Programmes très légers

Code source très court -> facilement auditable
 Très peu de configuration

Chaque programme a une fonctionnalité
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
qmail (2/2)
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
La boîte aux lettres
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Accès aux boîtes aux lettres :
POP3 (1/4)

POP3 = Post Office Protocol version 3
 RFC 1939
 Protocole permettant à un programme local de récupérer
les mails stockés dans une BAL distante (ie. présente sur
un serveur distant)

Utilise le port TCP/110

Utilisé par les ISP :

Le protocole est très simple, donc peu d'incompatibilités
avec les programmes clients

Le fonctionnement par défaut favorise le contrôle de la taille
des boites aux lettres

Convient parfaitement à un accès à Internet non-permanent
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Accès aux boîtes aux lettres :
POP3 (2/4)

Les mécanismes d'authentification POP3
 Comme beaucoup de protocoles un peu anciens, le
mot de passe est transmis en clair par défaut

La commande (optionnelle) APOP
 Permet une authentification par challenge/response
 Le serveur envoie une chaîne contenant (entre-autre)
un marqueur de temps dans sa bannière de connexion

De la forme : <marqueur-unique@nom-serveur>
 Le client concatène ce marqueur et son mot de
passe et renvoie le résultat au serveur qui peut
ainsi vérifier son identité
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Accès aux boîtes aux lettres :
POP3 (3/4)

Quelques exemples...
$ nc pop.free.fr 110
+OK <14876.1102792612@pop2-q.free.fr>
+OK <14876.1102792612@pop6-g25.free.fr>
$ nc pop.wanadoo.fr 110
+OK connected to pop3 on 0401
+OK connected to pop3 on 0404
$ nc pop.laposte.net 110
+OK POP3 server ready (7.0.028) <7FA75DABA11.....068EF32B2625@mx.laposte.net>
+OK POP3 server ready (7.2.060.1) <73D3317A9A...............@mx.laposte.net>
$ nc pop.tiscali.fr 110
+OK POP3 server ready (7.1.026) <04B411DC552.....C9F4118@mail.libertysurf.net>
+OK POP3 server ready (7.1.026) <8500B05B9F7............@mail.libertysurf.net>
$ nc pop.club-internet.fr 110
+OK POP3 FLASH Server
+OK POP3 FLASH Server
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Accès aux boîtes aux lettres :
POP3 (4/4)

Quelques extensions au protocole POP
 POP over SSL (commande STARTTLS)
 Autres mécanismes d'authentification (SASL)
 Login delay
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Accès boîtes aux lettres : IMAP (1/2)

IMAP = Internet Message Access Protocol
 La version courante est la version 4 révision 1
généralement nommée IMAP4rev1 (RFC 3501)

Caractéristiques
 TCP/143 (ou TCP/993 pour imap over SSL)
 Les messages restent sur le serveur, l'utilisation se fait
généralement en mode connecté
 Boîtes aux lettres partagées, accès concurrentiels, etc.
 Création de dossiers IMAP résidant sur le serveur
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Accès aux boîtes aux lettres : IMAP (2/2)

Contraintes d'exploitation
 Gourmand en ressources

Au niveau système, il s'agit d'un protocole complexe et certaines
fonctionnalités (s'exécutant sur le serveur) peuvent être coûteuses
(tri, threading, etc.)

Maîtrise de la taille des BALs

Au niveau réseau, de multiples connexions IMAP peuvent être
ouvertes simultanément lors de l'accès à une BAL
 La compatibilité avec le protocole peut se révéler très différente
entre les divers clients de messagerie

Protocole complexe
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Les principaux formats de BAL

Deux principales approches :
 Le format de la boîte aux lettres est complètement
masqué pour l'utilisateur, et ce dernier n'accède à la boîte
qu'au travers d'un protocole ou un client spécifique

Microsoft Exchange, Cyrus IMAPd
 Le format de la BAL est complètement standard et cette
dernière peut être utilisée par différents MDA et/ou MUA

Meilleure interopérabilité

Deux principaux types couramment utilisés :
 Maildir
 mbox
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Les principaux formats de BAL :
mbox

Format traditionnel sous Unix
 Plusieurs variantes : mboxrd, mboxo, mboxcl, etc.

Un seul fichier est utilisé pour stocker tous les
messages présents dans la BAL

Chaque message débute par la chaine « From » suivi
du message (en-têtes et corps), puis d'une ligne vide

Utilisation de verrous pour les accès en écriture à la
boîte aux lettres, nombreux problèmes :
 Accès à la boîte par plusieurs processus, intégrité des
messages en cas de crash, utilisation de NFS, etc.
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Les principaux formats de BAL :
Maildir

Format popularisé par qmail

Un mail est enregistré dans un fichier, sans aucune
modification (conforme à la RFC 822)

Une BAL au format Maildir contient 3 sous-répertoires :
 new/ contient les nouveaux messages, ils ne sont
pas encore lus par l'utilisateur
 cur/ contient les messages actuels (déjà lus)
 tmp/ contient les messages en cours d'élaboration

Avantage : accès simultanés à la BAL, NFS, etc.

Problème : générer des noms de fichiers uniques
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Les principaux serveurs

popa3d (POP3)
 Léger, orienté sécurité

UW-IMAP
 Peu recommandé, un peu "historique"

Courier-IMAP (POP3, IMAP)
 Très configurable, support Maildir

Cyrus-IMAP (IMAP)
 Format de boîte propriétaire, orienté grand nombre
d'utilisateurs

dovecot
 Modulaire, orienté sécurité, support Maildir
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Les indésirables
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Le problème du Spam (1/6)

pourriel, pollupostage, etc.
 « courrier électronique non sollicité, envoyé le plus souvent
massivement, sans l'accord des destinataires »
 Génère un trafic important sur internet

Le Spam est avant tout un problème économique
 Le coût d'envoi d'un message est très faible
 Le stockage des messages est à la charge des destinataire

A l'heure actuelle, il n'existe aucune solution définitive au
problème du Spam
 ... mais différentes techniques peuvent être mises en place
au niveau du serveur de mail
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Le problème du Spam (2/6)

Différents types de nuisances peuvent être considérées
comme du Spam :
 Informations à caractère commercial

Entreprises peu scrupuleuses vis-à-vis de la Netiquette
 Escroqueries diverses

Pornographie, médicaments, crédit financier, etc.
 Phishing (password harvesting fishing)

Obtention d'informations confidentielles (ex. : numéro de
carte bancaire) en se faisant passer auprès des victimes pour
quelqu'un digne de confiance
 Hoax (ou canular informatique)
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Le problème du Spam (3/6)

Méthode : vérifications DNS
 Requête de type MX sur le domaine de
l'adresse mail de l'expéditeur
 Recherche du domaine à partir de l'adresse IP
et comparaison avec le champ From: du
message

Dans les 2 cas, les risques de faux-positifs sont
très importants

Interopérabilité
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Le problème du Spam (4/6)

Méthode : Black list IP

RBLs (Realtime Blackhole Lists)
 Principe : pour chaque mail entrant, rechercher l'adresse IP de
l'expéditeur dans des listes publiques d'adresses IP de
spammers connus
 S'appuient généralement sur le DNS (DNSRBLs)
 Le déploiement est simple, relativement peu coûteux en terme
de ressources CPU, et l'impact au niveau réseau reste faible
 Inconvénients :

Risques importants de faux-positifs

La mise à jour des listes publiques est une intervention humaine
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Le problème du Spam (5/6)

Méthode : Greylisting
 Technique relativement récente et assez efficace
 Codes d'erreurs SMTP (RFC 821) :

{ 1yz, 2yz, 3yz } : Positive Reply

4yz : Transient Negative Completion Reply

5yz : Permanent Negative Completion Reply
 Les sources de Spam ne prennent pas en compte les
erreurs SMTP temporaires
 Fontionne aussi pour les virus de messagerie
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Le problème du Spam (6/6)

Méthode : Filtrage applicatif
 Recherche de mot-clés spécifiques

Efficace mais facilement contournable, par exemple
remplacer le terme Viagra par V1agra
 « Rule-based scoring systems »

Systèmes capables d'éliminer 90% du Spam

Exemple : SpamAssassin
 Filtrage basé sur des méthodes probabilistes

Filtrage bayésien
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Quelques caractéristiques de
SpamAssassin (1/3)

SpamAssassin
 Développé en PERL
 Peut s'intégrer à la fois dans un environnement serveur
(ie. couplé à un MTA) ou utilisateur (procmail)

Idée directive
 Appliquer une multitude de techniques différentes puis
corréler, pondérer, et additionner l'ensemble des résultats
 Si le résultat final dépasse un certain seuil, le message
est considéré comme un Spam
 Le message est simplement marqué comme "Spam" au
moyen de différents headers : "X-Spam-FLAG", etc.
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Quelques caractéristiques de
SpamAssassin (2/3)

Caractéristiques techniques :
 Utilise différents tests DNS, RBLDNS, etc. La pondération des
résultats diminue considérablement le nombre de faux-positifs
 Intègre un système de type "Rule-based Scoring" prenant en
compte l'intégralité du message, c'est à dire le contenu et les
éléments structurels
 Gestion de white-lists, black-lists, ainsi qu'un système d'Auto
White-Lists (AWL)
 Filtrage Bayésien
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Quelques caractéristiques de
SpamAssassin (3/3)

Intégration dans un environnement serveur
 Coûteux en terme de ressources systèmes (PERL)
 Fonctionnement en mode client/serveur

Afin d'éviter le chargement des règles à chaque analyse d'un
nouveau message, le daemon spamd est utilisé. Ce dernier est
interrogé par un client léger (spamc) au travers d'une socket
Unix ou TCP
 Intégration possible à deux niveaux :

Au niveau du process serveur SMTP (mise en place d'un filtre
global)

Au niveau du process de mail delivery (gestion de la
configuration du filtre par utilisateur)
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Filtrage antivirus (1/4)

Le fonctionnement est souvent similaire à celui vu
précédemment

Fonctionnement en mode Client-Serveur
 Une machine dédiée peut se révéler nécessaire (un
filtrage antivirus est gourmand en ressources CPU)

Contraintes d'exploitation
 Gestion de la quarantaine sur des serveurs internet
(?)
 Mise à jour de la base de signatures

Exemple : ClamAV
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Filtrage antivirus (2/4)

Déploiement du filtrage :
 serveur mail + passerelle AV + AV
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Filtrage antivirus (3/4)

Sendmail + milter + clamAV
 milter est une passerelle réseau générique pour
Sendmail
 possibilités de filtrage multiples : ici antivirus clamAV

Postfix + amavisd
 Postfix intègre la redirection des mails vers un filtre
sur le réseau
 Exemple : démon amavisd + AV + spamassassin
 Load-balancing sur serveurs AV multiples
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Filtrage antivirus (4/4)

Filtrage avec qmail
 Variable d'environnement QMAILQUEUE
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Conclusion
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Conclusion

La messagerie est intégrée au paysage du Net
depuis très longtemps
 Protocoles éprouvés (SMTP, POP, IMAP)
 Choix de serveurs très satisfaisants

Cependant, à l'instar d'IPv4, elle ne convient pas
aux besoins modernes
 Nombreux ajouts sur les RFC de départ ("verrues")
 Finalement peu adapté au contenu multimédia
 Déficiences graves : virus, spam
 Intégration difficile de la cryptographie
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
Conclusion

Les technologies supplémentaires de sécurité
peinent à entrer en vigueur
 DomainKeys, SenderID, DNSSEC
 Filtrage spam, antivirus

D'autres protocoles de messagerie sont autant
voire plus utilisés
 SMS, Instant Messaging
 Développement rapide de la VoIP,
visioconférence
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________

Contenu connexe

Dernier

Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 

Dernier (8)

Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 

En vedette

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

En vedette (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

2016_2017_STI_4a_mail_imp.pdf

  • 1. 1 Serveur de mails Promo 2018 STI 4ème année Année 2016-2017 Module : Administration réseaux _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ La messagerie Internet _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 2. Plan  Historique  Infrastructure  Acheminement des messages  Le protocole SMTP  Les serveurs mail  La boîte aux lettres  Les indésirables  La chasse au spam  Les antivirus _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Historique (1/3)  La préhistoire...  Envoi de messages entre différents utilisateurs des mainframes à la fin des années 60 (MAILBOX)  Premier envoi d'un message entre deux machines du réseau ARPANET courant 1972 (1ère utilisation du caractère @)  En 1973, les mails représentent ¾ du trafic ARPANET  Nombreux problèmes d'interropérabilité (RFC 680, 724, 733, etc.)  Eric Allman développe delivermail (utilisation de FTP over NCP pour transmettre les messages) _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 3. Historique (2/3)  Les temps anciens (... ou l'avènement de TCP/IP)  Avant la naissance du protocole SMTP, la transmission des mails se fait au moyen de FTP, UUCP, etc.  Eric Allman développe sendmail  La RFC 821 donne les premières spécifications du protocole SMTP (Simple Mail Transfer Protocol) (en 1982)  La RFC 822 spécifie le format des messages _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Historique (3/3)  Les temps modernes...  L'évolution vers la messagerie actuelle :  Encapsulation de contenus multimédias (MIME)  Interconnexion avec les annuaires LDAP, Active Directory  Les besoins émergents en terme de sécurité :  Authentification, confidentialité, etc.  Filtrage applicatif : spam, antivirus, etc. _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 4. Vocabulaire  MTA (Mail Transfer Agent)  Programme responsable de l'acheminement des messages  MUA (Mail User Agent)  Programme permettant à l'utilisateur de lire et d'envoyer des messages  Dialogue avec le MTA via le protocole SMTP (client uniquement) et avec le serveur de boîtes aux lettres via POP ou IMAP  MDA (Mail Delivery Agent)  Interface entre le MTA et la boîte aux lettres de l'utilisateur _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ MUA et MDA  Les MUA sont les programmes utilisés par les utilisateurs pour gérer leur messagerie au quotidien  Exemples : Microsoft Outlook, Evolution, Thunderbird, Mutt, Pine, mailx, elm, mail, etc.  Un MDA est généralement directement exécuté par le MTA afin d'ajouter le message à la BAL de l'utilisateur destinataire. C'est en fait le MDA qui prend alors en charge la partie finale du traitement  Exemples : procmail, fetchmail, qmail-local, etc. _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 5. Le format des adresses  Une adresse mail est une chaîne de caractère contenant le symbole "@"  De la forme : "local-part@domain" (la partie "domain" est en fait tout ce qu'il y a après le dernier "@", elle est indépendante de la casse des caractères)  Caractères ASCII uniquement  Adresses particulières  postmaster@domain.com (RFC 822)  abuse@domain.com  ... _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Le format des messages (1/3)  Un message est constitué de trois parties :  L'enveloppe est utilisée par le MTA pour l'acheminement du courrier, il s'agit essentiellement de l'expéditeur et du destinataire  Les en-têtes (ou headers) sont utilisés par les MUA  Le corps est le contenu du message envoyé au destinataire _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 6. Le format des messages (2/3)  Le format et l'interprétation des en-têtes sont spécifiés dans la RFC 822 (1982)  « 822 allows much more flexibility than a typical mail- reading program can actually handle; meanwhile it imposes restrictions that millions of users violate every day »  Les en-têtes sont de la forme « Nom: valeur » Date: Wed, 30 Aug 2006 14:03:22 +0200 (CEST) X-Spam-Flag: YES From: Alain Martin <amartin@cfbs.com> To: Martial Szpieg <martial.szpieg@ensi-bourges.fr> Subject: Fw: failure notice _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Le format des messages (3/3)  Suivi de l'acheminement sur chaque serveur de transit  Provenance du message  Identification du serveur  Destinataire  Heure de réception  MIME : encapsulation des pièces jointes  Encodage en base64  Séparateurs  Indication de type de contenu _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 7. Exemple de message (spam) Partie Acheminement : Return-Path: <ika_sinarbuana@cbn.net.id> X-Original-To: martial.szpieg@localhost Delivered-To: martial.szpieg@localhost.martial.szpieg.net Received: from burrich (burrich [127.0.0.1]) by martial.szpieg.net (Postfix) with ESMTP id 43F752859F for <martial.szpieg@localhost>; Sun, 8 Oct 2006 13:48:01 +0200 (CEST) Received: from mail.libertysurf.net [213.36.80.100] by burrich with POP3 (fetchmail-6.3.4) for <martial.szpieg@localhost> (single-drop); Sun, 08 Oct 2006 13:48:01 +0200 (CEST) Received: from host-87-75-16-231.bulldogdsl.com (87.75.16.231) by mail.libertysurf.net (7.1.026) id 4510D5F00185BD88; Sun, 8 Oct 2006 13:45:16 +0200 _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Exemple de message (suite) Partie en-tête : Message-ID: <009101c6ea4e$24a1f3e0$0100a8c0@different> From: "Masha R." <ika_sinarbuana@cbn.net.id> To: <massard@worldonline.fr> Subject: You've got new mail Date: Sun, 8 Oct 2006 00:21:13 +0400 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_008E_01C6EA6F.A9F0D540" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2900.2527 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2527 X-Spam: YES X-Spam-Rating: 99 _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 8. Exemple de message (suite) Partie contenu du message : This is a multi-part message in MIME format. ------=_NextPart_000_008E_01C6EA6F.A9F0D540 Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: quoted-printable Dear User of our Site! you have new message [...] ------=_NextPart_000_008E_01C6EA6F.A9F0D540 Content-Type: text/html; charset="koi8-r" Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> [...] ------=_NextPart_000_008E_01C6EA6F.A9F0D540-- _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Le routage des mails et le DNS (1/2)  Problème : à quel serveur doit-on s'adresser pour envoyer un mail destiné à "local@ensi- bourges.fr"  Le MTA effectue une requête DNS afin de connaître l'enregistrement MX de "domaine.com" ... bash$ host -t mx ensi-bourges.fr ensi-bourges.fr is handled by 10 smtp1.ensi-bourges.fr. ensi-bourges.fr is handled by 20 smtp2.ensi-bourges.fr. ensi-bourges.fr is handled by 20 smtp3.ensi-bourges.fr.  En cas d'échec de la requête DNS, cela ne veut pas dire qu'il n'y a pas d'enregistrement MX pour le domaine concerné : le client doit réessayer un peu plus tard...  Si la requête DNS ne renvoie aucun enregistrement MX, alors le MTA doit prendre comme MX l'hôte lui-même _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 9. Le routage des mails et le DNS (2/2)  Le serveur prend ensuite la liste des serveurs destinataires par ordre croissant de préférence et se connecte ensuite sur le port TCP/25 pour envoyer le message par SMTP  En cas d'échec permanent, le client retourne un message d'erreur à l'expéditeur (bounce message)  En cas d'échec temporaire, le client réessaye d'envoyer le message en utilisant les serveurs de mails ayant une priorité inférieure. S'il ne restent plus de serveurs dans la liste, le message est alors mis en attente  L'utilisation des MX est spécifiée dans la RFC 974 _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Acheminement des messages Le protocole SMTP _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 10. Le protocole SMTP  SMTP = Simple Mail Transfer Protocol  Définit la manière de communiquer entre deux MTA en utilisant une connexion TCP  Protocole de type « PUSH »  Utilise un alphabet ASCII 7 bits (en TCP, transmission de 8 bits avec le bit de poid fort à 0)  Le nombre de commandes utilisées est relativement faible (inférieur à 12)  Le protocole est défini dans la RFC 821 (1982) _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Les principales commandes SMTP (1/5)  La commande HELO permet à la machine source de s'identifier auprès du serveur SMTP HELO mail.ensi-bourges.fr ie. "Salut, je suis mail.ensi-bourges.fr" D'après la RFC 1123, le paramètre transmis doit être un nom d'hôte valide au sens DNS La responsabilité est à la charge de l'émetteur Bien que cela soit interdit par la RFC 1123, certaines implémentations de serveurs SMTP refusent les mails d'après certaines vérifications sur la commande HELO (reverse DNS, MX, etc.). _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 11. Les principales commandes SMTP (2/5)  La commande MAIL permet de spécifier l'adresse de l'expéditeur (return-path) et de réinitialiser la liste des destinataires  La commande MAIL est suivie de la chaîne "FROM:" et d'une adresse de retour (la chaîne <> représente une adresse vide) et éventuellement des informations supplémentaires (8BITMIME) ... MAIL FROM:<martial.szpieg@ensi-bourges.fr> 250 ok _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Les principales commandes SMTP (3/5)  La commande RCPT permet d'ajouter une adresse à la liste courante des destinataires  Cette commande est suivie de la chaîne "TO:", d'une adresse et éventuellement d'informations optionnelles  Plusieurs commandes RCPT peuvent être utilisées à la suite les unes des autres ... RCPT TO: <webmaster@ensi-bourges.fr> 250 ok RCPT TO: <abuse@ensi-bourges.fr> 250 ok _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 12. Les principales commandes SMTP (4/5)  La commande DATA permet de transmettre le message  Cette commande n'accepte pas de paramètre  La transmission du message commence immédiatement après la réponse du serveur  Chaque ligne du message se termine par <CRLF>, la fin est signalée par la séquence <CRLF>.<CRLF> ... DATA 354 go ahead Hello world ! . 250 ok 1102890861 qp 5433 _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Les principales commandes SMTP (5/5)  La commande VRFY permet de vérifier la validité d'une adresse  Problème de confidentialité vis à vis du Spam  La RFC 1123 définit un nouveau code d'erreur (252) permettant de traiter la commande VRFY  La commande EXPN permet de développer une adresse générique représentant une liste de diffusion  Le terme "liste de diffusion" peut également désigner un utilisateur local (par exemple : "expn root")  Généralement non implémentée (cf. Spam) _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 13. Les évolutions du protocole SMTP  Extended SMTP (ESMTP)  Ces extensions (définies dans la RFC 1425) maintiennent néanmoins une compatibilité ascendante  Utilisation de EHLO à la place de HELO, puis code réponse 250 bash$ nc smtp.wanadoo.fr 25 220 mwinf0209.wanadoo.fr ESMTP ************************** EHLO marley.com 250-mwinf0209.wanadoo.fr 250-PIPELINING 250-SIZE 10485760 250 8BITMIME _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Remarque sur les serveurs SMTP  Lorsqu'un serveur de mail accepte un message, il ajoute un en-tête "Received:" au début du message  Le protocole TCP n'est utilisé qu'en half-duplex  Le client envoie une requête, attend la réponse, etc.  Importance de la rapidité de réponse pour les serveurs  Généralement, les serveurs SMTP ne parsent pas les headers d'un message, excepté pour compter le nombre de saut (nb. de "Received:") _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 14. Remarque  Dans le paragraphe 5.3.3 de la RFC 1123, intitulé "Reliable Mail Receipt", il est écrit : « When the receiver-SMTP accepts a piece of mail (by sending a "250 OK" message in response to DATA), it is accepting responsibility for delivering or relaying the message. It must take this responsibility seriously, i.e., it MUST NOT lose the message for frivolous reasons, e.g., because the host later crashes or because of a predictable resource shortage » _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Dialogue smtp avec starttls martial@Medion-black:~$ openssl s_client -starttls smtp -crlf -connect smtp.gmail.com:25 CONNECTED(00000003) Server certificate -----BEGIN CERTIFICATE----- MIIDWzCCAsSgAwIBAgIKFMs0nQADAAASjjANBgkqhkiG9w0BAQUFA DBGMQswCQYD -----END CERTIFICATE----- subject=/C=US/ST=California/L=Mountain View/O=Google Inc/CN=smtp.gmail.com 250 ENHANCEDSTATUSCODES _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 15. Dialogue smtp avec starttls auth login 334 VXNlxxxxxx bXNxxxxxxxxx 334 UGFzc3dvcmQ6 bWxxxxxxxx 235 2.7.0 Accepted mail from: <mszpieg@gmail.com> 250 2.1.0 OK l14sm3207757weq.11 rcpt to: <martial.szpieg@ensi-bourges.fr> 250 2.1.5 OK l14sm3207757weq.11 _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Dialogue smtp avec starttls data 354 Go ahead l14sm3207757w . 250 2.0.0 OK 1291759190 l14sm3207757weq.11 essai . 250 2.0.0 OK 1291759190 l14sm3207757weq.11 _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 16. Acheminement des messages Les serveurs de mail _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Les objectifs d'un serveur de mail  Emettre les mails des utilisateurs connus  Relayer les mails issus des processus locaux  Relayer les mails issus du réseau interne  Relayer les mails issus de clients authentifiés  Recevoir les mails pour les domaines configurés  Accepter les mails provenant d'autres serveurs  Relayer ces mails vers les serveurs des sous-domaines ou vers les boîtes aux lettre des utilisateurs  Transmettre les mails aux autres serveurs  Déterminer la destination d'un mail à envoyer _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 17. L'architecture d'un serveur de mail _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Quelques exemples de MTA  Sendmail ("le" mailer Unix historique)  Approche monolitique, multiples failles de sécurité, configuration complexe, etc.  qmail  Architecture modulaire conçue de façon très sécurisée  Configuration aisée, très performant  Postfix  Architecture modulaire  Plus évolutif que qmail  Exim  ? _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 18. Postfix (1/2)  Postfix : alternative à sendmail  Sendmail est monolithique  Postfix est modulaire  Sendmail a connu de multiples vulnérabilités  Séparation des privilèges dans Postfix (quelques parties seulement tournent sous root)  Sendmail est très complexe à configurer  Postfix est configuré à l'aide de directives simples  Postfix est maintenant intégré à de nombreuses distributions _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Postfix (2/2) _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 19. qmail (1/2)  Développé par D. J. Bernstein  http://cr.yp.to/qmail/  Orienté securité et performance  Architecture modulaire  Séparation des privilèges  Programmes très légers  Code source très court -> facilement auditable  Très peu de configuration  Chaque programme a une fonctionnalité _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ qmail (2/2) _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 20. La boîte aux lettres _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Accès aux boîtes aux lettres : POP3 (1/4)  POP3 = Post Office Protocol version 3  RFC 1939  Protocole permettant à un programme local de récupérer les mails stockés dans une BAL distante (ie. présente sur un serveur distant)  Utilise le port TCP/110  Utilisé par les ISP :  Le protocole est très simple, donc peu d'incompatibilités avec les programmes clients  Le fonctionnement par défaut favorise le contrôle de la taille des boites aux lettres  Convient parfaitement à un accès à Internet non-permanent _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 21. Accès aux boîtes aux lettres : POP3 (2/4)  Les mécanismes d'authentification POP3  Comme beaucoup de protocoles un peu anciens, le mot de passe est transmis en clair par défaut  La commande (optionnelle) APOP  Permet une authentification par challenge/response  Le serveur envoie une chaîne contenant (entre-autre) un marqueur de temps dans sa bannière de connexion  De la forme : <marqueur-unique@nom-serveur>  Le client concatène ce marqueur et son mot de passe et renvoie le résultat au serveur qui peut ainsi vérifier son identité _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Accès aux boîtes aux lettres : POP3 (3/4)  Quelques exemples... $ nc pop.free.fr 110 +OK <14876.1102792612@pop2-q.free.fr> +OK <14876.1102792612@pop6-g25.free.fr> $ nc pop.wanadoo.fr 110 +OK connected to pop3 on 0401 +OK connected to pop3 on 0404 $ nc pop.laposte.net 110 +OK POP3 server ready (7.0.028) <7FA75DABA11.....068EF32B2625@mx.laposte.net> +OK POP3 server ready (7.2.060.1) <73D3317A9A...............@mx.laposte.net> $ nc pop.tiscali.fr 110 +OK POP3 server ready (7.1.026) <04B411DC552.....C9F4118@mail.libertysurf.net> +OK POP3 server ready (7.1.026) <8500B05B9F7............@mail.libertysurf.net> $ nc pop.club-internet.fr 110 +OK POP3 FLASH Server +OK POP3 FLASH Server _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 22. Accès aux boîtes aux lettres : POP3 (4/4)  Quelques extensions au protocole POP  POP over SSL (commande STARTTLS)  Autres mécanismes d'authentification (SASL)  Login delay _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Accès boîtes aux lettres : IMAP (1/2)  IMAP = Internet Message Access Protocol  La version courante est la version 4 révision 1 généralement nommée IMAP4rev1 (RFC 3501)  Caractéristiques  TCP/143 (ou TCP/993 pour imap over SSL)  Les messages restent sur le serveur, l'utilisation se fait généralement en mode connecté  Boîtes aux lettres partagées, accès concurrentiels, etc.  Création de dossiers IMAP résidant sur le serveur _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 23. Accès aux boîtes aux lettres : IMAP (2/2)  Contraintes d'exploitation  Gourmand en ressources  Au niveau système, il s'agit d'un protocole complexe et certaines fonctionnalités (s'exécutant sur le serveur) peuvent être coûteuses (tri, threading, etc.)  Maîtrise de la taille des BALs  Au niveau réseau, de multiples connexions IMAP peuvent être ouvertes simultanément lors de l'accès à une BAL  La compatibilité avec le protocole peut se révéler très différente entre les divers clients de messagerie  Protocole complexe _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Les principaux formats de BAL  Deux principales approches :  Le format de la boîte aux lettres est complètement masqué pour l'utilisateur, et ce dernier n'accède à la boîte qu'au travers d'un protocole ou un client spécifique  Microsoft Exchange, Cyrus IMAPd  Le format de la BAL est complètement standard et cette dernière peut être utilisée par différents MDA et/ou MUA  Meilleure interopérabilité  Deux principaux types couramment utilisés :  Maildir  mbox _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 24. Les principaux formats de BAL : mbox  Format traditionnel sous Unix  Plusieurs variantes : mboxrd, mboxo, mboxcl, etc.  Un seul fichier est utilisé pour stocker tous les messages présents dans la BAL  Chaque message débute par la chaine « From » suivi du message (en-têtes et corps), puis d'une ligne vide  Utilisation de verrous pour les accès en écriture à la boîte aux lettres, nombreux problèmes :  Accès à la boîte par plusieurs processus, intégrité des messages en cas de crash, utilisation de NFS, etc. _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Les principaux formats de BAL : Maildir  Format popularisé par qmail  Un mail est enregistré dans un fichier, sans aucune modification (conforme à la RFC 822)  Une BAL au format Maildir contient 3 sous-répertoires :  new/ contient les nouveaux messages, ils ne sont pas encore lus par l'utilisateur  cur/ contient les messages actuels (déjà lus)  tmp/ contient les messages en cours d'élaboration  Avantage : accès simultanés à la BAL, NFS, etc.  Problème : générer des noms de fichiers uniques _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 25. Les principaux serveurs  popa3d (POP3)  Léger, orienté sécurité  UW-IMAP  Peu recommandé, un peu "historique"  Courier-IMAP (POP3, IMAP)  Très configurable, support Maildir  Cyrus-IMAP (IMAP)  Format de boîte propriétaire, orienté grand nombre d'utilisateurs  dovecot  Modulaire, orienté sécurité, support Maildir _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Les indésirables _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 26. Le problème du Spam (1/6)  pourriel, pollupostage, etc.  « courrier électronique non sollicité, envoyé le plus souvent massivement, sans l'accord des destinataires »  Génère un trafic important sur internet  Le Spam est avant tout un problème économique  Le coût d'envoi d'un message est très faible  Le stockage des messages est à la charge des destinataire  A l'heure actuelle, il n'existe aucune solution définitive au problème du Spam  ... mais différentes techniques peuvent être mises en place au niveau du serveur de mail _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Le problème du Spam (2/6)  Différents types de nuisances peuvent être considérées comme du Spam :  Informations à caractère commercial  Entreprises peu scrupuleuses vis-à-vis de la Netiquette  Escroqueries diverses  Pornographie, médicaments, crédit financier, etc.  Phishing (password harvesting fishing)  Obtention d'informations confidentielles (ex. : numéro de carte bancaire) en se faisant passer auprès des victimes pour quelqu'un digne de confiance  Hoax (ou canular informatique) _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 27. Le problème du Spam (3/6)  Méthode : vérifications DNS  Requête de type MX sur le domaine de l'adresse mail de l'expéditeur  Recherche du domaine à partir de l'adresse IP et comparaison avec le champ From: du message  Dans les 2 cas, les risques de faux-positifs sont très importants  Interopérabilité _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Le problème du Spam (4/6)  Méthode : Black list IP  RBLs (Realtime Blackhole Lists)  Principe : pour chaque mail entrant, rechercher l'adresse IP de l'expéditeur dans des listes publiques d'adresses IP de spammers connus  S'appuient généralement sur le DNS (DNSRBLs)  Le déploiement est simple, relativement peu coûteux en terme de ressources CPU, et l'impact au niveau réseau reste faible  Inconvénients :  Risques importants de faux-positifs  La mise à jour des listes publiques est une intervention humaine _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 28. Le problème du Spam (5/6)  Méthode : Greylisting  Technique relativement récente et assez efficace  Codes d'erreurs SMTP (RFC 821) :  { 1yz, 2yz, 3yz } : Positive Reply  4yz : Transient Negative Completion Reply  5yz : Permanent Negative Completion Reply  Les sources de Spam ne prennent pas en compte les erreurs SMTP temporaires  Fontionne aussi pour les virus de messagerie _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Le problème du Spam (6/6)  Méthode : Filtrage applicatif  Recherche de mot-clés spécifiques  Efficace mais facilement contournable, par exemple remplacer le terme Viagra par V1agra  « Rule-based scoring systems »  Systèmes capables d'éliminer 90% du Spam  Exemple : SpamAssassin  Filtrage basé sur des méthodes probabilistes  Filtrage bayésien _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 29. Quelques caractéristiques de SpamAssassin (1/3)  SpamAssassin  Développé en PERL  Peut s'intégrer à la fois dans un environnement serveur (ie. couplé à un MTA) ou utilisateur (procmail)  Idée directive  Appliquer une multitude de techniques différentes puis corréler, pondérer, et additionner l'ensemble des résultats  Si le résultat final dépasse un certain seuil, le message est considéré comme un Spam  Le message est simplement marqué comme "Spam" au moyen de différents headers : "X-Spam-FLAG", etc. _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Quelques caractéristiques de SpamAssassin (2/3)  Caractéristiques techniques :  Utilise différents tests DNS, RBLDNS, etc. La pondération des résultats diminue considérablement le nombre de faux-positifs  Intègre un système de type "Rule-based Scoring" prenant en compte l'intégralité du message, c'est à dire le contenu et les éléments structurels  Gestion de white-lists, black-lists, ainsi qu'un système d'Auto White-Lists (AWL)  Filtrage Bayésien _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 30. Quelques caractéristiques de SpamAssassin (3/3)  Intégration dans un environnement serveur  Coûteux en terme de ressources systèmes (PERL)  Fonctionnement en mode client/serveur  Afin d'éviter le chargement des règles à chaque analyse d'un nouveau message, le daemon spamd est utilisé. Ce dernier est interrogé par un client léger (spamc) au travers d'une socket Unix ou TCP  Intégration possible à deux niveaux :  Au niveau du process serveur SMTP (mise en place d'un filtre global)  Au niveau du process de mail delivery (gestion de la configuration du filtre par utilisateur) _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Filtrage antivirus (1/4)  Le fonctionnement est souvent similaire à celui vu précédemment  Fonctionnement en mode Client-Serveur  Une machine dédiée peut se révéler nécessaire (un filtrage antivirus est gourmand en ressources CPU)  Contraintes d'exploitation  Gestion de la quarantaine sur des serveurs internet (?)  Mise à jour de la base de signatures  Exemple : ClamAV _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 31. Filtrage antivirus (2/4)  Déploiement du filtrage :  serveur mail + passerelle AV + AV _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Filtrage antivirus (3/4)  Sendmail + milter + clamAV  milter est une passerelle réseau générique pour Sendmail  possibilités de filtrage multiples : ici antivirus clamAV  Postfix + amavisd  Postfix intègre la redirection des mails vers un filtre sur le réseau  Exemple : démon amavisd + AV + spamassassin  Load-balancing sur serveurs AV multiples _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 32. Filtrage antivirus (4/4)  Filtrage avec qmail  Variable d'environnement QMAILQUEUE _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Conclusion _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
  • 33. Conclusion  La messagerie est intégrée au paysage du Net depuis très longtemps  Protocoles éprouvés (SMTP, POP, IMAP)  Choix de serveurs très satisfaisants  Cependant, à l'instar d'IPv4, elle ne convient pas aux besoins modernes  Nombreux ajouts sur les RFC de départ ("verrues")  Finalement peu adapté au contenu multimédia  Déficiences graves : virus, spam  Intégration difficile de la cryptographie _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ Conclusion  Les technologies supplémentaires de sécurité peinent à entrer en vigueur  DomainKeys, SenderID, DNSSEC  Filtrage spam, antivirus  D'autres protocoles de messagerie sont autant voire plus utilisés  SMS, Instant Messaging  Développement rapide de la VoIP, visioconférence _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________