P a

H205.ONLINE - MODULE M3204 t r i c e

G o m m e r y

-

H 2 0 5 . o n l i Services de n e

-

A v r i l

Messagerie 2 0 2 0

Le voyage extraordinaire d'un 0 2

0 LA MESSAGERIE SUR INTERNET 2 l i r v A

- e n i l n o . 5 0 2 H Historique

Créé en 1965, le service de courriel existait avant Internet. Il fut utilisé dès le début d'ARPANET en 1969. Ce n'est qu'en 1972, que Ray Tomlinson proposa l'utilisation du signe @ pour séparer le nom de l'utilisateur de celui du domaine. MTA Transport Agent

Les services MDA Mail Delivery Agent

MUA Mail User Agent

H205.online - Avril 2020 MTA MAIL TRANSPORT AGENT

Le service d'envoi des mails Il permet le transport des mails d'un serveur de couriels à un autre Il met en oeuvre le protocole SMTP qui régie tous les échanges entre les domaines de messagerie

H205.online - Avril 2020 MAIL DELIVERY AGENT MDA

Le service de livraison des mails. Une fois le courrier arrivé sur le serveur de destination (domaine de messagerie), c'est le MDA qui est chargé de remettre le message dans la boite aux lettres du destinataire.

H205.online - Avril 2020 MUA MAIL USER AGENT

Ce service permet au destinataire de récupérer ses mails et de les consulter dans son logiciel de messagerie. Il met en oeuvre les protocoles IMAP ou POP

H205.online - Avril 2020 L'expéditeur créait son message en précisant

l'adresse du destinataire avec le format : nom@domaine H 2 0 5

Il utilise SMTP pour confier le message au MTA de son opérateur . o n

ou de son domaine de messagerie. l i n L e I

- A

A M v

r i l U

2 D 0

2 0 N O I T I D E P X E

T E

N O I T A E R C Un expéditeur Un destinataire

Les adresses sont au format utilisateur@domaine

Un Sujet Le corps de message

Le corps du message peut contenir du texte, des images, des vidéos, des liens etc ...

CREATION DU MAIL A l'origine, smtp ne transportait que des messages encodés sur 7 bits.

Le message quel que soit son contenu est donc transporté et même stocké en texte brut.

Format du Du point de vue du système de fichier c'est un simple fichier texte, comme une page html. C'est le rôle du Message MUA d'encoder et de décoder le contenu. 0

2 0 2 l i Le message final se compose de deux parties : r v

A

-

e Une entête (Header) n i l n Le corps du message au format SMTP/MIME o . 5

0 2

H L'entête du message (Header) contient toutes les informations de livraison du mail :

Dates de Création / Envoi Nom et adresses des Serveurs SMTP impliqués dans la chaine de transport. Entête du Identifiant du message Informations sur l'expéditeur Message Adresse de Destination 0

2 Le sujet 0 2 l i La version MIME utilisée pour l'encodage des r v

A données.

-

e n i l n o . 5

0 2 H

Received: by serveur.fr (Postfix, from userid 110) id 3EF5F15B0CD; Fri, 24 Apr 2020 13:35:16 +0200 (CEST) From: "[email protected]" To: [email protected] Entête du Subject: Démonstration envoi de Mail Date: Fri, 24 Apr 2020 23:31:16 +0200 Message MIME-Version: 1.0 0

2 Content-Transfer-Encoding: 8bit 0 2 l i Content-Type: text/plain; charset=iso-8859-1 r v

A X-Mailer:

-

e Message-Id: n i l n o . 5 0 2 H

Le corps du message est au format SMTP/MIME. Un format qui permet d'utiliser différents encodage en fonction du contenu. L'ensemble étant finalement stocké en texte brut sur le serveur.

Exemples de Content-Type :

Content-Type : text/plain ; charset="utf-8" Content-Type : text/html ; charset="utf-8" Corps du Content-Type : image/png Content-Type : application/pdf Content-Type : video/mp4 Message

