WikiMiNET

La documentation technique et administrative

Outils pour utilisateurs

Outils du site


wiki:mail:antispam

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
wiki:mail:antispam [2015/10/29 23:22]
Thithib
wiki:mail:antispam [2016/02/26 19:17] (Version actuelle)
thithib
Ligne 1: Ligne 1:
 +===== Antispam/​Antivirus =====
 +
 +==== Configuration de l'​antispam/​antivirus ====
 +
 +Les services postgrey et amavis sont indépendants (les mails arrivant de l'​extérieur font deux aller-retours sur la machine spam).
 +
 +
 +=== Postgrey ===
 +
 +Pour des raisons de lenteur, ce service n'est plus utilisé à MiNET.
 +
 +Pour chaque message, postgrey analysait les trois informations suivantes :
 +
 +  * l'​adresse IP du système envoyant le message,
 +  * l'​émetteur indiqué dans l'​enveloppe du message,
 +  * le destinataire indiqué dans l'​enveloppe du message. ​
 +
 +Quand un message (triplet [IP relais, @émetteur, @destinataire]) arrivait sur le serveur spam, s'il s'​agissait d'un nouveau triplet (absent de la base de données locale), le message était rejeté temporairement pour une durée limitée.
 +
 +Une whitelist de clients était présente dans **/​etc/​postgrey/​whitelist_clients** et permettait d'​éviter un délai d'​attente pour des serveurs supposés sûrs (par exemple ceux de l'​école).
 +
 +=== Amavis (ClamAV et Spamassassin) ===
 +
 +**amavis-new** est un démon qui filtre les mails (en les faisant passer par ClamAV et Spamassassin). La configuration se fait dans ''/​etc/​amavis/​conf.d''​ :
 +
 +''​15-content_filter_mode''​ pour activer/​désactiver antivirus et antispam
 +
 +''​50-user''​ pour la configuration (y compris de spamassassin,​ en fait le démon ne tourne pas, et amavis utilise l'API Perl directement). Le fichier est très bien commenté (mais fait quand même plus de 2300 lignes...). Quelques extraits intéressants :
 +
 +<code perl>
 +# Net::Server pre-forking settings
 +# The $max_servers should match the width of your MTA pipe
 +# feeding amavisd, e.g. with Postfix the 'Max procs' field in the
 +# master.cf file, like the '​2'​ in the:  smtp-amavis unix - - n - 2 smtp
 +#
 +$max_servers ​ =  6;   # number of pre-forked children ​         (default 2), -m
 +$max_requests = 10;   # retire a child after that many accepts (default 10)
 +
 +$child_timeout=8*60; ​ # abort child if it does not complete its processing in
 +                      # approximately n seconds (default: 8*60 seconds)
 +
 +$smtpd_timeout = 120; # disconnect session if client is idle for too long
 +                      # (default: 8*60 seconds); should be higher than a
 +                      # Postfix setting max_idle (default 100s)
 +</​code>​
 +
 +À tenir à jour vis-à-vis de la conf postfix des MX (maxproc dans les master.cf).
 +
 +<code perl>
 +$final_virus_destiny ​     = D_BOUNCE; # (defaults to D_DISCARD)
 +$final_banned_destiny ​    = D_BOUNCE; ​ # (defaults to D_BOUNCE)
 +$final_spam_destiny ​      = D_BOUNCE; ​ # (defaults to D_BOUNCE)
 +$final_bad_header_destiny = D_PASS; ​   # (defaults to D_PASS)
 +</​code>​
 +
 +Permet de décider ce qu'on fait des messages selon leur statut.
 +
 +<code perl>
 +$sa_tag_level_deflt ​ = 0.0; # add spam info headers if at, or above that level;
 +                            # undef is interpreted as lower than any spam level
 +$sa_tag2_level_deflt = 3.0; # add 'spam detected'​ headers at that level to
 +                            # passed mail, adding address extensions;
 +$sa_kill_level_deflt = 5.0; # triggers spam evasive actions
 +                            # at or above that level: bounce/​reject/​drop,​
 +                            # quarantine
 +$sa_dsn_cutoff_level = 9.0; # spam level beyond which a DSN is not sent,
 +                            # effectively turning D_BOUNCE into D_DISCARD;
 +                            # undef disables this feature and is a default;
 +</​code>​
 +
 +Définit les seuils de score Spamassassin.
 +
 +<code perl>
 +$sa_spam_subject_tag = '​***Spam*** ';
 +</​code>​
 +
 +Permet de choisir ce qu'on insère en objet des mails détectés comme Spam.
 +
 +==== Mise à jour de l'​antivirus ====
 +
 +''​freshclam''​ maintient ClamAV à jour.
 +
 +==== Mise à jour des filtres antispam ====
 +
 +<code bash>
 +export http_proxy='​http://​192.168.102.62:​82'​
 +sa-update -D
 +sa-compile
 +/​etc/​init.d/​amavis restart
 +</​code>​
 +
 +(-D affiche plus d'​informations en cas de problème).
 +
 +Une tâche cron met à jour les filtres tous les matins.
 +
 +==== Sortie de quarantaine ====
 +
 +Les mails placés en quarantaine sont écrits dans ''/​var/​lib/​amavis/​virusmails'',​ dans les dissiers ''​banned'',​ ''​spam''​ et ''​virus''​. Quand un mail est placé en quarantaine,​ une notification est envoyée sur la mailing-list **root**. Pour sortir un mail de quarantaine à partir de son identifiant (par exemple récupéré dans le mail de notification) :
 +
 +<​code>​
 +The message has been quarantined as: spam/​h/​h9sz1GydIRvO.gz
 +</​code>​
 +
 +On effectue (en root) :
 +
 +<​code>​
 +amavisd-release spam/​h/​h9sz1GydIRvO.gz
 +</​code>​
  
wiki/mail/antispam.txt · Dernière modification: 2016/02/26 19:17 par thithib