Configuration antivirus et antispam avec Exim4, ClamAV et SpamAssassin

Notre serveur mails Debian avec Exim4, Dovecot et Squirrelmail fonctionne bien.

Il lui manque encore un antispam et un antivirus pour filtrer les innombrables mails non désirés que l’on reçoit actuellement.

(le logo Exim est de Jennifer Greenley, celui de SpamAssassin est de Christian Rauh)

Je me base sur l’excellent article Antivirus and Antispam setup with Exim4 de Anurag Patel, sur le site www.debian-administration.org

Ces deux articles de Steve Kemp, et le dernier de Justin Koivisto, sont également intéressants :

Cette installation se base sur 4 packages

  • exim4-daemon-heavy : une version d’Exim4 qui possède des possibilités supplémentaires par rapport à exim4-deamon-light, en particulier des Access List.
  • clamav-daemon : Clam Anti-virus
  • sa-exim : ajout la possibilité de faire exécuter un script directement à l’arrivée du mail (SMTP time), comme un anti-virus, une grey-list…
  • spamassassin et spamc : l’anti-spam bien connu

Installons donc Exim Heavy :

# apt-get install exim4-daemon-heavy
Reading package lists... Done
Building dependency tree... Done
The following extra packages will be installed:
 libperl5.8
The following packages will be REMOVED
 exim4-daemon-light
The following NEW packages will be installed
 exim4-daemon-heavy libperl5.8
0 upgraded, 2 newly installed, 1 to remove and 0 not upgraded.
Need to get 994kB of archives.
After unpacking 1315kB of additional disk space will be used.
Do you want to continue [Y/n]?

Il est donc NORMAL que exim4-daemon-light soit désinstallé !

L’antivirus maintenant :

# apt-get install clamav-daemon
Reading package lists... Done
Building dependency tree... Done
The following extra packages will be installed:
 ca-certificates clamav-base clamav-freshclam libclamav2 libcurl3 libgmp3c2
Suggested packages:   daemon clamav-docs
Recommended packages:   clamav
The following NEW packages will be installed
 ca-certificates clamav-base clamav-daemon clamav-freshclam libclamav2 libcurl3 libgmp3c2
0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 10.7MB of archives.
After unpacking 12.7MB of additional disk space will be used.

L’installation me demande :

This package may install new CA (Certificate Authority) certificates when upgrading.

Je répond “oui” pour installer tous les certificats.

Comment va se faire la mise à jour de cet antivus ?
Car comme tout antivirus, il ne sera valable que s’il est tenu à jour.

Please choose the method for virus database updates.
daemon : freshclam is running as a daemon all the time.
You should choose this option if you have a permanent network connection.

Je conserve l’option par défaut qui est de laisser tourner le daemon freshclam qui s’occupera des mises à jour.

Clamav me demande alors quel serveur je veux utiliser pour ces mises à jour :

Please select the closest local mirror site.
- db.fr.clamav.net (France)

Je prend le français, vu que notre serveur se trouve en France.

Notre accès internet est direct, pas de proxy.

Please confirm whether clamd should be notified to reload the database after successful updates. Yes

Je répond oui. Je désire que Clamd prenne immédiatement la nouvelle base de donnée virus dès qu’une nouvelle version est disponible.

L’installation se poursuit.
Quelques messages intéressants :

...
Setting up ca-certificates (20070303)
...
Updating certificates in /etc/ssl/certs....done.
Setting up clamav-base (0.90.1-3etch4)
...
Adding system user `clamav' (UID 106)
...
Adding new group `clamav' (GID 108)
...
Adding new user `clamav' (UID 106) with group `clamav'
...
Not creating home directory `/var/lib/clamav'.
...
Starting ClamAV daemon: clamd Running as user clamav (UID 106, GID 108)

Il faut autoriser Clamav à lire et écrire dans les dossiers d’Exim4.
Exim4 doit extraite les attachements (MIME) dans un dossier temporaire et demander à Clamav de les scanner.

Le userid clamav a été créé lors de l’installation du package clamav.
Pour ajouter clamav dans le groupe debian-exim :

# adduser clamav Debian-exim
Adding user `clamav' to group `Debian-exim' ... Done

