<> = Amavisd-new = Amavisd-New est un des outils de la [[LutteAntiSpamAntiVirus| lutte anti-spam]] de l'AUF. La page de l'ancien wiki est à migrer : AncienWiki:AmavisdNew à mettre à jour ! '''à vos claviers''' == Introduction == amavisd-new est un logiciel permettant d'analyser des messages électroniques reçus ou envoyés par un logiciel de gestion de messagerie (MTA) tel que Postfix. Le principe est le suivant : * le MTA est configuré pour envoyer les messages à analyser à amavisd-new * amavisd-new décompose le message dans ses différentes parties (entêtes, corps, attachements) * amavisd-new effectue quelques vérifications de base sur le message (entêtes trop longs ou mal codés) * il envoie ensuite ce message à d'autres systèmes tels que SpamAssassin (anti-spam) ou ClamAV (anti-virus) * en fonction des résultats des différentes analyses, il peut laisser passer le message, le bloquer ou le modifier. Il peut aussi prévenir l'expéditeur, le destinataire ou l'administrateur du système de message. Pour que amavisd-new fonctionne il faut donc : * lui adjoindre d'éventuels analyseurs, tels que SpamAssassin ou ClamAV (deux logiciels fortement conseillés) ; * configurer amavisd-new pour lui indiquer quel comportement adopter dans quelle situation ; * configurer votre MTA pour qu'il envoie les messages à amavisd-new. == Installation == {{{ # aptitude install amavisd-new }}} Seul, amavisd-new n'est pas utile : il faut lui adjoindre des filtres. Il faut donc installer à cet effet SpamAssassin (anti-spam) , ClamAV (anti-virus) et également postgrey. Voir les pages respectives de ces logiciels pour plus d'informations sur leur installation. == Configuration == Faire certaines modifications à amavis.conf<> Inclure votre domaine à la ligne suivante: {{{ $mydomain = 'vu.auf.org'; # (no useful default) }}} Décommenter la ligne suivante:<> {{{ #@bypass_spam_checks_acl = qw( . ); # No default dependency on spamassassin }}} Décommenter : {{{ #@local_domains_acl = ( ".$mydomain" ); # $mydomain and its subdomains }}} Décommenter et modifier pour ajouter vos autres domaines: {{{ @local_domains_acl = ( ".$mydomain", "refer.org.vu" ); }}} Modifier les ligne suivantes en fonction de vos besoins (/etc/amavis/conf.d/20-debian_defaults): {{{ $final_virus_destiny = D_DISCARD; # (defaults to D_BOUNCE) $final_banned_destiny = D_BOUNCE; # (defaults to D_BOUNCE) $final_spam_destiny = D_PASS; # (defaults to D_REJECT) $final_bad_header_destiny = D_PASS; # (defaults to D_PASS), D_BOUNCE suggested }}} Décommenter les lignes suivante<> {{{ qr'.\.(ade|adp|bas|bat|chm|cmd|com|cpl|crt|exe|hlp|hta|inf|ins|isp|js| jse|lnk|mdb|mde|msc|msi|msp|mst|pcd|pif|reg|scr|sct|shs|shb|vb| vbe|vbs|wsc|wsf|wsh)$'ix, # banned extension - long }}} Dans la section de spamassassin changer les lignes suivantes: {{{ $sa_tag_level_deflt = 4.0; # add spam info headers if at, or above that level $sa_tag2_level_deflt = 6.3; # add 'spam detected' headers at that level $sa_kill_level_deflt = 100; # triggers spam evasive actions # at or above that level: bounce/reject/drop, # quarantine, and adding mail address extension $sa_dsn_cutoff_level = 100; # spam level beyond which a DSN is not sent, # effectively turning D_BOUNCE into D_DISCARD; # undef disables this feature and is a default; ($sa_kill_level_deflt = 100 et $sa_dsn_cutoff_level = 100 devrait être assez haut si vous n'avez pas changer $final_spam_destiny à D_PASS sinon vous risquer d'effacer des faux positifs.) }}} changer le message qui sera ajouté au sujet des Spam {{{ $sa_spam_subject_tag = 'SPAM '; # (defaults to undef, disabled) }}} Ajouter user clamav au group amavis Dans le fichier /etc/clamav/clamd.conf mettre la valeur true pour cette ligne {{{ AllowSupplementaryGroups true }}} pour éviter une erreur de type ''amavis[7507]: (07507-04) (!)ClamAV-clamd av-scanner FAILED: CODE(0x316b108) unexpected , output="/var/lib/amavis/tmp/amavis-20150727T181939-07507/parts: lstat() failed: Permission denied. ERROR\n" at (eval 103) line 594.'' Optionnel: Pour les avertissement en français demandez à Sébastien pour les fichiers et changer: `read_l10n_templates('en_US', '/etc/amavis');` pour `read_l10n_templates('fr_CA', '/etc/amavis');` == Configuration de Postfix pour marcher avec amavisd-new == Installation de Postfix {{{ aptitude install postfix }}} Modifier le fichier /etc/postfix/main.cf {{{ postconf -e 'content_filter = amavis:[127.0.0.1]:10024' }}} En suite ajouter ces lignes à /etc/postfix/master.cf: {{{ amavis unix - - - - 2 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes 127.0.0.1:10025 inet n - - - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o strict_rfc821_envelopes=yes -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 }}} Redémarrer postfix {{{ /etc/init.d/postfix restart }}} et vous devriez voir Postfix (maître) à l'écoute sur le port 25 (SMTP) et 10025, et amavisd-new sur le port 10024: {{{ netstat -tap Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 *:smtp *:* LISTEN 8242/master tcp 0 0 *:imaps *:* LISTEN 9963/imap-login tcp 0 0 localhost:10024 *:* LISTEN 293/amavisd (master tcp 0 0 localhost:10025 *:* LISTEN 8242/master tcp 0 0 *:imap2 *:* LISTEN 9963/imap-login tcp 0 0 localhost:spamd *:* LISTEN 605/spamd.pid tcp 0 0 *:sunrpc *:* LISTEN 165/portmap }}} == Tests == Anti_virus Le tests d'antivirus fait parti de la documentation de mise en production. Voir : /usr/share/doc/amavisd-new/README.postfix.gz Ensuite voir le log pour être sur que tout va bien: {{{ # tail -f -n 45 /var/log/amavis.log May 26 12:11:43 server amavisd-new[31118]: (31118-06) INFECTED (Worm.SomeFool?.P), -> , quarantine virus-20050526-121143-31118-06, Message-ID: <20050526010818.01A83273@hoadao.vn.refer.org>, Hits: - May 26 12:37:23 server amavisd-new[31119]: (31119-06) Passed, -> , Message-ID: <20050526013719.01664183@server.vu.auf>, Hits: 10.164 }}} Mise en production avec le MTA Postfix Voir : /usr/share/doc/amavisd-new/README.postfix.gz Anti-SPAM Il faut envoyer un mail avec ce text dans le contenu XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X Ensuite voir le log pour être sur que tout va bien: {{{ # tail -f -n 45 /var/log/mail.log Apr 12 14:40:52 mail amavis[17414]: (17414-10) Passed SPAM, [10.230.33.121] [10.230.33.121] -> , quarantine: spam-jYvuIC2al3A5.gz, Message-ID: <4F8685FC.4030705@ifi.edu.vn>, mail_id: jYvuIC2al3A5, Hits: 999, size: 910, queued_as: EEA498024D, 9286 ms }}} == Détail totalement inutile == Le terme `SPAM` qui fait référence aux abus est utilisé depuis les débuts d'Internet. Sur Bitnet relay (L'ancêtre de l'IRC je pense). Il était commun d'inonder les fenêtres de clavardage(chat) avec le texte complet de la chanson SPAM de Monty Python pour irriter les autres. Cette chanson fait référence à la nourriture du même nom. Le SPAM est un type de viande en boite produit par la compagnie Hormel Food. So nom veux dire SPiced hAM. ---- CatégorieLogiciel [[CatégorieRecommandationsARI]]