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
Prochaine révision
Révision précédente
wiki:mail:antispam [2015/10/29 23:22]
Thithib
wiki:mail:antispam [2020/06/27 18:16] (Version actuelle)
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>