L'outil de lutte contre les pourriels (spams) le plus répandu dans le monde du logiciel libre est spamassassin. Son mode de fonctionnement se rapproche de celui du service amavisd-new. Il collecte les résultats obtenus par une collection d'autres outils et les transmet au service amavisd-new qui prend la décision sur le message en fonction du score total obtenu par celui-ci.
Du point de vue système, la mise en oeuvre de
spamassassin est
très simple. Il suffit de s'appuyer sur le paquet Debian/testing qui est très
bien maintenu. Cette situation est d'autant plus intéressante que la
collection des bibliothèques et des outils dépendants de
spamassassin est très volumineuse. La commande
$ apt-cache show spamassassin liste ces
dépendances.
Il faut distinguer 2 niveaux pour la configuration de cet outil.
À l'échelle du système, le répertoire /etc/spamassassin contient les fichiers de
configuration communs à l'ensemble des utilisateurs.
Pour l'utilisateur amavis,
le répertoire .spamassassin situé
sous le répertoire personnel de l'utilisateur contient les fichiers de
configuration dédiés ainsi que les bases de données constituées en cours
d'exécution : liste blanche automatique, jetons de calcul,
etc..
Comme dans les scénarios décrits dans ce document, le système sur
lequel sont installés les outils est un serveur passerelle dédié au
traitement du courrier électronique, tous les paramètres de configuration
seront dans le répertoire général /etc/spamassassin et toutes les bases de données
seront dans le répertoire /var/lib/amavis/.spamassassin.
Le fichier local.cf regroupe les options
principales du service. Voici un exemple de paramètres adaptés à
l'exploitation d'une passerelle de courrier électronique. En plus des
paramètres propres à spamassassin, on y trouve des
éléments de sélection des outils complémentaires.
# cat /etc/spamassassin/local.cf # This is the right place to customize your installation of SpamAssassin. # # See 'perldoc Mail::SpamAssassin::Conf' for details of what can be # tweaked. # # Only a small subset of options are listed below # ########################################################################### dns_available yes whitelist_from root@MailGw whitelist_from amavis@MailGw whitelist_from logcheck@MailGw # Enable the Bayes system use_bayes 1 bayes_auto_expire 0 bayes_learn_to_journal 1 bayes_journal_max_size 0 bayes_path /var/lib/amavis/.spamassassin/bayes use_auto_whitelist 1 # Text to prepend to subject if rewrite_subject is used add_header all Report _REPORT_ # DCC use_dcc 1 dcc_timeout 8 # Razor use_razor2 1 razor_timeout 8 # Pyzor use_pyzor 1 ## Optional Score Increases score DCC_CHECK 4.500 score SPF_FAIL 10.000 score SPF_HELO_FAIL 10.000 score RAZOR2_CHECK 2.500 score RAZOR2_CF_RANGE_51_100 3.500 score BAYES_99 5.300 score BAYES_95 4.500 score BAYES_80 3.500 score BAYES_60 2.500 score BAYES_50 2.000 # p0f header L_P0F_WXP X-Amavis-OS-Fingerprint =~ /^Windows XP/ score L_P0F_WXP 3.5 header L_P0F_W X-Amavis-OS-Fingerprint =~ /^Windows(?! XP)/ score L_P0F_W 1.7 header L_P0F_UNKN X-Amavis-OS-Fingerprint =~ /^UNKNOWN/ score L_P0F_UNKN 0.8 header L_P0F_Unix X-Amavis-OS-Fingerprint =~ /^((Free|Open|Net)BSD|Solaris|HP-UX|Tru64)/ score L_P0F_Unix -1.0
La pondération des champs d'un message électronique est basée sur des jeux de règles prédéfinies. Comme de nouveaux styles de pourriels apparaissent constamment, il est nécessaire de mettre à jour ces règles périodiquement.
Le paquet spamassassin fournit un outil dédié à cette tâche :
sa-update. L'option -D de
debugging affiche les informations intermédiaires du
traitement.
# sa-update -D [31481] dbg: logger: adding facilities: all [31481] dbg: logger: logging level is DBG [31481] dbg: generic: SpamAssassin version 3.1.7 [31481] dbg: config: score set 0 chosen. [31481] dbg: message: ---- MIME PARSER START ---- [31481] dbg: message: main message type: text/plain [31481] dbg: message: parsing normal part [31481] dbg: message: added part, type: text/plain [31481] dbg: message: ---- MIME PARSER END ---- [31481] dbg: dns: is Net::DNS::Resolver available? yes [31481] dbg: dns: Net::DNS version: 0.59 [31481] dbg: generic: sa-update version svn454083 [31481] dbg: generic: using update directory: /var/lib/spamassassin/3.001007 [31481] dbg: diag: perl platform: 5.008008 linux[31481] dbg: diag: module installed: Digest::SHA1, version 2.11 [31481] dbg: diag: module installed: HTML::Parser, version 3.55 [31481] dbg: diag: module installed: MIME::Base64, version 3.07 [31481] dbg: diag: module installed: DB_File, version 1.814 [31481] dbg: diag: module installed: Net::DNS, version 0.59 [31481] dbg: diag: module installed: Net::SMTP, version 2.29 [31481] dbg: diag: module installed: Mail::SPF::Query, version 1.999001 [31481] dbg: diag: module installed: IP::Country::Fast, version 604.001 [31481] dbg: diag: module installed: Razor2::Client::Agent, version 2.81 [31481] dbg: diag: module installed: Net::Ident, version 1.20 [31481] dbg: diag: module installed: IO::Socket::INET6, version 2.51 [31481] dbg: diag: module installed: IO::Socket::SSL, version 1.01 [31481] dbg: diag: module installed: Time::HiRes, version 1.86 [31481] dbg: diag: module installed: DBI, version 1.52 [31481] dbg: diag: module installed: Getopt::Long, version 2.35 [31481] dbg: diag: module installed: LWP::UserAgent, version 2.033 [31481] dbg: diag: module installed: HTTP::Date, version 1.47 [31481] dbg: diag: module installed: Archive::Tar, version 1.30 [31481] dbg: diag: module installed: IO::Zlib, version 1.04 [31481] dbg: gpg: Searching for 'gpg' [31481] dbg: util: current PATH is: /usr/local/sbin:/usr/local/bin:/usr/sbin [31481] dbg: util: executable for gpg was found at /usr/bin/gpg [31481] dbg: gpg: found /usr/bin/gpg
[31481] dbg: gpg: release trusted key id list: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [31481] dbg: channel: attempting channel updates.spamassassin.org [31481] dbg: channel: update directory \ /var/lib/spamassassin/3.001007/updates_spamassassin_org [31481] dbg: channel: channel cf file \ /var/lib/spamassassin/3.001007/updates_spamassassin_org.cf [31481] dbg: channel: channel pre file \ /var/lib/spamassassin/3.001007/updates_spamassassin_org.pre [31481] dbg: channel: metadata version = 473378 [31481] dbg: dns: 7.1.3.updates.spamassassin.org => 473378, parsed as 473378
[31481] dbg: channel: current version is 473378, new version is 473378, \ skipping channel [31481] dbg: diag: updates complete, exiting with code 1
|
Le traitement débute par une vérification de la liste des bibliothèques et outils nécessaires à l'exploitation des jeux de règles de spamassassin. |
|
|
Les transferts de jeux de règles sont signés pour éviter les falsifications. |
|
|
Les champs TXT du serveur de noms de domaines DNS sont utilisés pour véhiculer les informations de version des jeux de règles. Dans l'exemple, la version sur le serveur distant est identique à celle présente localement 473378. Il n'est donc pas nécessaire de télécharger les fichiers de règles de pondération. |
Pour coller au plus près de l'actualité des pourriels, il est utile de compléter les jeux distribués avec le paquet spamassassin avec des règles supplémentaires. Le site SpamAssassin Rules Emporium (SARE) est une référence reconnue de distribution de règles de pondération complémentaires. Ce site fournit les instructions de téléchargement et d'utilisation des jeux de règles complémentaires. Voici un exemple de configuration adapté au contexte d'utilisation des paquets Debian et de l'outil sa-update.
On commence par télécharger la clé de signature des fichiers de règles et on l'insère dans la liste des clés autorisées.
# cd /etc/spamassassin # wget http://daryl.dostech.ca/sa-update/sare/GPG.KEY # sa-update --import GPG.KEY
On créé un fichier de sélection des jeux de règles à intégrer. La liste donnée ci-dessous n'est qu'un exemple. Elle n'est pas exhaustive.
# cd /etc/spamassassin # cat sare-sa-update-channels.txt 70_sare_adult.cf.sare.sa-update.dostech.net 70_sare_bayes_poison_nxm.cf.sare.sa-update.dostech.net 70_sare_stocks.cf.sare.sa-update.dostech.net
On lance ensuite le téléchargement des jeux de règles avec sa-update.
# sa-update -D \ --channelfile /etc/spamassassin/sare-sa-update-channels.txt --gpgkey 856AA88A
Enfin, il ne faut jamais oublier de contrôler l'état de la configuration de spamassassin. La commande ci-dessous ne doit produire aucun résultat. Si ce n'est pas le cas, il faut corriger ou éliminer les règles qui provoqueraient des défauts.
# spamassassin --lint
Il est possible d'automatiser les mises à jour de l'ensemble des jeux
de règles en s'appuyant sur le service cron. Sur un système Debian GNU/Linux, on peut
implanter un script dans le répertoire /etc/cron.daily pour consulter quotidiennement
les dépôts de jeux de règles.
Voici un exemple de shell script Bash extrait de la liste de diffusion du service amavisd-new.
# cat /etc/cron.daily/sare-rules
#!/bin/bash
set -x
sa-update
code1=$?
sa-update \
--channelfile /etc/spamassassin/sare-sa-update-channels.txt --gpgkey 856AA88A
code2=$?
if [[ `expr $code1 + $code2` < 2 ]]; then
spamassassin --lint
code3=$?
if [ $code3 = 0 ]; then
amavisd reload
else
echo "spamassassin failed to lint"
fi
fi
L'option de debugging set -x
permet de recevoir un rapport quotidien par courrier électronique sur l'état
du traitement des jeux de règles.
/etc/cron.daily/sare-rules:
+ sa-update
+ code1=1
+ sa-update \
--channelfile /etc/spamassassin/sare-sa-update-channels.txt --gpgkey 856AA88A
+ code2=0
++ expr 1 + 0
+ [[ 1 < 2 ]]
+ spamassassin --lint
+ code3=0
+ '[' 0 = 0 ']'
+ amavisd reload
Waiting for the process [3904] to terminate
Waiting for the process [3904] to terminate
Daemon [3904] terminated by SIGTERM, waiting for dust to settle...
becoming a new daemon...
Comparé au greffon FuzzyOCR, ImageInfo fait figure de poids léger. Cette caractéristique n'enlève rien à son efficacité. C'est un outil complémentaire qui permet de dégager de la puissance de calcul en repérant les messages spams basés sur des images les plus «faciles» à identifier.
Le code source Perl du greffon et le fichier de configuration correspondant sont téléchargeables à l'adresse ImageInfo Plugin. Les instructions d'installation sont fournies directement dans le code source du greffon.
On place le code source du greffon dans le répertoire des greffons fournis avec le paquet Debian.
# wget http://www.rulesemporium.com/plugins/ImageInfo.pm
--22:19:49-- http://www.rulesemporium.com/plugins/ImageInfo.pm
=> `ImageInfo.pm'
Résolution de www.rulesemporium.com... 38.99.66.94
Connexion vers www.rulesemporium.com|38.99.66.94|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 12 464 (12K) [text/plain]
100%[========================================================>] 12 464 30.11K/s
22:19:50 (30.04 KB/s) - « ImageInfo.pm » sauvegardé [12464/12464]
# mv ImageInfo.pm /usr/share/perl5/Mail/SpamAssassin/Plugin/
On place le fichier de configuration du greffon dans le répertoire de
configuration global de spamassassin et on
insère la syntaxe d'appel au greffon dans le fichier de chargement
init.pre.
# wget http://www.rulesemporium.com/plugins/imageinfo.cf
--22:24:55-- http://www.rulesemporium.com/plugins/imageinfo.cf
=> `imageinfo.cf'
Résolution de www.rulesemporium.com... 38.99.66.94
Connexion vers www.rulesemporium.com|38.99.66.94|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 4 671 (4.6K) [text/plain]
100%[========================================================>] 4 671 30.23K/s
22:24:56 (30.15 KB/s) - « imageinfo.cf » sauvegardé [4671/4671]
# mv imageinfo.cf /etc/spamassassin/
# echo \
> loadplugin Mail::SpamAssassin::Plugin::ImageInfo >>/etc/spamassassin/init.pre
Bien entendu, il ne faut oublier de valider la configuration de spamassassin et de relancer le service amavisd-new pour bénéficier de la nouvelle configuration.
# spamassassin --lint # amavisd reload Waiting for the process [3881] to terminate Daemon [3881] terminated by SIGTERM, waiting for dust to settle... becoming a new daemon...
Comme spécifié dans le fichier de configuration
imageinfo.cf, les scores introduits par le greffon
débutent par la chaîne de caractères "DC_". Pour valider le fonctionnement du
greffon, il suffit de rechercher cette chaîne dans les journaux du service
amavisd-new. Il ne faut pas attendre bien
longtemps pour obtenir des correspondances positives.
# tail -500 /var/log/syslog |grep DC_ Nov 13 22:16:03 MailGw amavis[17884]: (17884-09) SPAM, \ <xxxxxx@xxxxx.ru> -> <xxxx@xxxxxxxxx>, Yes, score=18.682 tag=-999 \ tag2=6.31 kill=6.31 tests=[BAYES_60=2.5, DC_IMG_HTML_RATIO=1, \ DC_IMG_TEXT_RATIO=1, DRUGS_STOCK_MIMEOLE=2, HTML_40_50=0.496, \ HTML_IMAGE_ONLY_12=1.867, HTML_MESSAGE=0.001, MID_14DIGITS_HEX=2.8, \ MIME_HTML_ONLY=0.001, MY_CID_AND_STYLE=0.71, RCVD_IN_XBL=3.897, \ SARE_GIF_ATTACH=0.75, SARE_GIF_STOX=1.66, SPF_HELO_PASS=-0.001, \ UNPARSEABLE_RELAY=0.001], autolearn=spam, quarantine l33i6G+YsbJ2 (spam-quarantine)
La tendance de la rentrée 2006, c'est l'explosion des pourriels contenant des images animées de type GIF, PNG ou JPEG. Ces images contiennent le plus souvent des publicités ou des offres de cotations boursières pour le moins douteuses.
Le FuzzyOcr Plugin est une arme assez efficace pour lutter contre les pourriels contenant des images. Il se base sur la reconnaissance optique de caractères pour rechercher des mots clés dans ces images. Ce greffon possède aussi quelques optimisations pour le traitement des fichiers images volontairement corrompus.
Le fonctionnement de base du greffon, tel qu'il est décrit sur la page web de présentation recouvre les étapes suivantes :
Recherche les images dans les différentes parties du message,
Chaque image est analysée pour identifié sont format (GIF, PNG, JPEG),
Suivant le format d'image détecté, différents outils sont appelés pour convertir l'image au format PNM,
Le programme de reconnaissance optique de caractères gocr est appelé pour extraire le texte du fichier PNM,
Les chaînes de caractères obtenues sont scrutées à la recherche de mots prédéfinis, les scores sont calculés et les résultats sont transmis à spamassassin.
Sur le principe, cet outil est très intéressant. Il faut cependant considérer le fait que c'est un développement relativement récent qui mériterait un peu plus de travail pour être vraiment fiable.
Compte tenu de la nature des outils mis en oeuvre par le greffon, la charge processeur augmente sensiblement relativement avec la recherche de chaînes de caractères dans les images. Si la passerelle utilisée est limitée en puissance de calcul ou si le volume de courrier électronique à traiter est très important, les risques d'échecs d'analyse d'images dans les messages sont réels.
À titre d'exemple, en 2 mois d'exploitation sur une passerelle basée sur un PC avec un processeur PIII 500MHz et 384Mo de RAM, le greffon a échoué 53 fois pour environ 7400 messages traités et environ 3800 spams détectés.
Dans le même temps, sur une passerelle basée sur un serveur lame avec 2 processeurs Xeon MP 3GHz 32bits et 2Go de RAM, le greffon n'a jamais échoué pour environ 850000 messages traités et environ 450000 spams détectés.
On peut donc conclure que FuzzyOcr Plugin est un outil exploitable et efficace dans un contexte professionnel avec une bonne réserve de puissance de calcul.
Malheureusement, on ne dispose pas de paquet Debian/testing. Il faut donc passer par une installation manuelle en s'appuyant sur les paquets des outils utilisés par le greffon.
On commence par télécharger le code du greffon et placer les sources dans l'arborescence du serveur passerelle de courrier électronique :
$ wget http://users.own-hero.net/~decoder/fuzzyocr/fuzzyocr-latest.tar.gz $ scp fuzzyocr-latest.tar.gz phil@passerelle:~ $ ssh phil@passerelle $ su # mv fuzzyocr-latest.tar.gz /usr/local/src/ # cd /usr/local/src/ # tar xf fuzzyocr-latest.tar.gz # chown -R root.src FuzzyOcr-2.3b
La première section du fichier INSTALL donne la
liste des dépendances du greffon. Une fois tous les outils installés on doit
obtenir les informations sur la liste de paquets suivante :
$ dpkg -l spamassassin netpbm imagemagick libungif4g libungif-bin gocr \ > libjpeg-progs libstring-approx-perl Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder | État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé |/ Err?=(aucune)/H=à garder/besoin Réinstallation/X=les deux (État,Err: maj=mauvais) ||/ Nom Version Description +++-=====================-==================-========================================== ii gocr 0.41-1 A command line OCR ii imagemagick 6.2.4.5.dfsg1-0.11 Image manipulation programs ii libjpeg-progs 6b-13 Programs for manipulating JPEG files ii libstring-approx-perl 3.25-1 Perl extension for approximate matching ii libungif-bin 4.1.4-4 programs to convert GIF images ii libungif4g 4.1.4-4 shared library for GIF images ii netpbm 10.0-10.1 Graphics conversion tools ii spamassassin 3.1.7-1 Perl-based spam filter using text analysis
Pour cette partie, on ne suit pas les recommandations du fichier
INSTALL. En effet, la configuration par défaut du
greffon prévoit d'utiliser le répertoire /etc/mail/spamassassin qui n'existe pas sur un
système Debian. De plus, il n'est pas souhaitable de mélanger du code et des
éléments de configuration dans le répertoire /etc/.
Pour l'installation du code du greffon, la commande
# dpkg -L spamassassin |grep Plugin/
permet d'identifier le répertoire de dépôt des autres greffons utilisés par
spamassassin : /usr/share/perl5/Mail/SpamAssassin/Plugin/. On
copie donc le code dans ce répertoire.
/usr/local/src/FuzzyOcr-2.3b# cp FuzzyOcr.pm /usr/share/perl5/Mail/SpamAssassin/Plugin/
Pour le fichier de configuration, il suffit de copier les fichiers suivant dans le répertoire général de configuration de spamassassin.
/usr/local/src/FuzzyOcr-2.3b# cp FuzzyOcr.cf /etc/spamassassin/ /usr/local/src/FuzzyOcr-2.3b# cp FuzzyOcr.words.sample /etc/spamassassin/FuzzyOcr.words
Plusieurs fichiers de configuration doivent être édités pour s'adapter au contexte de configuration.
On doit indiquer le nouveau greffon dans la liste parcourue par
spamassassin en ajoutant une ligne à la fin du fichier
v310.pre.
/etc/spamassassin# echo \ loadplugin FuzzyOcr /usr/share/perl5/Mail/SpamAssassin/Plugin/FuzzyOcr.pm >> v310.pre
On doit éditer le fichier FuzzyOcr.cf pour
l'adapter au contexte.
Commenter le chargement du greffon déjà donné dans le fichier
v310.pre.
Désigner un fichier spécifique pour la journalisation et augmenter le niveau de verbosité des messages du greffon pour valider le fonctionnement des outils.
Modifier le chemin d'accès au fichier contenant la liste des mots
clés recherchés : FuzzyOcr.words.
Augmenter le score au delà duquel le greffon n'est plus appelé. Ce paramétrage n'a de sens que pendant la phase de tests.
Voici un patch entre la configuration de la passerelle et la version distribuée.
# diff -uBb /usr/local/src/FuzzyOcr-2.3b/FuzzyOcr.cf FuzzyOcr.cf --- /usr/local/src/FuzzyOcr-2.3b/FuzzyOcr.cf 2006-08-25 22:56:00.000000000 +0200 +++ FuzzyOcr.cf 2006-09-10 23:23:39.000000000 +0200 @@ -1,4 +1,4 @@ -loadplugin FuzzyOcr FuzzyOcr.pm +#loadplugin FuzzyOcr FuzzyOcr.pm body FUZZY_OCR eval:fuzzyocr_check() describe FUZZY_OCR Mail contains an image with common spam text inside body FUZZY_OCR_WRONG_CTYPE eval:dummy_check() @@ -14,15 +14,15 @@ #### Logging options ##### # Verbosity level (see manual) Attention: Don't set to 0, but to 0.0 for quiet # operation. -#focr_verbose 1 +focr_verbose 4 # # Logfile (make sure it is writable by the plugin) -focr_logfile /etc/mail/spamassassin/FuzzyOcr.log +focr_logfile /var/log/fuzzyocr.log ########################## ##### Wordlists ##### # Here we defined the words to scan for -focr_global_wordlist /etc/mail/spamassassin/FuzzyOcr.words +focr_global_wordlist /etc/spamassassin/FuzzyOcr.words # # This is the path RELATIVE to the respektive home directory for the personalized list # This list is merged with the global word list on execution @@ -90,6 +90,7 @@ # # This is used to disable the OCR engine if the message has already more points # than this value (Default value: 10) #focr_autodisable_score 10 +#focr_autodisable_score 50 # # Number of minimum matches before the rule scores (Default value: 2) #focr_counts_required 2
Enfin, il faut implanter la configuration nécessaire à la journalisation.
# touch /var/log/fuzzyocr.log # chown amavis.amavis /var/log/fuzzyocr.log
Pour limiter l'occupation disque de la journalisation du greffon tout en conservant un historique à 90 jours, on créé un fichier de configuration pour le service logrotate.
# cat /etc/logrotate.d/fuzzyocr
/var/log/fuzzyocr.log {
rotate 90
daily
compress
delaycompress
create 644 amavis amavis
}
Avant toute manipulation, il faut s'assurer du bon fonctionnement de
spamassassin. Les deux commandes
# spamassassin --lint et
# su - amavis -- spamassassin --lint
ne doivent produire aucun affichage. Si ce n'est pas le cas, il faut revoir
la configuration de spamassassin avant de tester
le fonctionnement du greffon.
On utilise ensuite les échantillons de pourriels fournis avec les sources du greffon et on analyse les résultats produits.
# spamassassin -t /usr/local/src/FuzzyOcr-2.3b/samples/animated-gif.eml
<snipped>
20 FUZZY_OCR BODY: Mail contains an image with common spam text inside
Words found:
"alert" in 4 lines
"charts" in 1 lines
"symbol" in 1 lines
"alert" in 4 lines
"stock" in 2 lines
"company" in 3 lines
"trade" in 1 lines
"meridia" in 1 lines
"growth" in 1 lines
(18 word occurrences found)
# spamassassin -t /usr/local/src/FuzzyOcr-2.3b/samples/corrupted-gif.eml
<snipped>
1.5 FUZZY_OCR_WRONG_CTYPE BODY: Mail contains an image with wrong
content-type set
Image has format "GIF" but content-type is
"image/jpeg"
2.5 FUZZY_OCR_CORRUPT_IMG BODY: Mail contains a corrupted image
Corrupt image: GIF-LIB error: Image is
defective, decoding aborted.
14 FUZZY_OCR BODY: Mail contains an image with common spam text inside
Words found:
"alert" in 1 lines
"alert" in 1 lines
"stock" in 2 lines
"investor" in 1 lines
"company" in 1 lines
"price" in 2 lines
"trade" in 1 lines
"target" in 1 lines
"service" in 1 lines
"recommendation" in 1 lines
(12 word occurrences found)
# spamassassin -t /usr/local/src/FuzzyOcr-2.3b/samples/jpeg.eml
<snipped>
6.0 FUZZY_OCR BODY: Mail contains an image with common spam text inside
Words found:
"viagra" in 2 lines
"cialis" in 1 lines
"levitra" in 1 lines
(4 word occurrences found)
On constate que les rapports sur les trois échantillons testés montrent que des mots clés ont été détectés dans les images et que les scores ont été augmentés en conséquence.
Il ne reste plus qu'à valider la solution en exploitation réelle ! Sans attendre, on obtient un échantillon qui montre que la reconnaissance optique de caractère à ajouté 18 points au score.
Extrait du journal système produit par le service amavisd-new :
Sep 10 18:08:57 MailGw amavis[13387]: (13387-04) SPAM, \ <lwrceuqp@demax.sk> -> <xxxxxxxxxxxxx@xxx.xxx-xxxx.fr>, Yes, \ score=27.449 tag=-999 tag2=6.31 kill=6.31 tests=[BAYES_50=2.5, \ DATE_IN_FUTURE_03_06=1.961, EXTRA_MPART_TYPE=1.091, FUZZY_OCR=18.000, \ HTML_MESSAGE=0.001, RCVD_IN_XBL=3.897, SPF_PASS=-0.001], \ autolearn=spam, quarantine lkwO3NF5SAMT (spam-quarantine)
Extrait du journal produit par le greffon pour le même message :
[2006-09-10 18:08:57] Debug mode: Message is spam (score 18)...
[2006-09-10 18:08:57] Debug mode: Words found:
"charts" in 1 lines
"symbol" in 1 lines
"stock" in 2 lines
"international" in 3 lines
"company" in 2 lines
"million" in 1 lines
"buy" in 1 lines
"trade" in 3 lines
"target" in 1 lines
"meridia" in 1 lines
(16 word occurrences found)
Extrait du journal produit par le greffon lors d'un echec de traitement. Bien que les outils associés, jpegtopnm en l'occurrence, soient correctement installés et configurés, le fichier temporaire créé par le service amavisd-new lors de l'éclatement des champs du message a disparu au moment de l'appel. Cet type d'échec ne se produit que sur un système à la puissance de calcul limitée. Voir les chiffres donnés ci-avant pour une configuration à base de PC PIII/500Mhz et 384Mo de RAM.
[2006-09-05 12:24:02] Unexpected error in pipe to external programs.
Please check that all helper programs are installed and in the correct path.
(Pipe Command "/usr/bin/jpegtopnm", Pipe exit code 2 (""), \
Temporary file: "/var/lib/amavis/tmp/.spamassassin8374rV7Hkqtmp")
Pour éviter ce genre de problème, il est vivement conseillé d'associer le greffon ImageInfo à FuzzyOCR pour optimiser la puissance de calcul de la passerelle. Le greffon ImageInfo pondère les messages contenant des images «faciles» à identifier et les appels à FuzzyOCR sont réservés aux images plus «délicates» à traiter.
Vous êtes ici :