On aurait également pu le faire directement en éditant le fichier /etc/group et en ajoutant “clamav” sur la ligne “Debian-exim”

Debian-exim:x:104:clamav

Sa-exim maintenant. D’abord une petite explication sur sa-exim :

l’utilisation de spamAssassin au niveau SMTP avec le MTA Exim v4 SA-Exim permet d’utiliser spamAssassin au niveau SMTP avec l’agent de transport de courriel Exim v4, ce qui offre de nombreuses possibilités dans le traitement des courriels, y compris leur rejet avant d’être acceptés, ainsi que le piégeage de l’envoyeur (p. ex. en le ralentissant par mobilisation de ses ressources).

# apt-get install sa-exim
Reading package lists... Done
Building dependency tree... Done
The following extra packages will be installed:
 spamc
Suggested packages:   spamassassin
The following NEW packages will be installed
 sa-exim spamc
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 155kB of archives.
After unpacking 471kB of additional disk space will be used.
...
Reloading exim4 configuration files: exim4

Reste SpamAssassin, le tueur de Spam comme son nom l’indique :-)

# apt-get install spamassassin spamc
Reading package lists... Done
Building dependency tree... Done
spamc is already the newest version.
The following extra packages will be installed:
 libarchive-tar-perl libdigest-sha1-perl libio-zlib-perl libsocket6-perl
Suggested packages:
 libio-string-perl razor libnet-ident-perl libio-socket-ssl-perl dcc-client pyzor
Recommended packages:
 libmail-spf-query-perl libnet-dns-perl
The following NEW packages will be installed
 libarchive-tar-perl libdigest-sha1-perl libio-zlib-perl libsocket6-perl spamassassin
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 1090kB of archives.
After unpacking 3576kB of additional disk space will be used.
...
SpamAssassin Mail Filter Daemon: disabled, see /etc/default/spamassassin

Par défaut, après l’installation, SpamAssassin n’est pas activé.

Maintenant il faut activer SpamAssassin.

# vi /etc/default/spamassassin
...
# Change to one to enable spamd
ENABLED=1

Il faut également activer sa-exim :

# vi /etc/exim4/sa-exim.conf

Localiser les lignes suivantes :

SAEximRunCond: ${if and {{def:sender_host_address} {!eq {$sender_host_address}{127.0.0.1}} {!eq {$sender_host_address}{::1}}}}
...
#----------------------------------------------------------------------
# Remove or comment out the following line to enable sa-exim
SAEximRunCond: 0

Modifier la ligne en

SAEximRunCond: 1

Il faut configurer le message de rejet dans Exim4.

# vi /etc/exim4/conf.d/acl/40_exim4-config_check_data

A la fin du fichier, juste avant la ligne “accept“, ajoutez les lignes

# Deny viruses.
deny message = Message contains malware or a virus ($malware_name).
log_message = $sender_host_address tried sending $malware_name demime = * malware = *
# accept otherwise accept

Il reste à configurer Exim4 pour qu’il utilise Clamav.

vi /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs

Au début du fichier, ajouter la ligne “av_scanner…”. Je l’ai ajouté ici :

#            MAIN CONFIGURATION SETTINGS
#
# Just for reference and scripts.
# On Debian systems, the main binary is installed as exim4 to avoid
# conflicts with the exim 3 packages.
exim_path = /usr/sbin/exim4
# Macro defining the main configuration directory.
# We do not use absolute paths.
.ifndef CONFDIR CONFDIR = /etc/exim4 .endif
# Didier Misson 20070815
av_scanner = clamd:/var/run/clamav/clamd.ctl ...

Et voilà, il suffit de redémarrer Exim4 :-)

# /etc/init.d/exim4 restart
Stopping MTA for restart: exim4_listener.
Restarting MTA: exim4.

