Pour réaliser ceci, vous aurez besoin des logiciels suivants :
Ainsi que l'ensemble des scripts et fichiers que j'ai utilisés pour cette configuration : Fichiers-conf-postfix.tar
Cette documentation a été écrite avec les versions suivantes (du 04/2004) :
Copiez ces fichiers dans /usr/src/ par exemple, vous en aurez besoins par la suite.
Postfix est un serveur smtp performant, simple à configurer et sécurisé. C'est un équivalent à Qmail, mais il est plus facile à mettre en place.
Rappel : si votre distribution contient un paquetage pour postfix, préférez utiliser ce paquetage plutôt que les sources. Certains puristes prétendrons qu'utiliser les sources c'est l'esprit Linux, mais ce sont surtout des problèmes de dépendances non gérées, des choix par forcément simple à faire sur l'utilisation de telle ou telle fonctionnalité du logiciel que l'on désire compiler.
Pour vérifier que votre distribution contient un paquetage pour postfix, il faut utiliser l'outil de gestion de paquetage de celle-ci. Par exemple :
Votre distribution contient aussi presque surement un outil graphique pour obtenir cette information. Pour plus d'information sur ces questions, consulter cette documentation. |
Exécutez les commandes suivantes :
Cette dernière commande va vous demander des informations : donnez les réponses par défaut.
Si vous utilisez Mandrake, tapez simplement :
Postfix est installé et les alias sont créés par défaut dans /etc/postfix/aliases.
Éditer le fichier /etc/postfix/main.cf et modifier les lignes suivantes afin de mettre des paramètres adaptés :
Pour définir des alias, ajouter à la fin du fichier /etc/aliases des lignes de la forme :
nom_alias: destinataire
Exemple :
operateur: root
N'oubliez pas de faire postalias /etc/aliases pour mettre à jour les modifications.
Le script de lancement est fourni par votre distribution.
Lancement : /etc/rc.d/init.d/postfix start
Pour lancer Postfix à chaque démarrage faites :
Quelques commandes d'administration :
Plus d'info : man postfix
SpamAssassin est un filtre anti-spam performant avec des fonctionnalités d'auto-apprentissage.
SpamAssassin a besoin d'un certain nombre de modules Perl (certains sont sans doute déjà installés sur votre machine) que l'on peut récupérer en utilisant la mise à jour par Internet CPAN (résolution des dépendances entre les modules).
Si vous ne disposez pas de la mise à jour par internet, vous pouvez télécharger les modules manuellement sur http://www.cpan.org/ .
Vous pouvez aussi installer SpamAssassin à partir du tarball (Mail-SpamAssassin-2.63.tar.gz) , mais les modules perl devront être installés auparavant.
Ensuite, copiez ce script de démarrage (sans l'extension .txt) [postfix_spamd.txt spamd] (présent dans les sources) dans le répertoire /etc/rc.d/init.d
La configuration se fait dans le fichier /etc/mail/spamassassin/local.cf, ajoutez-y les lignes suivantes :
Avec cette configuration, les messages détectés comme spam (avec un score supérieur à 5) auront leur champ Subject commençant par [***SPAM***] et un tag X-Spam-Level indiquant le score du message.
Pour ne pas filter les messages des personnes que vous savez sûres, vous pouvez constituer une "liste blanche" en ajoutant à la fin de ce fichier (local.cf) des lignes de la forme :
whitelist_from monpote@chezlui.fr
Plus d'infos : perldoc Mail::SpamAssassin::Conf
La commande classique : /etc/rc.d/init.d/spamd start
Pour lancer spamassassin à chaque démarrage :
Anomy Sanitizer est un filtre mail qui corrige les messages défectueux et bloque les pièces jointes suspectes. Il se charge aussi d'appeler l'antivirus.
Copiez le tarball dans /usr/local
La configuration se fait dans le fichier /etc/sanitizer.cfg
Voici un exemple de configuration : [postfix_sanitizer.cfg sanitizer.cfg] à copier dans /etc.
Pour tester si cela fonctionne bien, faites :
Plus d'informations : /usr/local/anomy/sanitizer.html
La technique de filtrage utilisée ici est celle proposée par la documentation de Postfix. Nous aurions pu utiliser maildrop, qui permet de mettre des règles de filtrages différentes pour chaque utilisateur mais la "méthode postfix" est plus simple et plus flexible.
La méthode choisie ici est le filtrage par script, idéale pour les petits et moyens serveurs. Si vous avez besoin de plus de performances, vous pouvez utiliser un filtrage par daemon, avec amavisd-new (http://www.ijs.si/software/amavisd/) .
Voici le script dont a besoin Postfix pour effectuer le filtrage : [postfix_filter.sh.txt filter.sh]
Cette méthode offre aussi la possibilité de filtrer les mails en émission ( cela peut être intéressant si vous ne voulez pas qu'un de vos utilisateurs envoie des spams ou des virus ... )
Copier le script dans /usr/local/anomy/ et ensuite :
ajoutez à la fin de /etc/postfix/master.cf :
Pour prendre en compte les modifications : postfix reload
Plus d'info : postfix-2.0.19/README_FILES/FILTER_README (dans les sources)
ClamAV est un antivirus Unix sous licence GPL basé sur le projet OpenAntivirus.
Exécutez les commandes suivantes :
La configuration du daemon clamd se fait dans le fichier /etc/clamav.conf
Editez-le et supprimez la ligne "Example", enlevez aussi le # devant la ligne ScanMail
Plus d'informations : man clamav.conf
Pour démarrer le daemon, faites :
/etc/rc.d/init.d/clamd start
Et pour le lancer à chaque démarrage :
La mise à jour automatique permet de télécharger les dernières définitions de virus.
Ajoutez la ligne suivante dans /etc/crontab pour télécharger la mise à jour tous les jours à 12h00 :
00 12 * * * root /usr/local/bin/freshclam --quiet -l /var/log/clam-update
Plus d'informations : man freshclam
Voici un patch qui permet d'intégrer ClamAV dans anomy : [postfix_anomy-clamav.patch anomy-clamav.patch]
Copiez le dans /usr/local/anomy/contrib :
Il faut ensuite modifier la configuration dans le fichier /etc/sanitizer.cfg :
Modifier les lignes :
en :
Avec cette configuration, les pièces jointes susceptibles de contenir des virus seront scannées.
Plus d'informations sur les actions et les stratégies de sécurité à mener avec l'antivirus : /usr/local/anomy/sanitizer.html
Les fichiers temporaires utilisés par ce filtrage sont créés dans le répertoire /var/spool/filter. En montant ce répertoire en mémoire vive (grâce à tmpfs), nous gagnons du temps sur les opérations de création/lecture/écriture.
Pour ceci faites :
mount -t tmpfs tmpfs /var/spool/filter/ -o mode=700,gid=filter,uid=filter,noexec
Pour que le montage s'effectue à chaque démarage, ajoutez la ligne suivante dans le fichier /etc/fstab :
tmpfs /var/spool/filter tmpfs mode=700,gid=filter,uid=filter,noexec 0 0
Les fichiers de ce répertoire étant stockés dans la ram, il sont perdus à chaque arrêt de la machine. Pour ne pas recréer les préférences utilisateurs de Spamassassin à chaque démarrage (enregistrées dans ce répertoire) , il faut modifier les paramètre du daemon spamd :
Créez le fichier /etc/sysconfig/spamassassin contenant : SPAMDOPTIONS="-d -m5 -H"
Plus d'informations : man spamd
Faites /etc/rc.d/init.d/spamd restart pour prendre en compte les modifications.
UW-IMAP est le serveur imap/pop3 de l'Université de Washington, plus facile à mettre en place que Courrier-Imap. Il utilise le super daemon xinetd.
Pour bénéficier des fonctionnalités de chiffrement, OpenSSL doit être déjà installé. Vous pouvez modifier ci-dessous les valeurs de SSLINCLUDE, SSLLIB et SSLDIR pour correspondre à votre installation. (les chemins utilisés ici sont ceux d'une RedHat 7.3)
Avec cette configuration, à la fois les connections normales (pop3) et les connecions sécurisées (pop3s) sont possibles.
Ces certificats sont nécessaires à l'authentification SSL.
Plus d'informations : man openssl
UW-IMAP utilise le super-daemon xinetd, qui doit être configuré pour faire appel à ipop3d et imapd.
Vérifiez que les entrées suivantes sont présentes dans /etc/services (si besoin est, ajoutez-les) :
Créez les 4 fichiers suivants dans /etc/xinetd.d (supprimez l'extension .txt) : [postfix_pop3.txt pop3], [postfix_pop3s.txt pop3s], [postfix_imap.txt imap], [postfix_imaps.txt imaps] .
Ajouter ensuite dans le fichier /etc/hosts.allow les lignes (en adaptant à votre réseau) :
Ces deux lignes permettent de définir les permissions d'accès réseaux aux services fournis par xinetd.
Plus d'informations : man hosts.allow
Faites /etc/rc.d/init.d/xinetd restart pour prendre en compte les modifications.
Voila, c'est terminé. Si tout s'est bien passé, votre serveur mail fonctionne.
N'oubliez pas de vérifier que votre firewall et votre service DNS sont bien configurés (notamment l'enregistrement MX de votre nom de domaine, pour que votre serveur smtp soit connu du monde extérieur) .
@ Retour à la rubrique Réseau et sécurité
Copyright © 10/10/2004, Nicolas AGIUS
![]() ![]() |
Ce document est publié sous licence Creative Commons Attribution 2.0 : http://creativecommons.org/licenses/by/2.0/ |