Le courriel sous linux avec Postfix. Association LOLITA

Transcription

Le courriel sous linux avec Postfix. Association LOLITA
Le courriel sous linux avec Postfix.
Installez un serveur de courrier sous linux.
Association LOLITA
Logiciels Libres à Tahiti & ses îles.
Présentation de postfix.
Prés entation entièrement réalis ée avec des Log iciels libres .
Jonas FERNANDEZ – SHARK EURL MAKO
http://www.shark.pf - [email protected]
Version 0.9.9.9 rc 5
Organisation de la présentation
Quelques termes techniques, Serveur de courrier,
Préambule sur l'adresse de courriel,
Le courrier sous linux, Postfix, POP3/IMAP
récupérer les messages : catchall ou MX ?
Le courrier. Un travail d'équipe.
Comment ça marche ? (Schema)
Le MDA procmail
Postfix et le filtrage, Postfix après réception du
courrier, Transport, le client final
configuration de votre serveur,Configuration par
webmin, Les fichiers de configuration de base,
Organisation de la présentation ... suite.
Amavisd-new et clamsmtp,
Gestion des codes retour, Exemple 421, Famille de
codes sous Postfix,
Les journaux d'évènements,
Authentification POP ou IMAP, Création des
comptes d'utilisateurs avec le serveur POP/IMAP,
Cerise sur le gâteau : Le webmail, captures d'écran
eGroupware, squirrelmail et horde,
Economies, Comparatif de contenu, Conclusion,
Bibliographie et liens, Assistance et aide en ligne
Questions éventuelles
Quelques termes techniques (*)
- MTA : Mail Transfert Agent (Agent qui récupère les
messages de l'internet et les met à disposition des
utilisateurs).
- MDA : Mail Delivery Agent (Il trie le courrier)
- DNS : Domain Name Serveur (serveur de nom. Grâce à
lui on sait que smtp.mana.pf = 202.3.335.23)
- MX : Mail eXchanger (dans un dns, cela indique que
telle machine est serveur de courrier.)
- FAI/ISP : fournisseur d'accès à internet.
D'autres termes sont expliqués dans la présentation.
(*) La culture s'est comme la confiture, moins on en a, plus on l'étale. Remarquez avec quelle facilité je l'étale !
Serveur de courrier
Les serveurs de courrier sont modulaires.
● Un module va collecter les messages provenant
d'Internet.
● Celui-ci aura des relations étroites avec un autre module
chargé de transporter les messages dans les boîtes aux
lettres de chaque destinataire final.
● Les éventuelles protections antivirus et antispam sont à
mettre au niveau de la partie en relation avec internet.
● Souvent, un seul programme fait tout ce travail, par
exemple MDAEMON fait office de serveur SMTP et
POP3/IMAP, mais en réalité il est également modulaire,
il suffit de regarder son fonctionnement de près pour le
constater.
●
Préambule IMPORTANT sur
l'adresse de courriel
Une adresse email est composée de deux parties :
Un nom d'utilisateur (Le destinataire)
Un nom de domaine (L'endroit où il habite)
Henry Dupont ( utilisateur )
Rue de la liberté ( domaine )
[email protected]
utilisateur@domain
Le serveur SMTP s'occupe des noms de domaine et récupère
tous les messages des gens habitant dans la rue de la liberté.
Les serveurs POP3/IMAP vont remettre le courrier chez
chaque habitant.
Le courrier sous Unix et Linux
Sous U nix etLinux ilestpossible d'utiliserdes
logiciels de courrierélectronique clients ou serveurs.
Ilexiste quelques logiciels serveurs de courrier
électronique dontle plus célèbre estprobablem ent
sendmail,m ais j'aichoiside vous parlerde Postfix
carilestplus légeretplus facile d'installation que
son «ancêtre» etc'estceluique j'utilise.
Qmail,estun autre exem ple de serveursm tp sous
linux.
Présentation
●
●
●
Postfix est entièrement libre.
Il a été écrit entièrement par Wietse Venema
qui travaillait à l'époque, pour IBM.
Postfix peut fonctionner sur PC, sur mac ou
sur toute autre plateforme compatible avec
unix ou linux.
Il n'existe pas de version windows.
Postfix
●
●
●
Postfix est un serveur SMTP. Donc pour faire un
serveur de courrier complet, il lui faut un adjoint
pour le transport des messages chez l'utilisateur
final en POP3 ou en IMAP.
Le protocole SMTP c'est : single mail transfert
protocol. C'est le protocole qui permet d'envoyer
et de récupérer les courriers sur Internet en
fonction du nom de domaine.
Pour sa réception, en fonction du nom
d'utilisateur, nous évoquerons courrier et cyrus.
POP3 / IMAP
Post Office Protocol, POP3, permet de télécharger les
messages depuis un client de messagerie. On peut
aussi accéder à la BAL via un webmail, à condition
qu'un tel logiciel soit installé sur le serveur.
Internet Message Access Protocol : Les messages
restent sur le serveur, peuvent y être rangés et
organisés. Le protocole IMAP permet d'accéder à la
BAL depuis un client de messagerie ou un webmail. On
peut aussi télécharger les courriers.
IMAP est plus récent et permet de faire plus de chose
sur la BAL directement.
Récupérer vos messages
sur Internet
●
●
Il faut que les messages destinés à mon domaine
soient bien interceptés par mon domaine, c'est un
casse-tête, mais il y a deux solutions.
- l'enregistrement MX dans les dns (impossible
lorsqu'on n'a pas d'ip fixe et mana ne le permet pas
pour le moment.)
- l'utilisation d'un logiciel tiers utilisant le catchall
(en Polynésie, n'ayant pas d'IP fixes, nous utilisons
le catchall.)
Le catchall ou le MX ?
●
●
Le catchall consiste à aller chercher tous les messages
de l'entreprise dans une boîte spéciale et globale sur le
serveur POP du FAI. Il y quelques inconvénients : Les
entêtes BCC (Blind carbon copy ) sont illisibles après
traitement. D'où la nécessité d'utiliser un MDA
(procmail) dès la récupération des messages pour bien
distribuer ces messages.
L'enregistrement MX consiste à écrire dans les dns du
FAI une ligne indiquant que notre serveur est « serveur
de courrier » d'un domain précis. C'est plus fiable que le
catchall, mais il faut avoir une ip fixe.
Le courrier un travail d'équipe.
●
●
●
Fetchmail va chercher le courrier, destiné à
son domaine, au bureau de poste.
Il peut le passer au MDA, le facteur,
(procmail) qui le triera, ou bien le délivrer
directement au MTA (postfix) qui le prêtera
un court instant au filtre antiviral et antispam.
Le MTA va ensuite donner le courrier au
transporteur (Courrier ou Cyrus) qui va
l'acheminer dans les boîtes aux lettres de
chacun.
Le tri sélectif
●
●
●
Le MDA qui travaille avec postfix est procmail, son rôle est de
trier les messages en fonction de leurs entêtes ou de leur contenu.
Le programme procmail peut être activé par fetchmail ou par le
MTA (postfix), au choix.
Il est recommandé d'utiliser un programme de filtrage anti-virus et
un autre anti-spam, le mieux étant un qui a le double emploi, dans
ce cas, je recommande amavisd-new. On peut utiliser clamsmtp,
mais seulement pour l'antivirus et à condition d'utiliser l'antivirus
clamav.
Une fois passé tous les filtres, le message est confié au
transporteur.
Fonctionnement global :
●
●
Configuration
En catchall
En MX, le
serveur
communique
directement
avec internet
sans passer
par le FAI. Ce
n'est pas le
cas ici.
Le MDA procmail
●
●
●
●
Il peut être utilisé, par exemple, pour faire des « forward »
de certains courriers
Pour réécrire l'adresse lorsque les entêtes BCC sont
illisibles par POSTFIX. Il analyse l'entête et fait une copie
des messages pour chacun des destinataires cachés.
On peut lui faire effectuer un premier tri du spam, par mots
clés, par exemple : C1ALIS, V1AG_RA. Mais vous serez
vite saturés, laissez ce travail au spécialiste.
( spamassassin)
Postfix et le filtrage
●
●
●
Sur les serveurs que j'ai installés, je fais
filtrer les courriers par spamassassin et
clamav grâce à amavisd-new qui se charge
de faire travailler ensemble ces deux lascars.
Spamassassin, le tueur à gage. Il distribue
les pruneaux aux spams, malheureusement
pas encore aux spammeurs.
clamav bloque les virus, avec une efficacité
redoutable.
Postfix après réception du
courrier
●
●
Dans tout logiciel de message il existe la possibilité de
faire des aliases ou des listes de diffusion.
- Lorsque Henry est parti de la société, il a été
remplacé par Moana. Il faut que Moana reçoive le
courrier destiné à Henry. On crée donc un alias
henry = moana
- Tous les membres de l'équipe technique doivent
recevoir les messages qui lui sont destinés. On crée
donc une liste pour l'adresse [email protected]
tech = moana,raphael,heimana,nadine,marcel
Les aliases sont stockés dans un fichier que postfix va
lire avant de passer le courrier au transport.
Transport
●
●
●
●
courrier ou cyrus ? Fromage ou dessert ?
Courrier est destiné à des structures petites et
moyennes. Donc parfait pour la Polynésie qui
n'héberge pas encore de multinationale.
Cyrus est destiné à de très grosses structures,
mais on peut tout de même l'utiliser pour des petits
comptes.
cyrus sera adapté pour le travail d'un FAI, par
exemple, ou d'un groupe industriel important.
Le client final
●
●
●
Thunderbird, (linux, unix, windows )
Kmail ou Evolution (linux/unix)
Outlook. (que sous windows)
Configuration de votre serveur
●
●
D'habitude, je vous mets quelques diapos d'interface
graphique, ce soir vous n'en aurez qu'une... Mais vous
aurez toujours le choix entre la configuration par :
- L'interface graphique,
- Le mode texte.
Suivant la distribution que vous utiliserez, vous en aurez
pour tous les goûts.
Mon conseil habituel : le fait de travailler en mode texte
est un excellent moyen d'apprendre vite et bien, je le
recommande très chaudement. C'est le meilleur moyen
de comprendre ce que l'on fait ensuite sous
environnement graphique.
Configuration par Webmin
Les fichiers de configuration de
base.
●
●
●
●
Ils sont deux :
- /etc/postfix/main.cf
- /etc/postfix/master.cf
Chacun de ces deux fichiers a un rôle particulier. Le
premier détermine les informations sur le domaine et la
machine, ainsi que les protocoles utilisés. Le second
exécute ce que le premier lui demande.
Les fichiers sont très bien commentés.
Le site www.postfix.org permet de savoir à quoi sert
chaque ligne. Il est particulièrement bien entretenu et il
y a un lien vers une traduction en Français.
amavisd-new
Amavisd-new est un produit très intéressant pour qui veut
sécuriser son serveur de messagerie.
Postfix lui passe le courrier.
Il va soumettre ce courrier à l'antivirus. Il fonctionne avec
CLAMAV, l'antivirus libre, mais également avec des antivirus
« propriétaires », Kaspersky, MacAfee, F-Prot, etc
Il va également soumettre le courrier à spamassassin. S'il
s'agit d'un spam, il peut rajouter une indication dans l'entête
du message. « ***SPAM*** ».
Il commet parfois des erreurs, mais on peut les rectifier et lui
apprendre.
Une fois son travail effectué, il rend le courrier à Postfix.
Clamsmtp
●
●
●
Un module antivirus qui va se greffer sur
postfix. Il fonctionne sur le même principe
que amavisd-new.
Inconvénient : il ne fonctionne qu'avec
clamav.
On ne peut pas forcément le faire démarrer
en tant que service. Ce qui pose problème
lors des rares redémarrages du serveur... Si
on oublie de le lancer, le serveur reste en
erreur.
Gestion des codes de retour
de postfix
●
[jonas@minitux ~]$ telnet smtp.free.fr 25
(Notez smtp sur le port
25)
Trying 212.27.48.4...
Connected to smtp.free.fr (212.27.48.4).
Escape character is '^]'.
554 <unknown[203.185.178.191]>: Client host rejected:
Access denied
500 Error: bad syntax
●
[jonas@minitux ~]$ telnet 10.0.0.3 25
Trying 10.0.0.3...
Connected to 10.0.0.3 (10.0.0.3).
Escape character is '^]'.
220 mailtux.shark.pf ESMTP Postfix
2xx c'est bon signe
Exemple 421
●
●
421 mailtux.shark.pf Error: timeout exceeded
Connection closed by foreign host.
J'ai laissé la connexion inactive un certain
temps et le serveur a fini par la couper. Cela
dit le message 4xx n'est pas rédhibitoire,
cela revient pour lui, à me proposer de
rééssayer plus tard.
Familles de code retour sous
Postfix
●
Sur un serveur smtp, il existe des codes
d'erreurs par famille. Les codes commencent
toujours par une série de 3 chiffres.
●
2xx réussite de la commande.
●
3xx attente d'information complémentaires
●
●
4xx erreur temporaire, rééssayer
ultérieurement. (exemple : Pb de quota)
5xx Définitivement refusé. Rédhibitoire. Il faut
chercher où se trouve l'erreur.
Les journaux d'évènements
●
●
●
●
Les fichiers de journalisation des
évènements sont :
Le fichier syslog /var/log/messages
Les fichiers /var/log/mail, mail.err, mail.warn,
mail.info.
Les fichiers de log d'amavisd-new, et de
clamav. (Là ou vous les aurez mis ! En général
dans /var/log/clamav )
Authentification POP ou IMAP
●
●
On peut utiliser le serveur SMTP sans être
authentifié, sauf si on utilise le mode
sécurisé.
Par contre, pour utiliser le serveur POP il faut
toujours avoir une méthode
d'authentification. Ainsi, il est nécessaire de
créer des comptes d'utilisateurs sous courrier
ou cyrus.
création des comptes utilisateurs
avec le serveur POP/IMAP :
●
●
●
●
Pour l'authentification, on peut utiliser les mots de
passe samba, ldap, passwd ou encore le sasl.
On peut également gérer des quotas avec courrier
et cyrus.
Il est possible de définir si l'on veut utiliser POP3
IMAP ou les deux si l'on a des clients dans l'un et
l'autre cas.
Les logiciels serveurs POP/IMAP pourraient faire
l'objet d'une présentation à eux-seuls.
( Avis à candidature ! )
Cerise sur le gateau : Le webmail
●
●
●
Pourquoi ne pas faire comme les grands et
proposer un service de webmail.
Comme services de webmail, je citerai horde
(utilisés par free.fr), squirrelmail, egroupware,
et il y en a d'autre.
Pré-requis impératif : l'installation du logiciel
APACHE qui sera le serveur web, puis de
PHP4 qui permettra d'exécuter correctement
le programme.
Capture d'écran de eGroupware
(chez un client)
Capture d'écran de squirrelmail
(chez un client)
Capture d'écran de horde
(free.fr)
Economies
●
●
●
●
●
windows 2003 serveur coûte à partir de 750 € pour 5 postes clients seulement.
Plus il y a de licence client plus c'est cher.
Un package suse linux OSS 10 coûte environ 50 € .
Avec ce prix vous avez une belle boîte et de la documentation.
On peut télécharger les images iso des CD gratuitement sans doc ni support.
Novell Suse linux Entreprise coûte environ 300 € avec la documentation, le
support, un an de mises à jour et surtout sans limitation de licence client.
Les distributions fedora ou debian (par exemple) ne coûtent rien et vous avez tou
sauf le support ! (ce qui n'est pas forcément souhaitable en production.)
Ce qui coûtera le plus cher sera le service rendu, mais même pour l'installation
un serveur de messagerie sous système Microsoft il vous sera facturé du service
Comparatif de contenu
●
●
windows 2003 serveur pour le prix que je vous ai indiqué
vous n'avez que le système d'exploitation ! Ajoutez dans le
tarif un serveur exchange et faites vos comptes.
Avec les distributions linux que j'ai citées dans la page
précédente, vous avez l'indispensable et même le superflu
pour commencer à travailler, c'est à dire : serveur et client
samba, serveur et client de messagerie, suite bureautique,
serveur proxy, navigateur, jeux, logiciels de surveillance du
réseau, antivirus, etc.
conclusion
Je vous ai présenté une configuration de serveur de messagerie
sous GNU/Linux. La même machine peut aussi être serveur de
domaine smb sur un réseau de machines hétérogènes. (Mac,
Linux, Unix, windows) et proxy réseau par exemple. Les
économies seraient importantes pour une entreprise ou une
administration. Au niveau de l'état Français, de plus en plus
d'administrations font le choix des logiciels libres.
Les logiciels libres en général sont des éléments
indispensables pour qui ne veut pas devenir ou demeurer le
prisonnier du bon vouloir d'un seul éditeur. C'est autant une
question d'éthique que de technique.
Il est important que les éditeurs jouent le jeu de la libre
concurrence car le choix est un droit.
Bibliographie et liens
●
●
Livres papier :
- Postfix, la référence de Kyle Dent, Ed. O'REILLY
(ne contient que les infos sur postfix, rien sur les autres
éléments du serveur.)
- Monter son serveur de mail sous linux, Ouvrage collectif,
édition Eyrolles.
(Orientation très pragmatique, permet de monter son serveur
soi-même même pour un débutant dans le domaine de la
messagerie.)
Liens internet
- http://www.postfix.org, avec des liens vers des traductions.
Assistance et aide en ligne
La doc est notre amie... (de l'anglais « r.t.f.m.»)
●
Gardez toujours à l'esprit qu'en cas de difficulté,
il y a une commande magique pour vous en sortir
●
# man postfix ou plus généralement
●
# man <nom de l'application qui pose problème>
●
●
N'hésitez pas à taper la même commande dans
un moteur de recherche...
Les forums de discussion sont aussi une source
presque inépuisable d'information.
Questions éventuelles.
Maururu roa.
Le présent support est disponible en téléchargement sur le site
de l'association.
As s ociation Lolita
●
Logiciels Libres à Tahiti et ses îles.