préparation à la certification LPIC2 version 3.5 en français
Chapitre : Sujet 211 : Services de courrier électronique
Gestion des courrier électronique sous GNU/Linux - Administration des serveurs Postfix, Procmail et Dovecot
Partie 1 : Utilisation des serveurs de messagerie
Sujet 211.1
Introduction au SMTP
Mise en place et administration du MTA Postfix.
Supports créés par Noël Macé sous Licence Creative Commons BY-NC-SA.
1. Linux LPIC2 noelmace.com
Noël Macé
Formateur et Consultant indépendant expert Unix et FOSS
http://www.noelmace.com
Utilisation des serveurs de
messagerie
Services de courrier électronique
Licence Creative Commons
Ce(tte) œuvre est mise à disposition selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
2. Linux LPIC2 noelmace.com
Plan
• Rappel : Fonctionnement
• Simple Mail Transfer Protocol
• Postfix
Configuration de Postfix
• Paramètres essentiels
Journalisation
Postfix et les domaines
• Domaines virtuels
Commandes utiles
• Émulation des commandes sendmail
4. Linux LPIC2 noelmace.com
Simple Mail Transfer Protocol
• Transfert des mails vers les serveur
ports 25, 465 (SSL) et 587 (avec authentification)
• Développé à partir de 1980 en remplacement de FTP Mail et de Mail Protocol (nés
en 1973)
publié en Novembre 1981 (RFC 788)
mis à jour par les RFC 821 (Août 1982) et 5321 (Octobre 2008)
pour plus de détails, voir wikipedia(en)
• Sendmail (distribué avec BSD 4.1c dés 1981) est alors un des premiers MTA à
implémenter ce protocole
devient très rapidement le MTA de référence sur Internet
5. Linux LPIC2 noelmace.com
Postfix
• MTA par défaut de Mac OS X, NetBSD et de nombreuses distributions GNU/Linux (comme Ubuntu)
un MTA de référence : 25 % de parts de marché en 2012
• seconde place derrière Exim (46 %), MTA par défaut de Debian
• devant Sendmail (11%), le MTA historique, encore par défaut pour CentOS, et Microsoft (10%) depuis 2009
• Libre : IBM Public Licence 1.0 (non compatible GPL)
développé dés 1997 par Wietse Venema (également à l'origine de TCP Wrapper)
• au IBM Thomas J. Watson Research Center
première distribution en Décembre 1998
version actuelle (Juin 2013) : 2.10.1
• Documentation officielle en français (grâce à Traduc.org) et en anglais
• Pour une comparaison en détail des différents MTA du marché, voir ce tableau
6. Linux LPIC2 noelmace.com
Configuration de Postfix
• par défaut dans /etc/postfix/
main.cf : paramètres de configuration de Postfix
• Syntaxe semblable aux scripts shell (sans les apostrophes)
- notamment pour les variables ($)
master.cf : configuration du démon master
• définit la manière dont un programme client se connecte à un service,
et quel démon s'exécute lorsqu'un service est demandé
• Doivent (répertoire et fichiers) appartenir à root sans droit d'écriture
pour les autres utilisateurs
7. Linux LPIC2 noelmace.com
Syntaxe des paramètres Postfix
• main.cf a une syntaxe semblable aux scripts shells, à quelques différences notables près
les variables (paramètres) notamment peuvent sembler proche, mais offres quelques spécificités
• Déclaration / affectation
classique
à partir du contenu d'un fichier
à partir du contenu d'une table de correspondance
• paramètres définis dans un fichier séparé à la syntaxe identique
• Ce fichier n'étant pas évalué de manière séquentielle, une variable peu être employée avant sa "déclaration"
Postfix est "paresseux", et ne consulte la valeur d'un paramètre que lorsqu'il est utilisé
mavariable = valeurmavariable = valeur
mavariable = /chemin/du/fichiermavariable = /chemin/du/fichier
mavariable = type:/chemin/du/fichiermavariable = type:/chemin/du/fichier
mavariable = $monautrevarmavariable = $monautrevar
8. Linux LPIC2 noelmace.com
Paramètres essentiels
• domaine des courriels sortants
• domaine à partir duquel les courriels sont reçus
défaut (pour les deux) : $myhostname
• domaines de destination (et leurs sous-domaines) que le système acceptera de relayer
(défaut : $mydestination)
• Indiquer un relais SMTP
ne sera pris en compte qu'en l'absence de mapping correspondant dans la table optionnelle transport
à défaut de valeur, Postfix tentera de transférer le mail au serveur MX du domaine de destination
myorigin = $myhostnamemyorigin = $myhostname
mydestination = $mydomain, localhost.$mydomain, hash:/etc/postfix/moredomainsmydestination = $mydomain, localhost.$mydomain, hash:/etc/postfix/moredomains
myorigin = $mydomainmyorigin = $mydomain
relay_domains = $mydomainrelay_domains = $mydomain
relayhost = mail.myisp.comrelayhost = mail.myisp.com
9. Linux LPIC2 noelmace.com
Journalisation
• via syslog (ou dérivés)
cf /etc/syslog.conf ou /etc/rsyslog.conf
Exemple :
• Rapporter les problèmes de permission/appartenance
• Lister tout les problèmes éventuels
mail.err /dev/console
mail.debug /var/log/maillog
mail.err /dev/console
mail.debug /var/log/maillog
# egrep '(reject|warning|error|fatal|panic):' /var/log/maillog# egrep '(reject|warning|error|fatal|panic):' /var/log/maillog
# postfix check# postfix check
10. Linux LPIC2 noelmace.com
Postfix et les domaines
• Postfix offre plusieurs possibilités concernant un domaine
destination finale
• domaines canoniques
- nom et adresse IP du serveur et parfois le nom du domaine parent
- classe : domaines locaux
• domaines hébergés
- ne sont pas directement associés au nom de la machine
- classe : domaines virtuels
• d'alias
• ou de boites au lettres
serveur MX de secours d'un (ou plusieurs) domaine(s)
• conserve les courriels lorsque le serveur MX principal ne fonctionne pas
• les transfère dès qu'il fonctionne de nouveau
• classe : domaines relayés
relais pour la retransmission des courriels
• classe : domaines par défaut
• Documentation : voir Virtual Readme et Address Class Readme
11. Linux LPIC2 noelmace.com
Domaines virtuels
• spécification des domaines d'alias virtuels
par une liste (séparés par des espaces ou des virgules)
• Table optionnelle faisant correspondre des adresses ou des domaines avec des
adresses locales ou distantes
• via une table de correspondance "hash" (créé via postmap ou postalias)
Exemple de fichier
virtual_alias_maps = hash:/etc/postfix/virtualvirtual_alias_maps = hash:/etc/postfix/virtual
virtual_alias_domains = example.com, autreexample.comvirtual_alias_domains = example.com, autreexample.com
postmaster@example.com peter
info@anotherexample.com gerda
sales@example.com petra
@example.com jim
postmaster@example.com peter
info@anotherexample.com gerda
sales@example.com petra
@example.com jim
12. Linux LPIC2 noelmace.com
Commandes utiles
• Recharger la configuration de Postfix
• création ou mise à jour d'une table de correspondance "hash"
# postfix reload# postfix reload
# postmap fichier# postmap fichier
13. Linux LPIC2 noelmace.com
Émulation des commandes sendmail
• Interface de compatibilité de Postfix pour Sendmail
• afficher la file d'attente des courriels
équivalent à sendmail -bp
• initialiser la DB des alias (paramètre alias_database)
équivalent à sendmail -I
$ sendmail [option ...] [recipient ...]$ sendmail [option ...] [recipient ...]
$ mailq$ mailq
# newaliases# newaliases
14. Linux LPIC2 noelmace.com
Ce qu’on a couvert
• Introduction au protocole SMTP et aux MTA
• Configuration de Postfix
fichiers de configuration
paramètres essentiels
• Gestion de la journalisation des MTA
Weight : 3
Description : Candidates should be able to manage an e-mail server, including the configuration of
e-mail aliases, e-mail quotas and virtual e-mail domains. This objective includes configuring internal e-
mail relays and monitoring e-mail servers.
211.1 Using e-mail servers
15. Linux LPIC2 noelmace.com
Licence
Ce(tte) œuvre (y compris ses illustrations, sauf mention explicite) est mise à disposition selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
Pour voir une copie de cette licence, visitez http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ ou écrivez à :
Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
Vous êtes libre de :
partager — reproduire, distribuer et communiquer cette œuvre
remixer — adapter l’œuvre
Selon les conditions suivantes :
Attribution — Vous devez clairement indiquer que ce document, ou tout document dérivé de celui, est (issu de) l’œuvre
originale de Noël Macé (noelmace.com) (sans suggérer qu'il vous approuve, vous ou votre utilisation de l’œuvre, à moins
d'en demander expressément la permission).
Pas d’Utilisation Commerciale — Vous n’avez pas le droit d’utiliser cette œuvre à des fins commerciales (ie. l'intention
première ou l'objectif d'obtenir un avantage commercial ou une compensation financière privée). Pour obtenir ce droit, une
autorisation explicite de l'auteur est requise.
Partage dans les Mêmes Conditions — Si vous modifiez, transformez ou adaptez cette œuvre, vous n’avez le droit de
distribuer votre création que sous une licence identique ou similaire à celle-ci.
Pour toute demande de collaboration, d'utilisation commerciale ou de publication de ce support ou d'un dérivé de celui-ci sous une
licence incompatible, contacter l'auteur via les contacts indiqués sur le site http://www.noelmace.com. Vous êtes par ailleurs
vivement encouragé (sans obligation légale) à communiquer avec celui-ci si vous réalisez une œuvre dérivée ou toute amélioration
de ce support.