Ca ne fonctionne pas correctement. :-(

Exim4 génère des messages d’erreur dans /var/log/exim4/paniclog
et évidemment les mails n’arrivent pas.

Les messages se retrouvent aussi dans /var/log/exim4/mainlog :

2007-08-15 19:53:29 1ILN3g-0004kU-UL malware acl condition: clamd: ClamAV returned /var/spool/exim4/scan/1ILN3g-0004kU-UL: lstat() failed. ERROR
2007-08-15 19:53:29 1ILN3g-0004kU-UL H=ug-out-1314.google.com [66.249.92.173] F= temporarily rejected after DATA

Je suspecte un problème de permission sur le dossier /var/spool/exim4/scan

Une petite recherche Google (autant commencer par là), et je trouve directement ce lien :

http://edin.no-ip.com/html/?q=anti_virus_configuration

Edison Wong parle effectivement des permissions sur ce dossier.
Je vérifie :

:/var/spool/exim4# ls -l
total 48
drwxr-x--- 2 Debian-exim Debian-exim  4096 2007-06-30 19:34 db
-r-------- 1 Debian-exim Debian-exim   202 2007-07-01 20:32 gnutls-params
drwxr-x--- 2 Debian-exim Debian-exim 24576 2007-08-15 21:50 input
drwxr-x--- 2 Debian-exim Debian-exim 12288 2007-08-15 21:50 msglog
drwxr-x--- 2 Debian-exim Debian-exim  4096 2007-08-15 21:30 scan

Je pense que le owner est correct. En effet j’ai pris soin d’ajouter “clamav” au groupe “Debian-exim“.

Par contre, il est clair que seul “Debian-exim” peut écrire dans ces dossiers !

J’exécute donc la commande :

chmod -Rf g+w /var/spool/exim4

Et maintenant, le dossier est bien accessible en écriture par ClamAV.

Si j’ai bien compris, la commande suivante conseillée par Edison Wong, permet d’avoir tous les fichiers créés dans un des sous-dossiers appartenant au même groupid, càd comme si c’était toujours Debian-exim qui les crée :

chmod -Rf g+s /var/spool/exim4
ls -l
total 48 drwxrws--- 2 Debian-exim Debian-exim  4096 2007-06-30 19:34 db
-r---wS--- 1 Debian-exim Debian-exim   202 2007-07-01 20:32 gnutls-params
drwxrws--- 2 Debian-exim Debian-exim 24576 2007-08-15 22:13 input
drwxrws--- 2 Debian-exim Debian-exim 12288 2007-08-15 22:13 msglog
drwxrws--- 2 Debian-exim Debian-exim  4096 2007-08-15 21:30 scan

Je réessaye.

On progresse… euh… disons que je viens de passer au problème suivant ;-)

Voici les messages d’erreur :

2007-08-15 22:45:30 1ILPk9-0005t1-Uk malware acl condition: clamd: unable to connect to UNIX socket /var/run/clamav/clamd.ctl (No such file or directory)
2007-08-15 22:45:30 1ILPk9-0005t2-VL malware acl condition: clamd: unable to connect to UNIX socket /var/run/clamav/clamd.ctl (No such file or directory)
2007-08-15 22:45:30 1ILPk9-0005t1-Uk H=ug-out-1314.google.com [66.249.92.174] F= temporarily rejected after DATA
2007-08-15 22:45:30 1ILPk9-0005t2-VL H=ug-out-1314.google.com [66.249.92.169] F= temporarily rejected after DATA

Je vérifie donc /var/run/clamav/clamd.ctl.

Pourtant il existe :

:/var/run/clamav# ls -l
total 8
srwxrwxrwx 1 clamav clamav 0 2007-08-15 22:46 clamd.ctl
-rw-rw---- 1 clamav clamav 5 2007-08-15 22:46 clamd.pid
-rw-rw---- 1 clamav clamav 5 2007-08-15 19:00 freshclam.pid

Je cherche sur Google.

Quelqu’un indiquait qu’il n’avait pas de base de données virus, càd que freshclam ne réussissait pas à la mettre à jour via le net.
Je vérifie donc :

# freshclam
ClamAV update process started at Wed Aug 15 23:37:20 2007
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Local version: 0.90.1
Recommended version: 0.91.1
DON'T PANIC!
Read http://www.clamav.net/support/faq
main.inc is up to date (version: 44, sigs: 133163, f-level: 20, builder: sven)
daily.cvd is up to date (version: 3964, sigs: 14108, f-level: 20, builder: arnaud)

Donc, la liste de virus, ça va. C’est à jour.
Mais il existe déjà une nouvelle version de ClamAV.

Le site de ClamAV est assez bien fait et je trouve ceci concernant les mises à jour :

Debian fait effectivement passer la stabilité en premier lieu. De ce fait, les packages ne sont pas toujours très à jour.

Mais un anti-virus ou anti-spam est un cas spécial.
On ne peut pas se permettre d’attendre 1 à 2 ans entre chaque version de Debian, ni même 6 mois si votre serveur est sous Ubuntu, pour mettre à jour un programme anti-virus !

Ces cas ont été prévus par le projet Debian Volatile.

Pour avoir accès aux dernières versions de ces paquets (sans utiliser de backports depuis la version Unstable), il faut ajouter un dépot dans le sources.list.

# vi /etc/apt/sources.list
deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free

Faire la mise à jour :

# apt-get update
...
# apt-get dist-upgrade
Reading package lists... Done
Building dependency tree... Done
Calculating upgrade... Done
The following packages will be upgraded:
 clamav-base clamav-daemon clamav-freshclam libclamav2 tzdata
5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 11.8MB of archives.
After unpacking 1516kB of additional disk space will be used.

J’ai ignoré le message d’avertissement sur la clé du dépot volatile.
Je verrai ça un autre soir.

Maintenant, tout est à jour :

# freshclam
ClamAV update process started at Thu Aug 16 00:01:13 2007
main.inc is up to date (version: 44, sigs: 133163, f-level: 20, builder: sven)
daily.cvd is up to date (version: 3964, sigs: 14108, f-level: 20, builder: arnaud)

Plus de message disant que ClamAV n’est pas à jour. :-)

Je vais réessayer.
Peut-être que la mise à jour a corrigé ce bug, si ça en est un (ce qui n’est pas certain).

Je redémarre Exim, et je m’envoie un mail.

Il passe ! :-)

Mais avec des erreurs : :-(

  • 2007-08-16 00:14:20 1ILR85-0006pi-FR SA: Action: SA didn’t successfully run against message, accepting (time: 3/3 secs | Message-Id: 46C37AB5
  • .7070407@gmail.com). From (host=ug-out-1314.google.com [66.249.92.175]) for didier@libre-pc.be
  • 2007-08-16 00:14:20 1ILR85-0006pi-FR <= didier.misson@gmail.com H=ug-out-1314.google.com [66.249.92.175] P=esmtp S=2297 id=46C37AB5.7070407@g
  • mail.com
  • 2007-08-16 00:14:20 1ILR85-0006pi-FR => didier R=local_user T=maildir_home
  • 2007-08-16 00:14:20 1ILR85-0006pi-FR Completed

Effectivement, dans l’entête du mail dans Thunderbird, je vois des lignes ajoutées (ce qui est normal), mais avec le message suivant :

X-SA-Exim-Scanned : No (on ks12345.kimsufi.com); Unknown failure

Ce problème est donc différent du précédant, qui a donc été réglé par la mise à jour.

Je vois que pourtant ClamAV détecte des virus :

2007-08-16 02:19:00 no IP address found for host node175.48.208.daystar.net (during SMTP connection from [208.48.175.136])
2007-08-16 02:19:02 1ILT4n-0007M5-BB demime acl condition: base64 line contains illegal character
2007-08-16 02:19:02 1ILT4n-0007M5-BB H=(node175.48.208.daystar.net) [208.48.175.136] F=
 rejected after DATA: 208.48 .175.136 tried sending Trojan.Downloader-12905

C’est déjà ça… mais il reste des messages “SA didn’t successfully run against message”.

J’essaye de faire quelques tests.

Edison Wong donne des indications sur la façon de faire des essais.

Je m’envoie un mail depuis Gmail avec la paterne de test dans le corp du mail :

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

et effectivement, ce mail ne m'arrive pas dans ma boite, mais est rejeté par ClamAV. je vois dans /var/log/exim4/mainlog :

2007-08-16 11:26:43 1ILbcp-0006FC-7M H=py-out-1112.google.com [64.233.166.182] F= rejected after DATA: 64.233.166.182 tried sending Eicar-Test-Signature

Je constate que le serveur a renvoyé une réponse sur mon adresse Gmail.com :-)

Mail Delivery Subsystem
 This is an automatically generated Delivery Status Notification
 Delivery to the following recipient failed permanently:     didier@libre-pc.be
