Anciens Paragraphes

De wikilivois
Révision datée du 8 mai 2006 à 19:25 par Christophe (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigationAller à la recherche

Filtrage - filtrage de contenu avec Anomy

Remarque: Il n'est sans doute plus nécessaire de filtrer avec Anomy dans la mesure où amavis-new filtre désormais les contenu.

Fighting malware and spam with postfix – Advosys Consulting Inc. http://advosys.ca/papers/postfix-filtering.html

  • Please find example scripts to be used to integrate sanitizer into your (postfix) mail system at

///usr/share/anomy-sanitizer

  • There is also a png and kivio document about a possible e-mail architecture

La configuration d’anomy se fait par l’intermédiaire du fichier /usr/local/anomy/anomy.conf

Filtrage – spamassassin - autolearning (TODO)

http://www.gentoo.org/doc/fr/mailfilter-guide.xml

# useradd -m spamtrap
# maildirmake /home/spamtrap/.maildir
# chown -R spamtrap:mailusers /home/spamtrap/.maildir
(Donner à l'utilisateur spamtrap un bon mot de passe)
# passwd spamtrap

Editer .procmailrc <licode file=/home/spamtrap/.procmailrc>

  1. Set some default variables

MAILDIR=$HOME/.maildir SPAM_FOLDER=$MAILDIR/.spam-found/ LIKELY_SPAM_FOLDER=$MAILDIR/.likely-spam-found/

  1. Sort mails with a spamscore of 7+ to the spamfolder
0:
  • ^X-Spam-Status: Yes
  • ^X-Spam-Level: \*\*\*\*\*\*\*

$SPAM_FOLDER

  1. Sort mail with a spamscore between 5-7 to the likely spam folder
0:
  • ^X-Spam-Status: Yes

$LIKELY_SPAM_FOLDER

  1. Sort all other mails to the inbox
0

./ </licode>

Warning: If your mail server is going to receive a lot of mail you should NOT use the likely-spam recipe. Instead set $sa_tag2_level_deflt high enough to avoid false positives and filter it directly to $SPAM_FOLDER.


<licode file=/etc/postfix/main.cf> mailbox_command = /usr/bin/procmail -a "DOMAIN" </licode>

Filtrage de spam – Quarantaine avec amavisnewSQL

Nous avons choisi l'installation de amavisnewSQL car il s'appui sur Squirrelmail que nous utilisons déjà.

Le principe est de :

  • mettre les mails en quarantaine dans une base mysql (process_bsmtp.php)
  • prévenir l'utilisateur que des mails sont en quarantaines pour qu'il décide de la conduite à tenir via squirrelmail (generatedigest.php)
  • supprimer les mails en quarantaine après un temps défini dans squirrelmail (cleanquarantine.php).

Prérequis: squirrelmail + PEAR-Log, PEAR-DB, PEAR-Net_SMTP

Télécharger le plugin à la page http://sourceforge.net/projects/sm-plugins/

Créer la base mysql amavis avec l'utilisateur amavis (cela marge aussi avec pgsql) puis utiliser le schéma donné:

#mysql amavis -p < utils/schema.mysql

Donner les droits d'écriture (select, insert, update, delete )à l'utilisateur amavis sur cette base.

Editer config.php et notamment les paramètres suivants:

<licode file="<squirrelmail>/plugins/amavisnewsql/config.php"> $CONFIG["dsn"] = 'mysql://amavis:motdepasse@localhost/amavis'; ... $CONFIG["webmail_url"] = "http://www.livois.com/squirrelmail"; ... $CONFIG["smtp_host"] = "localhost"; $CONFIG["smtp_port"] = 10025; </licode>

smtp_host/ports sont utilisés pour renvoyer les mails vers les utilisateurs, il ne faut pas qu'ils soient refiltrés à nouveau, d'où les paramètres indiqués.

Editer les scripts utils (process_bsmtp.php, generateddigest.php, cleanquarantine.php)

<licode file="<squirrelmail>/plugins/amavisnewsql/utils/cleanquarantine.php"> DEFINE ("BASEINCLUDE", "/var/www/www.livois.com/squirrelmail/plugins/amavisnewsql/"); DEFINE ("QUARANTINEDIR", "/var/amavis/quarantine/"); #process_bsmtp.php </licode>

Editer amavisd.conf <licode file=/etc/amavisd.conf> $sql_select_white_black_list = 'SELECT wb FROM wblist'.

 ' WHERE (rid=?) AND (wblist.email IN (%k))'.
 ' ORDER BY wblist.priority DESC';

@lookup_sql_dsn=( ['DBI:mysql:database=amavis;host=127.0.0.1;port=3306', 'amavis', 'motdepasse']);

$virus_quarantine_method = "bsmtp:$QUARANTINEDIR/virus-%i-%n.bsmtp"; spam_quarantine_method = "bsmtp:$QUARANTINEDIR/spam-%b-%i-%n.bsmtp"; $virus_quarantine_to = 'virus-quarantine'; </licode>

Faire un lien de htmlMimeMail dans /usr/lib/php

#ln -s htmlMimeMail-2.5.1 /usr/lib/php/htmlMimeMail

Activer le plugin:

#../config/conf.pl

Editer la crontab <licode file=/etc/crontab>

  • /5 * * * * root <squirrelmail>/plugins/amavisnewsql/utils/process_bsmtp.php

0 6 * * * root <squirrelmail>/plugins/amavisnewsql/utils/cleanquarantine.php 30 16 * * * root <squirrelmail>/plugins/amavisnewsql/utils/generatedigest.php </licode>

Pour utiliser amavisnewsql, il faut indiquer ses coordonnées et notamment l'adresse e-mail dans les options de l'interface utilisateur de squirrelmail.

Remarque pour la version 0.7.3: pour que les utilisateurs puissent agir (libérer ou supprimer) sur un mail en quarantaine, il faut commenter la ligne 140 de quarantine.php: //if($javascript_on)

Copyright

© 2006 Christophe de Livois

Tête de GNU Vous avez l'autorisation de copier, distribuer et/ou modifier ce document suivant les termes de la GNU Free Documentation License, Version 1.2 ou n'importe quelle version ultérieure publiée par la Free Software Foundation; sans section invariante, sans page de garde, sans entête et sans page finale. Pour plus d'informations consulter le site de l'APRIL.