Installation de Dspam sur Debian Etch
Par M le dimanche 4 février 2007, 11:05 - Technique - Lien permanent
Spamassassin est très connu et très utilisé. Mais sur mon NSLU2 il est très problématique car il met 5 min à filtrer UN mail...
Son principal défaut : Perl, ce qui a pour conséquences :
- Lourd
- Lent
mais sacrément éfficace!
Dspam a l'air d'être un bon remplaçant.
Pour l'installation, il faut :
- Postfix
- un serveur MySQL (pas obligatoire mais plus rapide)
Installation du paquet Dspam
apt-get install dspam libdspam7-drv-mysql
Normallement toutes les bonnes questions sur le serveur MySQL (local ou pas) sont posés.
Configuration de Dspam comme serveur LMTP
Tout d'abord, Dspam n'est pas activé par défaut, il faut l'activer dans ce fichier : /etc/default/dspam en mettant :
START=yes
La configuration de Dspam est disponible dans le fichier /etc/dspam/dspam.conf.
La première chose à faire est d'activer le support MySQL (configuré mais pas utilisé par défaut) :
StorageDriver /usr/lib/dspam/libmysql_drv.so
Ensuite, on donne les préférences sur la façon de marquer un mail comme spam :
Preference "signatureLocation=headers" # 'message' or 'headers'
Preference "showFactors=on" # voir une explication complète de DSPAM dans les headers
Preference "spamAction=deliver" # un spam est delivré dans tous les cas (quarantaine par défaut)
On ajoute la possibilité de reporter les erreurs :
ParseToHeaders on
ChangeModeOnParse on
ChangeUserOnParse full
Puis la configuration du serveur :
ServerMode standard # LTMP server
ServerParameters "--deliver=innocent"
ServerIdent "localhost.localdomain"
ServerPort 10027 # écoute sur le port 10027
DeliveryHost 127.0.0.1 # on distribue vers ce serveur
DeliveryPort 10026 # sur ce port
DeliveryIdent localhost
DeliveryProto SMTP # protocole de distribution
On a donc un serveur qui écoute sur le port 10027 et qui distribue les mails sur le port 10026. Il faut maintenant le coupler à Postfix.
Couplage avec Postfix
Dspam sera utilisé comme un filtre de contenu communiquant en LMTP avec postfix.
Dans etc/postfix/main.cf il faut ajouter ou modifier le content-filter :
content_filter = smtp-dspam:[127.0.0.1]:10027
Ajouter ensuite les 2 lignes suivantes dans /etc/postfix/master.cf :
smtp-dspam unix - - n - 10 lmtp
-o smtp_send_xforward_command=yes
-o disable_mime_output_conversion=yes
-o smtp_generic_maps=
localhost:10026 inet n - n - - smtpd
-o content_filter=
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o smtpd_authorized_xforward_hosts=127.0.0.0/8
La première indique comment communiquer avec le content-filter. La seconde indique à Postfix d'écouter sur le port 10026 pour recevoir les messages passés par Dspam.
Procmail
Il faut modifier le /etc/procmailrc pour detecter les en-têtes ajoutés par Dspam :
MAILDIR=$HOME
:0 ED
* ^X-DSPAM-Result: Spam
$MAILDIR/spam
Tous les spams sont mis dans la boite spam.
Lancement
Normallement, Dspam est prêt à fonctionner, il ne reste plus qu'a relancer Dspam et Postfix.
/etc/init.d/dspam restart
/etc/init.d/postfix restart
Maintenant, il faut entraîner Dspam.
Commentaires
salut
je n'arrive pas a installer corectement Dspam, j'ai pas les meme chemin que vous, je galere trop...
Comment faire une installation "propre" sans se prendre la tete???
Merci
salut
je n'arrive pas a installer correctement Dspam, j'ai pas les meme chemins que vous, je galere trop...
Comment faire une installation "propre" sans se prendre la tete???
Merci
Bonjour,
Très bon tuto mais si on a suivi celui là : "Installer un serveur mail complet avec Postfix / ClamAV / Spamassassin sur une Debian-like" et que l'on veut mettre dspam à la place de spamassassin, comment puis-je mettre un "content_filter = smtp-dspam:[127.0.0.1]:10027" alors que j'ai déjà un "content_filter = smtp-amavis:[127.0.0.1]:10024" ?
merci !
YoCarBo