ThierryR Salomon – GNU Free Documentation Licence

Transcription

ThierryR Salomon – GNU Free Documentation Licence
Serveur de courrier électronique
●
Objectif:
●
●
●
Mettre en oeuvre un serveur de courrier électronique
Contenu:
●
Principes, acheminement, protocoles, fonctionnement
●
Mise-en-oeuvre
●
Postfix
●
Configuration
Durée:
●
1/2 journée
Thierry­R Salomon – GNU Free Documentation Licence Principes
●
●
●
●
●
plusieurs standards :
–
SMTP pour l'envoi,
–
POP: pour la récupération par pur transfert des messages
–
IMAP: pour la récupération en permettant de laisser les messages sur le
serveur pour les consulter de n'importe où.
Le MUA de l'expéditeur envoie par SMTP le message à un serveur de
courrier (celui de son fournisseur d'accès en général)
Le premier MTA envoie le message au MTA du destinataire (celui de
son domaine domaine2.org) qui le stocke en attente de consultation.
Le destinataire, par l'intermédiaire de son MUA, demande à son
serveur de courrier les nouveaux messages.
Le serveur envoie le message au MUA du destinataire.
Thierry­R Salomon – GNU Free Documentation Licence Acheminement des courriels
Image sous licence GFDL réalisée
par DenisG (www.denisg.net)
Thierry­R Salomon – GNU Free Documentation Licence Résolution de noms
●
●
Une adresse est du type [email protected]
Pour envoyer un message à cette adresse, le serveur SMTP doit
résoudre le nom pour trouver l'adresse du serveur SMTP du domaine
destinataire
–
requête DNS:
–
retourne les adresses des serveurs de messagerie avec leur priorité:
dig libre-services.fr MX
10 mx1.ocsa-data.net
● 15 mx1.ocsa-data.net
Le serveur expéditeur peut alors contacter le serveur destinataire en
utilisant le protocole SMTP pour lui envoyer le message
●
●
Thierry­R Salomon – GNU Free Documentation Licence protocole SMTP
●
c'est le protocole pour envoyer un message à un MTA
●
port 25
●
simple, il utilise quelques mots clés
●
les messages de réponses sont des codes numériques + texte explicatif:
●
●
●
–
220 le service est prêt
–
250 le transfert d'un courriel est terminé
–
550 boîte aux lettres non trouvée
basé sur l'ASCII, on peut effectuer une session avec telnet
SMTP ne connaît que ASCII US (7 bits), ESMTP (Extended) peut
travailler en mode 8 bits (et donc véhiculer des fichiers binaires).
sécurisable par l'utilisation de chiffrage SSL et de certificats
Thierry­R Salomon – GNU Free Documentation Licence Fonctionnalités des MTA
●
Un MTA peut rejeter un message pour une de ces raisons :
–
●
●
●
serveur non concerné :
●
seuls les membres d'un certain réseau sont autorisés (celui du FAI)
●
les messages sont acceptés seulement pour les destinataires de tel domaine
–
non respect des normes : message ou requête mal-formés
–
expéditeur en liste noire : les serveurs connus comme étant utilisés par les
spammeurs sont répertoriés dans des listes noires
Le rejet d'un message provoque généralement l'envoi d'un email à
l'expéditeur l'informant que le message a été refusé (bounce)
Pour palier les défaillances d'un MTA, on peut utiliser un second. On
définit leur ordre de priorité dans la configuration DNS
Les MTA savent gérer les indisponibilités des serveurs destinataires en
plaçant les messages en file d'attente. Après plusieurs tentatives de
retransmettre le message, le message est rejeté.
Thierry­R Salomon – GNU Free Documentation Licence Session SMTP
$ telnet smtp1.laposte.net smtp
Trying 81.255.54.11...
Connected to smtp1.laposte.net.
Escape character is '^]'.
220 smtp.laposte.net ESMTP Service (7.3.118.3)
ready
HELO ifrance.com
250 smtp.laposte.net
MAIL FROM: <[email protected]>
250 MAIL FROM:<[email protected]> OK
RCPT TO: <[email protected]>
250 RCPT TO:<[email protected]> OK
DATA
354 Start mail input; end with <CRLF>.<CRLF>
salut ça va ?
.
250 <461CECB90195D0A8> Mail accepted
QUIT
Thierry­R Salomon – GNU Free Documentation Licence protocole POP3
●
●
●
C'est le protocole pour récupérer les messages enregistrés par le MTA
dans une boîte aux lettres
Implémenté par un logiciel serveur qui écoute sur le port 110
Le logiciel serveur POP écoute et authentifie les connexions pour livrer
ensuite les messages contenus dans la boîte aux lettres
●
protocole simple, avec quelques commande
●
utilise des messages ASCII comme SMTP
●
POP3S (POP3 over SSL) utilise SSL pour sécuriser la communication
avec le serveur. Utilise le port 995.
Thierry­R Salomon – GNU Free Documentation Licence session POP3
$ telnet pop.ocsa-data.net pop3
Trying 194.36.166.12...
Connected to pop.ocsa-data.net.
Escape character is '^]'.
+OK Server ready.
USER [email protected]
+OK Password required
PASS xxxxxxxx
+OK Logged in.
STAT
+OK 43 1099448
LIST
+OK 43 messages:
1 19535
2 5817
[...]
RETR 11
+OK 1696 octets
Return-path: <[email protected]>
Envelope-to: [email protected]
Received: from [127.0.0.1] (helo=localhost)
by node2-2.ocsa-data.net with esmtp (Exim - FreeBSD Rulez)
id 1HghDv-000Ebf-7u
for <[email protected]>; Wed, 25 Apr 2007 15:07:55
Thierry­R Salomon – GNU Free Documentation Licence Mise-en-Oeuvre
●
●
Démarche:
–
installer un serveur SMTP
–
installer un serveur POP ou IMAP
–
créer les boîtes aux lettres
–
installer et paramétrer les MUA sur les postes clients
Logiciels sur Linux
–
–
Les logiciels de base, les Mail XXX Agents:
●
MUA (User) : mail, Mutt, Kmail, Claws Mail, Thunderbird, Evolution
●
MDA (Delivery): procmail, maildrop
●
MTA (Transport): sendmail, postfix, exim, qmail
●
serveurs POP/IMAP: dovecot, courier, cyrus, ipopd, uw-imapd
Logiciels complémentaires:
●
fetchmail: qui rapatrie le courriel à partir d'un serveur (automatisable)
●
Gestionnaires de listes de diffusion: majordomo, mailman, sympa
Thierry­R Salomon – GNU Free Documentation Licence types de fonctionnement de postfix
●
Site Internet:
–
●
Site Internet utilisant un « smarthost » (machine relais):
–
●
Le courrier est reçu sur cette machine soit directement par SMTP soit
grâce à un utilitaire comme fetchmail. Le courrier sortant est envoyé
grâce au « smarthost ».
Système satellite:
–
●
Le courrier est expédié et reçu directement, en utilisant SMTP.
Aucun courrier n'est reçu localement. Tout le courrier est envoyé au
« smarthost » qui le distribue.
Distribution locale seulement:
–
Le système ne dialogue avec aucun autre serveur interne ou externe. Le
courrier est distribué aux utilisateurs locaux.
Thierry­R Salomon – GNU Free Documentation Licence Tests de dépannage
●
●
●
activité des serveurs
–
ps ax | grep -e master -e qmgr -e pickup
–
netstat -a | grep smtp
–
telnet {nom_du_serveur} smtp
les messages arrivent-ils ?
–
par défaut les BAL sont dans le répertoire /var/spool/mail
–
ATTENTION: il existe d'autres endroits pour stocker les BAL (répertoire
de connexion) et d'autres formats (Maildir, MH)
le courrier en attente
–
●
mailq
journaux
–
/var/log/mail.*
Thierry­R Salomon – GNU Free Documentation Licence Postfix
●
logiciel serveur de messagerie SMTP
●
rapide, simple et sécurisé
●
compatible avec sendmail
●
très populaire
●
●
galaxie de petits programmes spécialisés (master, qmgr, pickup, smtp,
sendmail, etc)
fichiers de configuration dans /etc/postfix:
–
main.cf: fichier principal de configuration
–
master.cf configure le démon master
–
virtual sert à rediriger le courrier
–
alias sert à créer des alias
–
etc.
Thierry­R Salomon – GNU Free Documentation Licence Configuration
●
●
●
●
●
C'est principalement le fichier main.cf qui est concerné
paramètres principaux: myhostname, mydomain, myorigin,
mydestination
Il peut faire référence à des tables de comptes qui peuvent être stockées
dans des fichiers ou des bases de données
postfix peut gérer plusieurs domaines en même temps à laquelle la
machine n'appartient pas: domaines virtuels
On peut stocker ses domaines et comptes virtuels dans des bases de
données, un serveur LDAP, etc.
●
On peut interfacer postfix avec un filtre antispam, antivirus, etc.
●
Pour en savoir plus, http://postfix.traduc.org/
Thierry­R Salomon – GNU Free Documentation Licence