Tutorial serveur de mails (partie 2)

Après avoir monté le serveur proprement dit et vérifié que tout est fonctionnel, on enchaîne avec la partie 2 à savoir la sécurisation du serveur et de ses boîtes aux lettres. Pour ce faire nous allons avoir recours aux technologies Open-Source AntiSpam et Antivirus. Le moteur antispam est Spamassassin et le moteur antivirus est Clamav. Pour chapeauter le travail des 2 robots Amavis sera installé et assurera la communication avec Postfix.
Let’s go:
En premier lieu il convient de télécharger et installer les logiciels nécessaires. On va d’abord installer un nouveau dépôt logiciels à APT:

vim /etc/apt/sources.list
on ajoute cette ligne: deb http://volatile.debian.net/debian-volatile etch/volatile main

Puis

apt-get update
apt-get install -t volatile amavisd-new clamav clamav-daemon spamassassin

On s’attaque maintenant à la partie paramétrage.

Afin qu’Amavis puisse faire appel au scanner de virus Clamav, on ajoute l’utilisateur système Clamav au groupe Amavis:

adduser clamav amavis

Dans la nouvelle version d’Amavis, amavis.conf n’existe plus. Les différents paramétrages sont répartis en plusieurs fichiers au sein de /etc/amavis/conf.d/. Attention lorsque vous manipulez ces fichiers ils sont très susceptibles !!
On va activer la detection de spam et de virus:

vim etc/amavis/conf.d/15-content_filter_mode

on décommente ces lignes pour Clamav (on supprime le # en début de ligne):

@bypass_virus_checks_maps = (
\%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);

On refait la même opération pour ces lignes ci:

@bypass_spam_checks_maps = (
\%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);

On édite le fichier de configuration de Postfix:

vim /etc/postfix/main.cf

et on ajoute sous relayhost = :

content_filter = smtp-amavis:[127.0.0.1]:10024

On édite à présent l’autre fichier de Postfix:

vim /etc/postfix/master.cf

et on ajoute à la fin:

(attention à bien mettre un espace avant chaque -o)

smtp-amavis unix - - y - 2 smtp
-o smtp_data_done_timeout=1200
-o disable_dns_lookups=yes

127.0.0.1:10025 inet n - y - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8

Maintenant on va activer le moteur de Spamassassin qui est inactif par défaut :

vim /etc/default/spamassassin

On change le 0 de la ligne :

# Change to one to enable spamd
“ENABLED=0?

par

# Change to one to enable spamd
“ENABLED=1?

Dernière subtilité, il faut changer le propriétaire du fichier freshclam.log sans quoi le moteur de mise à jour de Clamav ne fonctionnera pas:

chown clamav:amavis /var/log/clamav/freshclam.log

On relance ou démarre tous les services:

/etc/init.d/spamassassin restart
/etc/init.d/clamav-daemon restart
/etc/init.d/amavis restart
/etc/init.d/postfix restart

Voilà cette fois votre serveur est complet et sécurisé.
Si au démarrage des services vous avez des erreurs ou bien dans /var/log/syslog, postez les ici.

4 thoughts on “Tutorial serveur de mails (partie 2)

  1. postfix… T’es pas joueur ! un vrai, il utilise sendmail ! 😀
    En stage de 2è année à l’époque, à la fac où j’étais en Espagne, l’admin arrivait à lire et modifier de la config sendmail après compilation m4 (impressionnant Ôo)

  2. Lol
    Le but ici est de bâtir quelque chose de fonctionnel et de relativement simple et surtout accessible au plus grand monde.
    Pour réaliser les tâches décrites ici sendmail n’apporte rien de plus.

  3. Tiens, tant que j’y pense, un truc intéressant à creuser maintenant que clamav & amavis & spamassassin sont là, c’est de regarder du côté des greylistings, et du sender-id.

    deux pistes pour une partie 3 ? ^^

    En tout cas, tes tutos ont le mérite d’être clairs et détaillés (trop peut être ?)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *