Tape les commandes sans regarder, puis Entrée. Pour les questions à rédiger et les autres, réponds avant d’ouvrir : c’est l’effort de rappel qui fait retenir.
Rappel actif
Restitue de mémoire, sans support.
Ahmed (
@esprit.tn) écrit à Mohamed (@microsoft.com). Raconte le trajet du message en nommant à chaque étape l’agent (MUA, MTA, MDA, MAA) et le protocole.- Ahmed rédige dans son MUA (Thunderbird).
- Le MUA confie le message au MTA d’esprit.tn en SMTP.
- Le MTA d’esprit.tn demande au DNS l’enregistrement MX de
microsoft.com. - Il transmet en SMTP au MTA de microsoft.com.
- Le MDA dépose le message dans la boîte de Mohamed.
- Mohamed le récupère avec son MUA, via le MAA, en POP3 ou IMAP.
Donne les commandes d’une session SMTP dans l’ordre, et la réponse attendue du serveur après chacune.
Commande Réponse (connexion) 220service prêtEHLO/HELO250MAIL FROM:<...>250 OkRCPT TO:<...>250 Ok(ou550si la boîte n’existe pas)DATA354envoyez le contenu, terminez par<CRLF>.<CRLF>contenu puis .seul sur sa ligne250 Ok: queuedQUIT221 ByeDonne le rôle des quatre fichiers de configuration du cours :
main.cf,10-mail.conf,10-auth.conf,10-master.conf./etc/postfix/main.cf: identité du serveur, domaines acceptés, réseaux autorisés, format des boîtes (home_mailbox)./etc/dovecot/conf.d/10-mail.conf: où et comment Dovecot trouve les mails.10-auth.conf: mécanismes d’authentification.10-master.conf: le socket Unix par lequel Postfix demande à Dovecot de vérifier les identifiants SMTP.
Tape la commande
Écris la commande exacte, puis Entrée pour vérifier.
Ouvre une session SMTP en clair vers
mail.esprit.tn, sur le port réservé aux échanges entre serveurs, avectelnet.telnet mail.esprit.tn 25Tu viens de modifier
/etc/aliases. Reconstruis la base des alias pour que Postfix les prenne en compte.sudo newaliasesPostfix lit une version compilée du fichier (
aliases.db). Sansnewaliases, la modification est ignorée.
Écris-le
Rédige la requête, la configuration ou le code, puis compare avec la réponse.
Écris une session SMTP complète, côté client, qui envoie depuis
user1@esprit.tnàuser2@esprit.tnun message d’objetTestet de corpsBonjour.EHLO client.esprit.tn MAIL FROM:<user1@esprit.tn> RCPT TO:<user2@esprit.tn> DATA Subject: Test Bonjour . QUITLe point seul sur sa ligne termine le message. L’oublier laisse le serveur attendre la suite indéfiniment.
Configure Postfix pour stocker les mails au format Maildir. Fichier et ligne exacte ?
Dans
/etc/postfix/main.cf:home_mailbox = Maildir/Le
/final indique un répertoire (Maildir). Sans lui,Maildirserait un fichier, donc du mbox.Dans
/etc/aliases, fais arriver le courrier de l’utilisateur systèmeuser1à l’adresseahmed@esprit.tn.user1: ahmed@esprit.tnPuis
sudo newaliases.
Distingue
Deux notions proches : dis ce qui les sépare vraiment.
POP3 et IMAP : compare-les pour un utilisateur qui lit ses mails sur son téléphone et son portable. Lequel choisir, et pourquoi l’autre poserait-il problème ?
IMAP : les mails restent sur le serveur et sont synchronisés (dossiers, lu / non lu) sur tous les appareils.
Avec POP3, le premier appareil qui relève télécharge et supprime par défaut les mails du serveur : le second ne les voit jamais. POP3 convient à un seul appareil, avec un accès hors ligne et peu de stockage serveur.
mbox et Maildir : comment chacun stocke-t-il les mails, et pourquoi Maildir n’a-t-il pas besoin de verrou ?
- mbox : un seul fichier par boîte, tous les messages à la suite. Deux processus qui écrivent en même temps le corrompent, il faut un verrou.
- Maildir : un fichier par message, dans
cur/(lus),new/(non lus),tmp/(en cours d’écriture).
Le message est écrit dans
tmp/, puis déplacé dansnew/une fois complet. Personne ne voit jamais un fichier à moitié écrit, et deux livraisons ne touchent jamais le même fichier. D’où : pas de verrou, sauvegarde incrémentale, rapidité avec IMAP.Ports 25, 465 et 587 : qui les utilise, et lequel un client de messagerie doit-il configurer pour envoyer ?
Port Usage 25 serveur vers serveur (MTA vers MTA), en clair ou STARTTLS 465 SMTPS, TLS dès la connexion 587 soumission par les clients, STARTTLS + authentification Un client envoie sur 587 avec authentification. Le cours dit le 465 « déprécié » : c’était vrai un temps, mais la RFC 8314 (2018) le recommande de nouveau pour la soumission en TLS implicite. Les deux se rencontrent aujourd’hui.
STARTTLS et SMTPS (port 465) chiffrent tous deux. Quelle est la différence de déroulement ?
- SMTPS : TLS dès l’ouverture de la connexion (TLS implicite), sur un port dédié.
- STARTTLS : la connexion commence en clair sur le port normal, le serveur annonce
250-STARTTLS, le client envoieSTARTTLS, puis la négociation TLS transforme la connexion existante.
Faiblesse de STARTTLS : un attaquant actif peut retirer l’annonce
STARTTLSde la réponse, et un client mal configuré continue en clair.HELOetEHLO: pourquoi un client moderne envoie-t-ilEHLO?EHLO(Extended HELO) demande au serveur la liste de ses extensions ESMTP. C’est grâce à elle que le client apprend que le serveur proposeSTARTTLS,AUTH PLAIN LOGIN,SIZE…HELOs’identifie sans rien de tout ça.
Explique pourquoi
Le mécanisme derrière la règle.
Pourquoi le serveur SMTP d’Ahmed interroge-t-il le DNS sur l’enregistrement MX et pas sur l’enregistrement A de
microsoft.com?microsoft.comen A donne l’adresse du site web, pas du serveur de mail. Le MX désigne précisément le(s) serveur(s) qui reçoivent le courrier du domaine, avec une priorité. Le web et le mail d’un domaine sont souvent sur des machines différentes.Pourquoi un serveur SMTP qui accepte d’envoyer n’importe quoi pour n’importe qui (relais ouvert) est-il un problème, et comment l’authentification SMTP l’évite-t-elle ?
Un relais ouvert sert aux spammeurs à envoyer des millions de messages sous l’identité et l’IP du serveur : il finit sur les listes noires, et le courrier légitime de l’organisation n’est plus délivré.
L’authentification (
AUTH LOGINsur 587) oblige le client à prouver son identité avant que le serveur accepte de relayer vers un domaine extérieur.Dans l’échange
AUTH LOGIN, le serveur envoie334 VXNlcm5hbWU6. Pourquoi est-ce dangereux sans STARTTLS, alors que le texte semble chiffré ?C’est du Base64, un encodage, pas un chiffrement :
VXNlcm5hbWU6se décode enUsername:sans aucune clé. Le nom et le mot de passe envoyés ensuite sont tout aussi lisibles. Seul le canal TLS (STARTTLS) les protège.
Cas pratique
Choisis et justifie avec les critères du cours.
Le fichier
/var/log/mail.logmontre des centaines d’échecs d’authentification IMAP par minute depuis une même IP. Quel outil, comment fonctionne-t-il, et quel paramètre fixe le seuil ?Fail2ban : il lit en continu les journaux (
/var/log/mail.log), repère les échecs répétés (SMTP, POP3, IMAP) et bannit temporairement l’IP source au niveau du pare-feu. Le seuil d’échecs estmaxretry. C’est une défense contre les attaques par dictionnaire.Pendant un test
telnet,RCPT TO:<inconnu@esprit.tn>renvoie550. Que signifie ce code, et qu’est-ce qui le distingue d’un450?550 : la boîte n’existe pas, échec définitif (5xx). 450 : boîte momentanément inaccessible, échec temporaire (4xx) : le serveur expéditeur réessaiera plus tard. Le premier chiffre dit s’il faut réessayer.
Une université de 40 000 étudiants veut des quotas avancés et du clustering intégré pour sa messagerie. Une PME veut un serveur simple, standard, avec Maildir. Quel MDA/MAA pour chacune ?
- Université : Cyrus IMAP (quotas avancés, clustering, gros volumes). Inconvénient : format de stockage propre, pas de Maildir standard.
- PME : Dovecot (standard moderne, Maildir sans verrou, intégration native avec Postfix).
Trouve l'erreur
Chaque affirmation contient au moins une faute.
« J’ai configuré Thunderbird pour envoyer sur le port 25 du serveur, sans authentification : ça marche, donc c’est bon. »
Le port 25 est réservé aux échanges entre serveurs. Si le serveur accepte de relayer sans authentification, c’est un relais ouvert. Les clients doivent utiliser 587, avec STARTTLS et authentification. Beaucoup de FAI bloquent d’ailleurs le 25 sortant.
« POP3 et IMAP servent à envoyer les mails, SMTP à les recevoir. »
C’est l’inverse : SMTP transfère (client vers serveur, puis serveur vers serveur), POP3 et IMAP permettent à l’utilisateur de récupérer ses mails dans sa boîte.
« Avec STARTTLS on change de port pour passer en chiffré. »
STARTTLS transforme la connexion sur le même port : elle commence en clair, puis passe en TLS. C’est SMTPS (465) qui utilise un port dédié.
Classe
Range chaque élément et explique les cas limites.
Range chaque code de réponse SMTP : succès, attente de données, échec temporaire, échec définitif. 250, 354, 450, 452, 550, 553, 251.
- Succès : 250, 251 (utilisateur non local, le message sera retransmis).
- Attente de données : 354.
- Échec temporaire (4xx, réessayer) : 450, 452.
- Échec définitif (5xx) : 550, 553.
Classe chaque logiciel comme MTA ou MDA/MAA : Postfix, Dovecot, Exim, Cyrus IMAP, OpenSMTPD, Courier IMAP.
- MTA : Postfix, Exim, OpenSMTPD.
- MDA/MAA : Dovecot, Cyrus IMAP, Courier IMAP.
Exchange joue les deux rôles.
Et si...
Prévois la conséquence.
Et si deux mails arrivent en même temps pour la même boîte au format mbox, sans verrouillage ?
Les deux écritures se mélangent dans le même fichier : la boîte est corrompue, des messages sont tronqués ou fusionnés. Avec Maildir, chaque message a son propre fichier, la question ne se pose pas.
Et si on oublie d’envoyer le
.final après le contenu duDATA?Le serveur considère que le message continue : il attend la suite sans rien envoyer, jusqu’au délai d’expiration. Rien n’est mis en file. Tout ce qu’on tape ensuite,
QUITcompris, devient du texte du message.