[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

exim et clamav



Bonjour,

Ce Samedi, un crétin a envoyé des spams sous mon adresse mail. Résultat
plus de 50000 emails réceptionnés entre 1h et 11h du matin. Avec comme
pré-traitement spamassassin, un message est traité en en gros 1s, le rythme
d'arrivée étant de 1,4 messages par secondes, il y a eu 30000 messages dans la
file d'attente d'exim (exim3) à 10h. Cependant, avec un petit filtrage manuel,
la situation a été vite rétablie.
Mais cela n'a été possible que parce que les messages  qui me sont
destinés ne passent  pas par clamav (si c'était le cas, cela augmenterait
considérablement le temps de traitement d'un message et la machine aurait été
complètement écroulée).

Sous exim3, je fais ça simplement: j'utilise exiscan et un wrapper à clamscan
(il regarde si le destinataire est dans une liste, si oui il passe par
clamscan, sinon il passe outre). Je fais d'ailleurs de même avec spamassassin
et une règle du type

spamcheck_director:
  condition = "${if and { {!def:h_X-Spam-Flag:} {!eq {$received_protocol} {spam-scanned}} {!eq {$received_protocol}{l ocal}} {1}{0}}"
  require_files = /var/filtrespam/$local_part
  driver = smartuser
  transport = spamcheck

(spamassassin n'est appelé que si le fichier /var/filtrespam/destinataire existe).

J'ai essayé de faire ça sous exim4 mais visiblement c'est beaucoup plus compliqué (surtout
pour clamav). Vu ce qui vient de m'arriver, c'est essentiel. C'est également essentiel lorsque
l'un des domaines gérés par le serveur est cible de spammeurs utilisant un générateur
d'adresses automatique (emails à user_aleatoire@ledomaine.gere, le nombre étant 
là aussi de l'ordre de 50000).

Quelqu'un sait-il faire ça (n'appeler clamscan et spamassassin que si le destinataire
figure dans des listes données) sous exim4?

Merci de toute idée

François Boisson


Reply to: