Améliorer le filtre anti spam dans Zimbra

spam

Le filtre antispam inclus dans Zimbra est bon, mais pas excellent. Si vous voulez vraiment réduire fortement la quantité de spam dans vos boîtes aux lettres, voici ce que je recommande de faire :

DSPAM:

Premièrement, il faut activer DSPAM. Il est important de noter que celui à été exclus de l’installation par défaut de Zimbra à partir de la version 4.5.1 car sous les systèmes ayant de grosses quantités de courriel il arrivait fréquemment que Dspam cause des interruptions de services. De mon côté, j’ai activé Dspam à plusieurs de mes clients et je n’ai pas encore eu de problème.

Tout d’abord, sous le compte d’usager Zimbra on va activer DSPAM

$ zmlocalconfig -e amavis_dspam_enabled=TRUE

Prendre note que ça fonctionne seulement depuis la version 5.0.11, avant il fallait aller éditer le fichier/opt/zimbra/conf/amavisd.conf.in (voir ici)

On redémarre le service amavis de Zimbra :

$ zmamavisdctl restart

On vérifie si DSPAM s’est bien activé :

#grep dspam /var/log/zimbra.log

Jul 24 22:55:49 mail amavis[9965]: Found $dspam           at /opt/zimbra/dspam/bin/dspam

Il est possible que sous certaine version le dossier dspam n’est pas les bonnes permissions, on s’en assure avec :

chown zimbra:zimbra /opt/zimbra/dspam -R

Au mieux, on peut aussi changer le score qui est attribué à DSPAM en ajoutant dans le fichier /opt/zimbra/conf/spamassassin/local.cf :

header DSPAM_SPAM X-DSPAM-Result =~ /^Spam$/
describe DSPAM_SPAM Marked as spam by DSPAM
score DSPAM_SPAM 3

header DSPAM_HAM X-DSPAM-Result =~ /^Innocent$/
describe DSPAM_HAM Marked as ham by DSPAM
score DSPAM_HAM -1

On redémarre le service :

$ zmamavisdctl restart

Postgrey

Postgrey est une méthode de type de liste grise.  C’est-à-dire qu’il simule le fait qu’il n’est pas prêt à recevoir du courrier et demande à l’expéditeur de réessayer.  On compte sur le fait que les robots des spammers ne renverront pas le courriel et que les vrais serveurs de courrier le feront (je ne connais pas de serveur de courrier qui ne le fait pas).   Si un message est accepté, l’expéditeur est sauvegardé dans une db et ne sera pas délayé la prochaine fois.

C’est encore aujourd’hui une méthode efficace de contrer les pourriels, mais qui comporte le désavantage qu’un courrier envoyé n’est plus nécessairement instantané.

Si comme moi vous êtes sur CentOS, on peut aller chercher postgrey en ajoutant le rpmforge et après :

#yum install postgrey -y

On le démarre et on s’assure qui démarrera au démarrage du serveur :

#/etc/init.d/postgrey start ; chkconfig postgrey on

On modifie le fichier /opt/zimbra/conf/postfix_recipient_restrictions.cf pour ajouter la ligne « check_policy_service unix:/var/spool/postfix/postgrey/socket »

reject_non_fqdn_recipient
permit_sasl_authenticated
permit_mynetworks
reject_unauth_destination
reject_unlisted_recipient
%%contains VAR:zimbraMtaRestriction reject_invalid_hostname%%
%%contains VAR:zimbraMtaRestriction reject_non_fqdn_hostname%%
%%contains VAR:zimbraMtaRestriction reject_non_fqdn_sender%%
%%contains VAR:zimbraMtaRestriction reject_unknown_client%%
%%contains VAR:zimbraMtaRestriction reject_unknown_hostname%%
%%contains VAR:zimbraMtaRestriction reject_unknown_sender_domain%%
%%explode reject_rbl_client VAR:zimbraMtaRestrictionRBLs%%
%%contains VAR:zimbraMtaRestriction check_policy_service unix:private/policy%%
check_policy_service unix:/var/spool/postfix/postgrey/socket
permit

On redémarre le service et c’est prêt à fonctionner :

$zmamavisdctl restart

RBL

Les rbl sont des listes de spammeurs connus qui sont maintenus à jour pour des communautés ou des entreprises.

J’avais il y a quelque temps effectué des recherches pour trouver les meilleurs et j’en étais arrivé à 3 listes qui me semblaient les plus recommandés :

  • cbl.abuseat.org
  • combined.njabl.org
  • zen.spamhaus.org

Sous l’utilisateur Zimbra, ou les ajoutes avec les commandes :

$zmprov mcf +zimbraMtaRestriction « reject_rbl_client zen.spamhaus.org »

$zmprov mcf +zimbraMtaRestriction « reject_rbl_client combined.njabl.org »

$zmprov mcf +zimbraMtaRestriction « reject_rbl_client zen.spamhaus.org »

Et qu’est-ce qu’on fait à la fin ?  On redémarre le service :

$zmamavisdctl restart

Finalement, je vous recommande de prendre une copie des fichiers modifiés, car lorsque vous mettrez à jour Zimbra les configurations seront perdues.

Conclusion

Bon voilà, le spam devrait être réduit de façon considérable dès le début, car les points 2 et 3 prennent effet immédiatement, par contre DSPAM prend un certain à « s’entrainer » et à devenir efficace.

Avez-vous d’autres recommandations pour réduire les spams avez Zimbra ou tout autre système de courrier ?

  • Share/Bookmark

Leave a Reply