0 Exemples Content-Transfer-Encoding 2

0 2

l Content-Transfer-Encoding : quoted-printable i r v Content-Transfer-Encoding : base64 A

-

e Exemples Content-Disposition : n i l n

o Content-Disposition : inline; filename="image.png" . 5

0 Content-Disposition : attachment; filename="fichier.pdf" 2 H

----=_RainLoop_270_972418398.1587739287 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable ICI COMMENCE LA PARTIE DATA DE L'ENVOI=0ACECI EST DU TEXTE=0A=0ACeci est = un lien ----=_RainLoop_270_972418398.1587739287 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable

<= br>
Ceci est un lien<= br>

<=

0 /div>


2

0 ----=_RainLoop_270_972418398.1587739287-- 2

l ----=_RainLoop_573_277301691.1587739287 i r Content-Type: image/png; name="image.png" v

A Content-Disposition: inline; filename="image.png"

- Content-ID: <42b21a429644eead6f5443ff0606a8b1>

e Content-Transfer-Encoding: base64 n i

l iVBORw0KGgoAAAANSUhEUgAAAOEAAADhCAMAAAAJbSJIAAAA2FBMVEX///9ZV1gAAAD/sQ// n //z7+/vz8/NXV1f4+PhOTE3FxcVOTk5aWFm+vb53d3dmZmb3rwD+sgD63Z/n5+f7sBLywU/7 o .

5 9uT2sxt7e3qioqL7rABiYWLv7+/R0dGRkZFubm7046zX19evr687OzuMjIy6t7iEhISmpqZD 0

2 Q0Pd3d0MAAApKSmZmZmtra3///Y+Pj4cExY8NTckIiMfHx/38M7525v14bfv3p70v1T/rBjr

H 3JL66bf9++Pw5Kv1243rwGDuti7uuEH40X3wxVj/9t/u03zjyVAREAza4RRkAAAMM0lEQVR4

SMTP : Simple Mail Transfer Protocol Pour finir l'envoi, le message sera simplement remis au serveur de soumission de l'expéditeur.

Ce serveur de soumission peut-être le serveur de mail de son domaine de messagerie, mais aussi n'importe quel serveur SMTP sur lequel il est autorisé à remettre des messages.

Comme pour tout les protocoles applicatifs, les serveurs SMTP utilisent des conventions de ports. SMTP de base : TCP 25 SMTP avec authentification et TLS: TCP 587 SMTP sur SSL : TCP 465

Le choix du port est déterminé par le propriétaire du serveur de soumission. Il peut donc être différent en fonction des choix du fournisseur du serveur.

SOUMISSION DU MAIL SMTP : Simple Mail Transfer Protocol

Comme son nom l'indique, SMTP est un protocole simple d'utilisation, comme le montre l'exemple qui dessous qui résume en quelques lignes la soumission d'un message à un serveur SMTP :

EHLO Emetteur 250-demoprof.mmi-troyes.fr MAIL FROM: 250 2.1.0 Ok RCPT TO: 250 2.1.5 Ok DATA 354 End data with . Subject:Message via Telnet From:Patrice To:pgo Test de Messagerie . 250 2.0.0 Ok: queued as CEB7D31 .

SOUMISSION DU MAIL H 2 0 5 . o n l i n e

-

A N v r O i I l

2 S

MTA : Le serveur SMTP de soumission 0 S 2 I réceptionnant le message, 0 M

U analyse l'entête du message

O et effectue les requêtes DNS nécessaires S pour trouver l'adresse du serveur de destination final du message E D

P T M S

R U E V R E S Remise Directe ou Serveur Relais

.Le serveur auquel l'expéditeur remet son message ne remet pas obligatoirement le message directement au serveur de destination.

Il peut en effet y avoir un ou plusieurs intermédiaires qui ont un simple rôle de relais entre l'expéditeur et le serveur de soumission qui lui remettra le message au serveur de destination.

RELAIS DU MAIL Relais Ouvert

Au fil du temps pour lutter contre la prolifération des spams, l'accès au serveur de soumission a été renforcé :

Port 25 réservé au transfert entre serveurs et en accès sur localhost uniquement. Utilisation du port 587 avec SSL/TLS Authentification Obligatoire Règles de filtrage au niveau du EHLO Règles de filtrage au niveau du MAIL FROM

Tout est mis en oeuvre pour éviter que le serveur devienne un Relais Ouvert et autorise tous les envois sans que l'expéditeur soit un utilisateur ou une machine autorisée à le faire. H205.online - Avril 2020 H

DNS 2 0

Recherche du serveur de messagerie du domaine de destination . 5 . Dans la zone DNS, il est identifié par un enregistrement MX O N L

root@demoprof:~# dig mx univ-reims.fr I N

; <<>> DiG 9.10.3-P4-Debian <<>> mx univ-reims.fr E ;; global options: +cmd

;; Got answer: -

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38799 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 4, ADDITIONAL: 11 A

V ;; OPT PSEUDOSECTION: R ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: I ;univ-reims.fr. IN MX L

;; ANSWER SECTION: 2 univ-reims.fr. 21600 IN MX 20 mx2.univ-reims.fr. 0 univ-reims.fr. 21600 IN MX 10 mx1.univ-reims.fr. 2

0 ;; AUTHORITY SECTION: fr. 138351 IN NS f.ext.nic.fr. fr. 138351 IN NS d.nic.fr. fr. 138351 IN NS e.ext.nic.fr. fr. 138351 IN NS g.ext.nic.fr.

;; ADDITIONAL SECTION: mx1.univ-reims.fr. 194 IN AAAA 2001:660:4601:1300::c132:d019 mx2.univ-reims.fr. 9509 IN AAAA 2001:660:4601:1300::c239:687d

H 2 0 5 . o n l i n e

-

A v L r

I MTA : Le serveur SMTP du domaine de destination i l

A réceptionne le message et vérifie sa légitimité, 2 0 M 2 0 E

N U ' D

I O V N E ' D

E P I C N I R P LEGITIMITE DU MESSAGE Une fois le message parvenu au serveur de destination, son voyage est loin d'être terminé. Il va devoir encore passer quelques contrôles avant d'être remis au MDA

Recherche de l'adresse IP du relais dans les blacklists Résolution Reverse DNS 0 2 0

2 Vérification du MX l i r

v Authentification SPF A

-

Signature DKIM e n i l Enregistrement DMARC n o .

5 0 2 Autant de techniques qui vont H permettre de vérifier la légitimité du message et du serveur qui l'a relayé. Les Blacklists référencent les adresses IP qui ont été identifiées comme générant beaucoup de spams.

Les serveurs de messagerie consultent ensuite ces Blacklists pour savoir si les IP des serveurs relayant les messages y sont présentes ou pas.

Dans le cas ou l'adresse IP du serveur de relais figure dans une des listes, les messages provenant de celui- BLACKLIST ci sont marqués comme spams ou tout simplement supprimés avant remise au MDA.

0 SPAMMEURS ? 2 0 2

l Pour savoir si votre IP est blacklistée, vous pouvez i r v utiliser des outils comme : A

- e n i l mxtoolbox n o . 5 0

2 ultratools H Sur Internet, il existe des zones DNS inversées identifiées dans un domaine spécial nommé in-addr.arpa .

Dans ce domaine on peut trouver des enregistrements PTR qui comme pour le DNS classique associent une IP à un nom de machine. Mais ici la recherche se fait à partir de l'adresse IP et non plus du nom.

En exécutant une requête DNS inversée, les serveurs de messagerie peuvent ainsi vérifier que l'IP présentée par REVERSE DNS le serveur relais est bien associée au bon nom de machine.

0 ENREGISTREMENTS PTR

2 0 2

l Une autre requête DNS permettra ensuite de vérifier que i r v le nom de machine est bien celui d'un serveur de A

-

messagerie identifié avec un enregistrement MX valide. e n i

l n o

