Anda di halaman 1dari 7

Serveur Mail sous Linux

Nicolas Dewaele nico@nicodewaele.info www.nicodewaele.info

Serveur mail sous Linux


I- Prsentation
Avant tout, il faut bien comprendre comment fonctionnent l'envoi et la rception de mails. Pour envoyer un mail on utilise un logiciel qui permet de transporter les messages, on appelle cela un MTA (Mail Transfert Agent). En pratique c'est le protocole SMTP qui s'en charge, les MTA les plus connus tant Sendmail, Postfix sous Unix et Exchange sous Windows). Une fois les messages arrivs destination, le MDA (Mail Delivery Agent) dpose chaque message dans la bonne boite aux lettres. En pratique, c'est les protocoles POP ou IMAP qui s'en chargent. Sous Linux, Procmail est trs utilis, tandis que sous Windows, on utilise plutt Exchange. Ct client, on utilise un logiciel qui permet de consulter sa boite aux lettres, que l'on appelle MUA (Mail User Agent). Les plus connus sont Outlook ou Thunderbird. Pour ce TP, nous avons donc besoin ct serveur d'un MTA (Postfix) et d'un MDA (Qpopper). Il est rare de grer un serveur mail sans solutions de protection contre les spams et les virus, c'est pourquoi nous verrons aussi spamassassin et clamwin.

Dernires modifications le 15/09/06

Page 1

Serveur Mail sous Linux

Nicolas Dewaele nico@nicodewaele.info www.nicodewaele.info

II- MTA : Postfix


Installation :
Postfix va envoyer et recevoir les mails de votre domaine. Pour l'installer, vous pouvez utiliser la commande :
apt-get install postfix

A l'installation il vous est demand :


quel type de configuration vous souhaitez, choisissez site internet. Quel utilisateur doit recevoir les mails du root, choisissez mrim (voir le chapitre alias). Laissez les domaines tels qu'ils vous sont proposs. Pour les mises jour synchronises, choisissez Oui.

Sur les distributions Debian, un MTA appell Exim est dj install, il va donc tre remplac par Postfix.

Configuration
La configuration de ce serveur SMTP se fait au moyen de plusieurs fichiers de configuration. Celui qui nous intresse particulirement est : /etc/postfix/main.cf : Exemple de configuration de main.cf pour l'entreprise MyNetCourse :
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no append_dot_mydomain = no #delay_warning_time = 4h # Nom d'hote de la machine serveur myhostname = srv.mynetcourse.info # Nom du domaine DNS auquel on appartient mydomain = mynetcourse.info # Domaine qui sera affich lors de l'envoi d'un mail myorigin = $mydomain # Domaines qui recevront les mails sans qu'ils sortent du serveur mydestination = $mydomain, localhost.localdomain, localhost # A quelles machines offrir le service SMTP mynetworks = 192.168.0.0/24 mynetworks_style = subnet relayhost = $mynetworks

Dernires modifications le 15/09/06

Page 2

Serveur Mail sous Linux

Nicolas Dewaele nico@nicodewaele.info www.nicodewaele.info

# Fichier contenant les Aliases alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases # Interfaces rseaux utiliser inet_interfaces = all mailbox_command = procmail -a "$EXTENSION" mailbox_size_limit = 0 recipient_delimiter = +

Alias :
Les alias permettent de rediriger les mails d'un utilisateur Linux vers un autre. Par exemple, si toto est le webmestre du site Internet de MyNetCourse, il faut qu'il puisse recevoir la fois les mails adresss toto@mynetcourse.info et webmaster@mynetcourse.info Ces alias se trouvent dans un fichier systme de Linux : /etc/aliases Le fichier est construit avec une liste crite comme ceci : alias: vrai_utilisateur
mailer-daemon: postmaster postmaster: root nobody: root hostmaster: root usenet: root news: root www: root ftp: root abuse: root noc: root security: root root: nico webmaster: toto

Si vous modifiez la liste des alias il vous faut utiliser la commande :


newaliases Cela rgnre la liste des alias sur le serveur Mail.

Tests :
Vous pouvez envoyer un mail en ligne de commandes : D'abord vers votre domaine, puis vers un domaine extrieur :
mail j.dupont@wanadoo.fr -s Test de messagerie Bonjour Dupont, comment vas-tu [entre] . [entre] CC: [entre]
Dernires modifications le 15/09/06 Page 3

Serveur Mail sous Linux

Nicolas Dewaele nico@nicodewaele.info www.nicodewaele.info

Commandes d'administration :
Lister la queue de mails en attente d'envoi : mailq ou postqueue -p Forcer Postfix ressayer d'envoyer les mails en attente d'envoi immdiatement : postqueue -f Supprimer un mail de la queue des mails en attente d'envoi : postsuper -d <n>

III- MDA :
POP3 : Installation et configuration de qpopper
Sous Debian, qpopper ne figure pas dans les paquetages l'installation de base, installez-le par :
apt-get install qpopper

Toute la configuration de Qpopper se trouve dans le fichier /etc/qpopper.conf, ceci dit, sans toucher ce fichier, le serveur est fonctionnel.

IMAP4 : Installation et configuration de uw-imapd


Ce serveur IMAP est aussi installer par la commande :
apt-get install uw-imapd

