Erreur dans une règle SpamAssassin

Attention, ouverture dans une nouvelle fenêtre. PDFImprimerEnvoyer

Si vous utilisez SpamAssassin, un problème dans la règle FH_DATE_PAST_20XX le rend très agressif : cette règle est activée systématiquement pour tout message daté après le 1er janvier 2010. La dite règle ajoutant (par défaut) 3.18 points au score du message, ce dernier peut être classifié de manière incorrecte en tant que spam.

La meilleure manière de corriger ce problème est de mettre à jour la règle, à l'aide de sa-update. Si vous ne pouvez pas exécuter sa-update, il est conseillé de désactiver la règle FH_DATE_PAST_20XX en lui donnant, dans le fichier local.cf, un score de zéro :

$ cat /etc/mail/spamassassin/local.cf
# Bug Y2K10
score FH_DATE_PAST_20XX 0

Il est vivement conseillé d'examiner ses journaux pour détecter tout message qui aurait été classifié de façon incorrecte.

Voici un bref programme en perl pour vous donner les informations minimales sur ces messages. Le seuil de détection non spam/spam étant (par défaut) à 5, tout message dont le score est supérieur à 8.2 (5 + 3.18 + quelques broutilles) aurait été classifié comme spam même sans l'activation de FH_DATE_PAST_20XX. Nous ne signalons donc que les messages classifiés comme spam dont le score est inférieur à 8.2.

$ cat recherche
chomp;
if (m/SPAM(?:-TAG)?, <(.*)> -> <([^<>,]*)>, Yes, score=(-?[\d\.]+)/) {
printf "De %s pour %s, score %s\n", $1, $2, $3 if $3 < 8.2;
}

Exemple d'exécution du programme :

$ grep -i FH_DATE_PAST_20XX /var/log/maillog | perl -n recherche
De xxx pour yyy, score 6.891
De xxx pour yyy, score 8.014
De xxx pour yyy, score 7.545
De xxx pour yyy, score 5.438
De xxx pour yyy, score 6.764
De xxx pour yyy, score 5.76