Ceci est une ancienne révision du document !


SMTP protocole

Fiabilité, sécurité

SMTP est un très vieux protocole. C'est le RFC 821 qui en définit les bases, en 1982. A cette date, les connexions étaient rares, peu fiables et le souci premier était d'assurer un transport sans pertes. Depuis, les conditions ont bien changé et la sécurité, qui n'avait pas été prise en compte, devient un souci majeur.

ESMTP a ajouté quelques fonctionnalités importantes, comme le support du codage sur 8 bits, les types MIME et aussi la possibilité de chiffrer la connexion.

Extended SMTP

Aujourd'hui, tous les serveurs SMTP sont en réalité des serveurs ESMTP. Pour le vérifier, utilisons la commande EHLO plutôt que HELO :

$ telnet cyrus.bts.eme 25
Trying 192.168.10.7...
Connected to cyrus.bts.eme.
Escape character is '^]'.
220 cyrus.nain-t.net ESMTP Experimental
HELO machin.nain-t.net
250 cyrus.nain-t.net
quit
221 2.0.0 Bye

Pas grand chose comme informations, si ce n'est que nous disposons d'un serveur ESMTP (et encore, cette information étant dans la bannière, elle n'est pas d'une grande fiabilité).

~$ telnet cyrus.bts.eme 25
Trying 192.168.10.7...
Connected to cyrus.bts.eme.
Escape character is '^]'.
220 cyrus.nain-t.net ESMTP Experimental
EHLO machin.nain-t.net
250-cyrus.nain-t.net
250-PIPELINING
250-SIZE 10240000
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye

La commande EHLO nous permet d'obtenir quelques informations sur la capacité du serveur. Parmi les plus intéressantes, nous constatons que Postfix sait gérer le « 8 bits MIME » (le contraire serait fâcheux, mais ici, nous en avons la confirmation) et accepte la commande starttls.

Chiffrement

les évolutions du protocole SMTP permettent de chiffrer la connexion de deux manières légèrement différentes. SMTPS se contente de passer le dialogue SMTP dans une connexion SSL. L'autre méthode, plus actuelle, consiste à invoquer la commande STARTTLS.

Si la mise en œuvre d'une commande STARTTLS entre un MUA et un serveur SMTP est assez simple, elle devient plus compliquée entre deux serveurs SMTP, du fait que les certificats des serveurs doivent être signés par une racine de confiance acceptée par le partenaire. Aussi, il est rare qu'un chiffrement ait lieu entre deux MTA. Ce qui veut dire que votre message circule en clair sur l'internet.

STARTTLS comme SSL offrent tout de même l'avantage pour le client de masquer son login, lorsqu'il a besoin de le transmettre (accès IMAP, POP3 ou même SMTP si le MTA requiert une authentification du client).