Ce serveur n'a pas de fichier de configuration.

Tests :
Avec un client de messagerie, testez tous les serveurs : D'abord configurez votre compte par IMAP et voyez si vous recevez bien des messages de vos voisins utilisant le mme serveur. Essayez d'envoyer des messages pour voir si le serveur SMTP fonctionne, enfin testez votre compte POP.

Dernires modifications le 15/09/06

Page 4

Serveur Mail sous Linux

Nicolas Dewaele nico@nicodewaele.info www.nicodewaele.info

V- Anti-spam et anti-virus
Spamassassin :
Ce logiciel va viter que votre serveur mail laisse passer les spams. Pour cela, il va vrifier de faon prcise chaque mail en s'aidant de rgles prtablies.
apt-get install spamassassin spamc

La configuration de ce filtre se trouve dans le fichier /etc/spamassassin/local.cf


# Plus le seuil est faible, plus le filtrage des spams est fin (0 20) required_score 5.0 # Change le sujet des mails suspects rewrite_header subject ***CE MAIL EST UN SPAM*** # Mettre le spam en pice jointe (vite les scripts malicieux) # (0=no, 1=yes, 2=safe) report_safe 1 # Permet d'automatiser le filtrage en fonction des prcdentes # dfinitions de spams et non spams. use_bayes 1 # Permet spamassassin de crer automatiquement une base de donnes pour l'analyse des spams bayes_auto_learn 1 # Logiciels qui compltent les tests de dtection de spams et # doivent tre installs (1). skip_rbl_checks 0 use_razor2 1 use_dcc 1 use_pyzor 1 # Accepter uniquement les langages suivants (2) ok_languages en fr # Accepter uniquement les codes de pays suivants (2) ok_locales en fr

(1) : apt-get install razor dcc-client pyzor (2) : Le plugin doit tre activ : ajouter dans le fichier /etc/mail/spamassassin/init.pre : # Plugin de recherche de Langues loadplugin Mail::SpamAssassin::Plugin::TextCat Activez SpamAssassin en allant dans le fichier /etc/default/spamassassin pour changer ENABLED=0 par ENABLED=1. Redmarrez le filtre par /etc/init.d/spamassassin restart.

Dernires modifications le 15/09/06

Page 5

Serveur Mail sous Linux

Nicolas Dewaele nico@nicodewaele.info www.nicodewaele.info

Anti-virus avec ClamAV :


Pour installer ClamAV, c'est comme toujours :
apt-get update apt-get install clamav

Pendant l'installation, choisir le fonctionnement en dmon et le miroir db.fr.clamav.net (France) Laissez les autres options par dfaut. Vous devriez avoir ceci dans /etc/clamav/clamd.conf
LocalSocket /var/run/clamav/clamd.ctl FixStaleSocket User clamav AllowSupplementaryGroups ScanMail ScanArchive ArchiveMaxRecursion 5 ArchiveMaxFiles 1000 ArchiveMaxFileSize 10M ArchiveMaxCompressionRatio 200 MaxDirectoryRecursion 100 ReadTimeout 0 MaxThreads 12 MaxConnectionQueueLength 30 LogFile /var/log/clamav/clamav.log LogTime LogFileMaxSize 0 PidFile /var/run/clamav/clamd.pid DatabaseDirectory /var/lib/clamav/ SelfCheck 3600 ScanOLE2 ScanRAR ScanPE DetectBrokenExecutables ScanHTML ArchiveBlockMax

Regardez maintenant le fichier /etc/clamav/freshclam.conf qui permet de configurer les mises jour automatiques de l'anti-virus.
DatabaseOwner clamav UpdateLogFile /var/log/clamav/freshclam.log LogFileMaxSize 0 MaxAttempts 5 # Recherche de mises jour (ici 24 fois par jour donc chaque heure) Checks 24 DatabaseMirror db.fr.clamav.net DatabaseMirror database.clamav.net DatabaseDirectory /var/lib/clamav/ NotifyClamd DNSDatabaseInfo current.cvd.clamav.

Dernires modifications le 15/09/06

Page 6

Serveur Mail sous Linux

Nicolas Dewaele nico@nicodewaele.info www.nicodewaele.info

Tests de l'anti-spam :
Vous pouvez vous envoyer un mail normal. Un fois le mail reu, regardez dans l'en-tte du message si le message a bien t filtr. Il devrait y avoir des lignes commenant par X-SPAM. D'autre part, vous pouvez tlcharger un exemple de spam sur mon site en tapant la commande wget http://nicodewaele.info/linux/spam.eml Puis lancez l'antispam en tapant : spamc -c < spam.eml Vous devriez avoir comme rsultat une note suprieure au score requis (5.0) donc le mail est considr comme tant un spam.

Tests de l'anti-virus :
Commencez par mettre jour ClamAV en tapant la commande freshclam Tlchargez ensuite un mail contenant un virus sur mon site : wget http://nicodewaele.info/linux/virus.eml Scannez le mail vrol et vrifiez que ClamAV dtecte bien le Worm.SomeFool.P clamscan virus.eml

Liens externes
Documentations sur Postfix :
http://postfix.traduc.org/index.php http://christian.caleca.free.fr/smtp/

Dernires modifications le 15/09/06

Page 7

Anda mungkin juga menyukai