. Dans le cas contraire, le message sera marqué comme 5 0

2 SPAM ou tout simplement rejeté avant même la remise H au MDA.

Le SPF est un autre enregistrement DNS qui va permettre de vérifier que l'expéditeur du H 2 0 5 message (MAIL FROM) est bien autorisé à . o n l i

utiliser le serveur de soumission. n e

-

A v

Du point de vue du DNS c'est un simple r i l

2 enregistrement de type TXT qui contient au 0 2 minimum les IP des serveurs autorisés à SPF 0 relayés des mails pour le domaine associé. SENDER POLICY FRAMEWORK

Exemple : v=spf1 a mx ip4:<149.91.83.92> ~all n'autoriserai que la machine identifiée par l'IP 149.91.83.92 à émettre (ou à relayer) des messages provenant du domaine ou figure cet enregistrement. DKIM est une méthode de signature de mails. Elle met en oeuvre un mécanisme de signature avec l'algorithme de chiffrement asymétrique RSA.

Ce système repose sur deux clés (une privée / une publique). La clé privée reste sur le serveur, la clé publique est publiée dans la zone DNS dans un enregistrement TXT

DKIM Le serveur de soumission signe le message avec sa clé privée. Le serveur de destination récupère la clé

0 DOMAINKEYS IDENTIFIED MAIL 2

0 publique sur le serveur DNS et peut alors vérifier la 2 l i

r signature. v A

- e

n Ceci garantie que le serveur de soumission à bien i l n envoyé le message et qu'il est bien celui qu'il o . 5

0 prétend être puisqu'il est le seul à posséder la clé 2

H privée.

Encore une fois, il s'agit d'un enregistrement H 2

TXT à ajouter dans la zone DNS du domaine de 0 5 . o messagerie du serveur de soumission. n l i n

e

-

Cet enregistrement n'a de raison d'être que si A v r i l les enregistrements SPF et/ou DKIM sont 2 0 2 présents. 0 DMARC Il permet de préciser la politique du domaine DOMAIN BASED MESSAGE d'émission en cas d'échec d'authentification AUTHENTIFICATION REPORTING des méthodes SPF et DKIM. AND CONFORMANCE

Il permet notamment d'envoyer des au postmaster du serveur en cas d'usurpation d'adresses et de générer des rapports d'erreurs. Suivant le degré d'authentification demandé par le serveur de destination, il peut y avoir d'autres exigences pour que notre message ne finisse pas avec les spams ou soit tout simplement supprimé.

Par exemple, Google () est un des services de messagerie des plus restrictifs d'internet.

CHECK LIST Pour obtenir une note d'excellence à l'arrivée sur ses serveurs de messagerie, votre serveur

0 AUTRES VERIFICATIONS 2

0 de soumission devra aussi : 2 l i r v A

- Obligatoirement relayer le message via une e n i connexion SSL/TLS l n o

. Posséder dans sa zone DNS un 5 0

2 enregistrement TXT avec une entrée H google-site-verification

L'expéditeur créait son message en précisant

l'adresse du destinataire avec le format : nom@domaine H 2 0 5

Il utilise SMTP pour confier le message au MTA de son opérateur . o n

ou de son domaine de messagerie. l i n e

-

A v L r I i l

A MTA : Le serveur SMTP réceptionnant le message, 2 0 M analyse l'entête du message 2 0 E et effectue les requêtes DNS nécessaires N

U pour trouver l'adresse du serveur de destination final du message ' D

I O V N

E MTA : Le serveur SMTP du domaine de destination '

D réceptionne le message et après avoir vérifier sa légitimité,

E le confit au MDA pour qu'il le délivre P

I dans la boite aux lettres du destinataire C N I R P MAIL DELIVERY AGENT MDA

Notre message est enfin parvenu au MDA. Mais son voyage n'est toujours pas terminé .

Avant d'être stocké dans la boite aux lettres de l'utilisateur il devra encore subir un interrogatoire poussé fait par les filtres Antispams et les Antivirus.