Technical details of permanent failure: PERM_FAILURE: SMTP Error (state 16):
550 Message contains malware or a virus (Eicar-Test-Signature).

C’est absolument parfait !
Donc, l’antivirus fonctionne correctement ! :-)

Pour plus de test, on peut s’envoyer des fichiers en attachement.
Pour cela il faut installer les fichiers de test :

# apt-get install clamav-testfiles

Je ferai ce test, mais pour le moment, ce n’est donc pas ClamAV qui pose problème, mais SpamAssassin

On progresse ! ;-)

C’est donc Spamassassin qui ne fonctionne pas.

Je me refais un mail.
Toujours les même erreurs dans le log Exim4 :

2007-08-18 00:08:37 1IM9zh-00032D-Lm SA: Debug: SAEximRunCond expand returned: '1'
2007-08-18 00:08:37 1IM9zh-00032D-Lm SA: Debug: check succeeded, running spamc
2007-08-18 00:08:40 1IM9zh-00032D-Lm SA: Action: SA didn't successfully run against message, accepting (time: 3/3 secs | Message-Id: 46C61C5F .7030005@gmail.com).
From  (host=ug-out-1314.google.com [66.249.92.171]) for didier@libre-pc.be
2007-08-18 00:08:40 1IM9zh-00032D-Lm <= didier.misson@gmail.com H=ug-out-1314.google.com [66.249.92.171] P=esmtp S=2294 id=46C61C5F.7030005@g mail.com
2007-08-18 00:08:40 1IM9zh-00032D-Lm => didier  R=local_user T=maildir_home
2007-08-18 00:08:40 1IM9zh-00032D-Lm Completed

Mais je trouve ceci dans /var/log/syslog :

Aug 18 00:08:37 ks12345 spamc[11671]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#1 of 3): Connection refused
Aug 18 00:08:38 ks12345 spamc[11671]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#2 of 3): Connection refused
Aug 18 00:08:39 ks12345 spamc[11671]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#3 of 3): Connection refused
Aug 18 00:08:40 ks12345 spamc[11671]: connection attempt to spamd aborted after 3 retries

J’essaye de redémarrer SpamAssassin :

# /etc/init.d/spamassassin stop
Stopping SpamAssassin Mail Filter Daemon: No spamd found running; none killed. spamd.
# /etc/init.d/spamassassin start
Starting SpamAssassin Mail Filter Daemon: spamd.
# ps -A|grep spa
12751 ?        00:00:01 spamd
12752 ?        00:00:00 spamd
12753 ?        00:00:00 spamd