H205.online - Avril 2020 L'antivirus se chargera principalement d'analyser les pièces jointes au message et de les supprimer (ou de les mettre en quarantaine) si il y a suspicion de logiciels malveillants S U R I V I T N A M A P S I

T L'antispam au niveau serveur rajoute des

N entrées dans l'entête du message. A

C'est ensuite le MDA (ou le logiciel de messagerie du destinataire final) qui décidera du sort du message : Un simple TAG ou une suppression définitive du message Notre message est enfin arrivé à destination (Enfin presque puisque le destinataire ne l'a toujours pas lu)

Comme nous l'avons vu au début du voyage, il est donc enregistré en texte brut sur le serveur.

STOCKAGE Il existe deux systèmes de stockage :

0 MAILDIR OU ? 2

0 MailBox ou tous les messages sont 2 l i

r stockés dans un même fichier. v A

- e n

i Maildir ou chaque message est stocké l n o

. dans un fichier différent. Les fichiers 5 0 2 sont organisés en dossiers en H commençant par la boite de réception. MUA MAIL USER AGENT Notre message est donc stocké sur le serveur, mais son destinataire ne l'a toujours pas lu.

Il doit maintenant utilisé son logiciel de messagerie favori pour récupérer le message et pouvoir le lire.

En fonction du logiciel et de son paramètrage il utilisera l'un des deux protocoles à sa disposition : POP ou IMAP

H205.online - Avril 2020 POP est le plus ancien des protocoles de récupération de message .

Il fonctionne sur le port TCP 110 .

Son fonctionnement de base est de vider littéralement la boite aux lettres de l'utilisateur et donc de télécharger tous ses messages en local. De ce fait, la boite aux lettres n'est donc consultable que par un seul ordinateur et une seule fois. POP

0 Il est aujourd'hui rarement utilisé sauf pour des 2 0

2 opérations de maintenance ou pour des usages l i r

v uniques (Authentification POST SMTP par exemple) A

- e n i Il nécessite obligatoirement une authentification , l n o

. généralement de type Login/mot de passe. 5 0

2 H Il peut fonctionner en mode sécurisé (SSL/TLS), dans ce cas il utilise le port 995 (POPS) L'autre protocole : IMAP4 dans sa dernière version permet lui une manipulation directe des messages directement sur le serveur.

Il ne nécessite donc pas obligatoirement le rapatriement des messages en local et surtout ne supprime jamais les messages sur le serveur.

IMAP Il est donc particulièrement bien adapté à l'usage INTERNET MESSAGE ACCESS des mails aujourd'hui . Accès à partir de plusieurs 0

2 machines (PC, Smartphone, tablette), 0 PROTOCOL 2 l i synchronisation des données et surtout à l'utilisation r v

A des webmails.

-

e n i l

n Il utilise le port 143, et dans sa version avec SSL/TLS o .

5 le port 993 (IMAPS) 0 2

H MAC / IOS WINDOWS Quels Windows Mail Thunderbird Outlook Logiciels Outlook ThunderBird MailBird pour lire mes ...... messages ?

LINUX WEBMAILS ThunderBird Claws Mail RainLoop SquirrelMail Evolution ProtonMail ...... H205.online - Avril 2020 LE SERVEUR DE MAIL La première information à fournir est bien sur le nom ou l'IP du serveur de mail stockant les messages et donc accessible via POP ou IMAP. Exemple : mail.h205.online

LE PORT TCP UTILISÉ Configuration Le second élément qui dépend du protocole utilisé et de la sécurité mise en place est le n° de port utilisé par le serveur. de la Réception POP:110 - POPS:995 - IMAP:143 - IMAPS:993

AUTHENTIFICATION Le dernier élément est l'authentification du compte utilisateur propriétaire de la boite aux lettres (login) et du mot de passe associé. Le login peut être un nom d'utilisateur ou tout simplement son adresse mail . Cela dépend du MDA installé sur H205.online - Avril 2020 le serveur. LE SERVEUR DE MAIL Comme pour la réception, le nom ou l'IP du serveur de soumission SMTP sur lequel le client (ou sa machine) est autorisé à déposer des mails est obligatoire. Il peut être différent du serveur de réception

LE PORT TCP UTILISÉ Configuration Le second élément dépend de la configuration du serveur et des choix fait en terme de sécurité. Si le de l'émission port 25 est celui par défaut de SMTP, il est de plus en plus rarement utilisé . On lui préférera les ports 465 ou 587 qui permettent des connexions chiffrées avec SSL/TLS AUTHENTIFICATION SMTP à l'origine ne prévoit aucune authentification. D'autres protocoles lui ont donc été associés pour palier à ce manque : SMTP-After-POP ou SMTP-Auth. C'est ce dernier qui est le plus utilisé de nos jours. Il H205.online - Avril 2020 permet comme pour POP ou IMAP d'effectuer une authentification par LOGIN/MOT DE PASSE avant d'autoriser la soumission des mails. SSL et son remplaçant TLS sont des protocoles de chiffrement qui vont permettre de chiffrer le transport des messages de bout en bout, y compris la partie authentification (login et mot de passe) .

SSL/TLS est implémenté entre le protocole de transport TCP et les protocoles applicatifs POP ou IMAP. Il va donc permettre le chiffrement de ses deux protocoles. On utilise alors le port 995 pour POPs et StartTLS le port 993 pour IMAPs.

0 SÉCURITÉ DU TRANSPORT 2 0

2 StartTLS est un moyen d'utiliser une connexion l i r

v chiffrée sur les ports classiques (110 et 143) . Si le A

- serveur ne fournit pas de chiffrement, la connexion e n i sera quand même établie. StartTLS est une l n o

. extension de SSL/TLS, pas un protocole à part 5 0

2 entière. H ENTETE FINALE MAIL USER AGENT Notre message est enfin arrivé au bout de son voyage parsemé d'embuches. Chaque service (MTA, MDA, MUA) a ajouté ses éléments à l'entête de notre message, constituant ainsi une véritable feuille de route avec tous les tampons nécessaires à la distribution de message.

Nous pouvons facilement regarder le contenu de cette entête. Quelle que soit le logiciel de messagerie utilisé, il suffit d'ouvrir le mail dans sa version original (ou version source) pour voir apparaître le message en texte brut avec tous ses éléments.

Vous avez maintenant tous les éléments pour comprendre par où est passé votre message et comment il a été construit. Des outils peuvent aussi vous aider à mieux comprendre . Par exemple :

Boîte à outils G Suite H205.online - Avril 2020 FIN DU VOYAGE MAIL USER AGENT Notre message est bien arrivé dans la boite de réception de son destinataire, ou peut-être dans le dossier des spams.

Comme nous avons pu le voir, le voyage de notre mail ne s'est pas fait sans embuches. Tout dépend du serveur de soumission utilisé, du niveau d'exigence du serveur de destination, mais aussi du contenu du mail.

D'autres paramètres comme par exemple, le nombre de destinataire du message, sa taille, sa fréquence d'envoi (si c'est une newsletter) peuvent aussi influencer sa destination finale.

Il existe sur Internet des sites qui permettent de tester la qualité de vos mails et de votre chaine d'envoi, comme par exemple :

M ail-Tester

H205.online - Avril 2020 0 2 0 2 l i r v A

- e n i l n o . 5 0 2 H

PATRICE GOMMERY Coach Networks & Systems [email protected]

H205.ONLINE 0 2 0 2 l i r v IUT DE TROYES A

-

e 29 Rue de Québec n i l n 10000 TROYES o . 5 0 2 H

DÉPARTEMENT MMI MODULE M3204 - AVRIL 2020 B L A C K L I S T MxToolBox UltraTools

LIENS T E S T S E R V E U R M A I L UTLILES Mail-Tester

A N A L Y S E D ' E N T E T E S M A I L Boîte à outils G Suite

H205.online - Avril 2020ing