Il n’y avait pas de tâche SpamAssassin active ! :-(

On cherche parfois des heures dans des fichiers de configuration… en oubliant de vérifier la base !

Je refais un mail.

Je vois cette fois dans les logs d’Exim4 :

2007-08-18 00:58:00 1IMAlU-0003Mb-LY SA: Debug: SAEximRunCond expand returned: '1'
2007-08-18 00:58:00 1IMAlU-0003Mb-LY SA: Debug: check succeeded, running spamc
2007-08-18 00:58:00 1IMAlU-0003Mb-LY SA: Action: scanned but message isn't spam: score=0.0 required=5.0 (scanned in 0/0 secs | Message-Id: 46 C627F2.4060201@gmail.com).
From  (host=ug-out-1314.google.com [66.249.92.169]) for didier@libre-pc.be
2007-08-18 00:58:00 1IMAlU-0003Mb-LY <= didier.misson@gmail.com H=ug-out-1314.google.com [66.249.92.169] P=esmtp S=2465 id=46C627F2.4060201@g mail.com
2007-08-18 00:58:01 1IMAlU-0003Mb-LY => didier  R=local_user T=maildir_home
2007-08-18 00:58:01 1IMAlU-0003Mb-LY Completed

Et très logiquement, les messages sont maintenant positif dans /var/log/syslog aussi.

Aug 18 00:58:00 ks36586 spamd[12752]: spamd: connection from localhost.localdomain [127.0.0.1] at port 4371
Aug 18 00:58:00 ks36586 spamd[12752]: spamd: setuid to Debian-exim succeeded
Aug 18 00:58:00 ks36586 spamd[12752]: spamd: processing message <46C627F2.4060201@gmail.com> for Debian-exim:104
Aug 18 00:58:00 ks36586 spamd[12752]: spamd: clean message (0.0/5.0) for Debian-exim:104 in 0.2 seconds, 2165 bytes.
Aug 18 00:58:00 ks36586 spamd[12752]: spamd: result: . 0 - scantime=0.2,size=2165,user=Debian-exim,uid=104,required_score=5.0,rhost=localhost .localdomain,raddr=127.0.0.1,rport=4371,mid=<46C627F2.4060201@gmail.com>,autolearn=ham
Aug 18 00:58:00 ks36586 spamd[12751]: prefork: child states: II

Vu que la tâche n’avait pas démarré, je vérifie quand même si elle se trouve bien dans les tâches devant démarrer automatiquement :

# ls -l /etc/rc2.d/*spam*
lrwxrwxrwx 1 root root 22 2007-08-15 19:11 /etc/rc2.d/S19spamassassin -> ../init.d/spamassassin

Le démarrage de SpamAssassin est bien inclu dans les rc2.d à rc5.d.
C’est donc ok de ce côté là. En cas de reboot du serveur, SpamAssassin sera bien en machine.

Bon allez, pour le fun, je me fais un petit Spam !

Je m’envoie un mail avec comme sujet “VIAGRA 4U”
Et dans le message :

Best product : NEW
V I A G R A : $ 5.00

Il est passé… pas bloqué.
Mais SpamAssassin a réagi malgré tout… un peu…

Dans /var/log/syslog :

Aug 18 01:15:04 ks36586 spamd[12752]: spamd: connection from localhost.localdomain [127.0.0.1] at port 1913
Aug 18 01:15:04 ks36586 spamd[12752]: spamd: setuid to Debian-exim succeeded
Aug 18 01:15:04 ks36586 spamd[12752]: spamd: processing message <46C62BEB.9060206@gmail.com> for Debian-exim:104
Aug 18 01:15:04 ks36586 spamd[12752]: spamd: clean message (1.1/5.0) for Debian-exim:104 in 0.1 seconds, 2093 bytes.
Aug 18 01:15:04 ks36586 spamd[12752]: spamd: result: . 1 - AWL,DRUGS_ERECTILE,DRUGS_ERECTILE_OBFU scantime=0.1,size=2093,user=Debian-exim,uid =104,required_score=5.0,rhost=localhost.localdomain,raddr=127.0.0.1,rport=1913,mid=<46C62BEB.9060206@gmail.com>,autolearn=no
Aug 18 01:15:04 ks36586 spamd[12751]: prefork: child states: II

Et dans /var/log/exim4/mainlog :

1IMB20-0003SU-2X SA: Action: scanned but message isn't spam: score=1.1 required=5.0

Pour l’exemple, voici ce que donne un vrai spam :

Le log d’Exim4 :

2007-08-18 01:54:12 1IMBdr-0003hq-Cq SA: Debug: SAEximRunCond expand returned: '1'
2007-08-18 01:54:12 1IMBdr-0003hq-Cq SA: Debug: check succeeded, running spamc
2007-08-18 01:54:12 1IMBdr-0003hq-Cq SA: Action: flagged as Spam but accepted: score=6.7 required=5.0 (scanned in 0/0 secs | Message-Id: 7203 207072.20070817235410@gkssplsjd.shankscape.com).
From  (host=NULL [222.238.214.164]) for didier@libre-pc.com
2007-08-18 01:54:12 1IMBdr-0003hq-Cq <= vogel@gkssplsjd.shankscape.com H=(-1208575648) [222.238.214.164] P=smtp S=4096 id=7203207072.20070817 235410@gkssplsjd.shankscape.com
2007-08-18 01:54:12 1IMBdr-0003hq-Cq => didier  R=local_user T=maildir_home
2007-08-18 01:54:12 1IMBdr-0003hq-Cq Completed

Dans le /var/log/syslog :

Aug 18 01:54:12 ks36586 spamd[12752]: spamd: connection from localhost.localdomain [127.0.0.1] at port 1250
Aug 18 01:54:12 ks36586 spamd[12752]: spamd: setuid to Debian-exim succeeded
Aug 18 01:54:12 ks36586 spamd[12752]: spamd: processing message <7203207072.20070817235410@gkssplsjd.shankscape.com> for Debian-exim:104
Aug 18 01:54:12 ks36586 spamd[12752]: spamd: identified spam (6.7/5.0) for Debian-exim:104 in 0.2 seconds, 3576 bytes.
Aug 18 01:54:12 ks36586 spamd[12752]: spamd: result: Y 6 - DRUGS_ANXIETY,DRUGS_ANXIETY_EREC,DRUGS_DIET,DRUGS_ERECTILE,DRUGS_MANYKINDS,DRUGS_M USCLE,DRUGS_PAIN,DRUG_ED_GENERIC,FROM_DOMAIN_NOVOWEL,HG_HORMONE,HTML_IMAGE_ONLY_20,HTML_MESSAGE,UNPARSEABLE_RELAY
scantime=0.2,size=3576,user =Debian-exim,uid=104,required_score=5.0,rhost=localhost.localdomain,raddr=127.0.0.1,rport=1250,mid=<7203207072.20070817235410@gkssplsjd.shank scape.com>,autolearn=no
Aug 18 01:54:12 ks36586 spamd[12751]: prefork: child states: II

Et le mail est arrivé dans ma boite.

En effet, pour le moment la détection fonctionne, mais rien n’est fait pour mettre automatiquement les spams dans un dossier Spam par exemple.
Mais ils sont flagués comme spam dans l’entête du mail.

Je vois par exemple ceci dans l’entête de ce mail :

X-AntiVirus: Checked by Dr.Web (http://www.drweb.net)
X-SA-Exim-Connect-IP: 222.238.214.164
X-SA-Exim-Mail-From: vogel@gkssplsjd.shankscape.com Subject: The Pharmacy America Trusts
X-Spam-Flag: YES X-Spam-Checker-Version: SpamAssassin 3.1.7-deb (2006-10-05) on      ks12345.kimsufi.com
X-Spam-Level: ****** X-Spam-Status: Yes, score=6.7 required=5.0 tests=DRUGS_ANXIETY,
 DRUGS_ANXIETY_EREC,DRUGS_DIET,DRUGS_ERECTILE,DRUGS_MANYKINDS,
 DRUGS_MUSCLE,DRUGS_PAIN,DRUG_ED_GENERIC,FROM_DOMAIN_NOVOWEL,
 HG_HORMONE,HTML_IMAGE_ONLY_20,HTML_MESSAGE,UNPARSEABLE_RELAY
 autolearn=no version=3.1.7-deb X-SA-Exim-Version: 4.2.1 (built Tue, 09 Jan 2007 17:23:22 +0000)
X-SA-Exim-Scanned: Yes (on ks123456.kimsufi.com)

Remarquez le “X-AntiVirus: Checked by Dr.Web” ;-)
Cette entête n’a rien à voir avec SpamAssassin !

C’est juste une entête piège mise par le virus lui-même, destinée à tromper certains programmes de mails qui penseraient que le mail est sûr puisque déjà scanner… Il n’est en rien ! ;-)

Je me rend compte que le mail est mis dans un dossier “Junk“, même depuis le webmail Squirrelmail.
Mais je pense que c’est Thunderbird qui a déplacé les mails.
Comme il est connecté au serveur en IMAPs, ses actions, telque mettre des spams dans le dossier “Junk”, sont répétées sur le serveur.

Je vérifierai cela demain, directement du Webmail, pour voir si les spams sont dans le dossier “Junk” ou “Inbox”.

On peut penser que cette détection fait double emploie avec celle de Thunderbird…

Oui en partie. Mais ce serait bien de directement déplacer les mails dans ce dossier “Junk“.
Ce serait de toute façon utile si on consulte ses mails depuis le webmail avec un navigateur.

Il est possible de toute façon de configurer Thunderbird pour qu’il se fie aux entêtes de courrier indésirable placés par SpamAssassin. Cela se configure, très logiquement dans la gestion des indésirables :-)

Je viens de le configurer. Je verrai également demain comme il va se comporter. ;-)
L’idéal serait qu’il place directement les spams détectés par SpamAssassin dans le dossier “indésirable”, et qu’il scanne malgré tout les autres. :-)

Voir à ce sujet mon billet du 28 octobre. :-)

Comments are closed.