Amavis

De Wiki NCad
Révision de 10 février 2014 à 21:19 par Cacheln (discuter | contributions) (Réception d'un message sain)

Aller à : navigation, rechercher

.:[ Serveur de Messagerie ]:.

Installation >> Postfix avec MySQL

Anti-Spam SpamAssassin | Anti-Virus Clamav


Plateforme de filtrage Amavis >> Amavis avec MySQL


Ajouter un Disclaimer


Configurer Thundirbird | Configurer Roundcube


Commandes messagerie | DNSBL | MX Backup

Installation

  • Nous installation l'anti-virus ClamAV :
ICON Terminal.png

sudo clamsmtp clamav-daemon clamav clamav-freshclam clamav-base

ICON Terminal.png

spamassassin pyzor razor

  • Nous installation le service Amavis :
ICON Terminal.png

sudo apt-get install amavisd-new

Configuration

SpamAssassin

Activation du programme

  • Par défaut, le module est désactivé. Pour être lancé il faut remplacer dans le fichier /etc/default/spamassassin :
ENABLED=0
  • Par :
ENABLED=1

Séparation des logs

  • Pour éviter de trop encombrer les logs de Postfix dans le fichier /var/log/mail.log, nous allons séparer les logs de SpamAssassin. Pour cela, on insère les éléments suivant juste avant la ligne OPTIONS :
SAHOME="/var/log/spamd/"
  • Puis on remplace :
OPTIONS="--create-prefs --max-children 5 --helper-home-dir --username spamd"
  • Par :
OPTIONS="--create-prefs --max-children 5 --helper-home-dir --username spamd -H ${SAHOME} -s ${SAHOME}spamd.log"

Création de l'utilisateur spamd

  • SpamAssassin s'exécute avec les droits et permissions de l'utilisateur spamd. Cependant, cette utilisateur n'est pas crée à l'installation du programme. Il va donc falloir le créer :
ICON Terminal.png

sudo groupadd spamd
sudo useradd -g spamd -s /sbin/nologin -d /var/lib/spamassassin spamd
sudo chown spamd:spamd /var/lib/spamassassin
sudo mkdir /var/log/spamd
sudo chown spamd:spamd /var/log/spamd

Configuration de SpamAssassin

  • Le configuration de SpamAssassin se trouve dans le fichier /etc/spamassassin/local.cf. On va y dé-commenter les lignes suivantes :
rewrite_header Subject *****SPAM*****
report_safe 1
required_score 5.0
use_bayes 1
bayes_auto_learn 1
bayes_ignore_header X-Spam-Status
  • Une fois le fichier de configuration renseigné, on peut démarrer SpamAssassin :
ICON Terminal.png

sudo service spamassassin start

ClamAV

  • On procède à la mise à jour des signatures de ClamAV :
ICON Terminal.png

freshclam

  • Lancement de ClamAV :
ICON Terminal.png

service clamav-daemon restart

Amavis

  • Pour que Amavis puisse avoir accès aux dossiers et fichiers de ClamAV, on ajoute l'utilisateur amavis au groupe clamav :
ICON Terminal.png

adduser clamav amavis

  • On vérifie que l'anti-virus /etc/amavis/conf.d/15-av_scanners a bien été détecté par Amavis. Si c'est bien le cas, les lignes suivantes sont décommentées :
['ClamAV-clamd',
  \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.ctl"],
  qr/\bOK$/m, qr/\bFOUND$/m,
  qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ],
  • Pour que Amavis consulte Clamav et SpamAssassin pour le traitement des mails, il faut décommenter les lignes suivantes dans /etc/amavis/conf.d/15-content_filter_mode :
@bypass_virus_checks_maps = (
  \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);
@bypass_spam_checks_maps = (
  \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);
  • Sous Ubuntu, pour que les mails détectés comme spam et virus ne soient pas supprimés, il faudra remplacer dans le fichier /etc/amavis/conf.d/21-ubuntu_defaults les lignes :
$final_virus_destiny      = D_DISCARD; # (defaults to D_BOUNCE)
$final_spam_destiny       = D_DISCARD;  # (defaults to D_REJECT)
  • Par :
$final_virus_destiny      = D_BOUNCE; # (defaults to D_BOUNCE)
$final_spam_destiny       = D_PASS;  # (defaults to D_REJECT)
  • Dans le fichier /etc/amavis/conf.d/05-node_id on va définir le hostname du serveur :
$myhostname = "mail.glx";
  • Pour appliquer la configuration, on redémarre Amavis :
ICON Terminal.png

service amavis restart

Postfix

  • Dans le fichier /etc/postfix/main.cf on insérera la ligne suivante qui permettra de transférer les mails reçus par Postfix à Amavis pour traitement :
content_filter = scan:127.0.0.1:10024
  • A la fin du fichier /etc/postfix/master.cf, on insère les éléments suivants :
scan      unix  -       -       n       -       16      smtp
        -o smtp_data_done_timeout=1200
        -o disable_dns_lookups=yes
  • Ainsi que ce bloc qui permettra de récupérer les mails traités par Amavis :
127.0.0.1:10025 inet n - y - - 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
  • On redémarre Postfix pour appliquer les modifications :
ICON Terminal.png

service postfix restart

Validation

Réception d'un message sain

  • Pour effectue ce test, nous envoyons un message de la boîte mail nicolas.cachelou@ncad.me vers la boîte locale cacheln@mail.glx. Observons les logs dans /var/log/mail.log :
Feb 10 17:19:19 alice postfix/smtpd[16906]: connect from geocoucou.net.ncad.fr[10.0.0.49]
Feb 10 17:19:19 alice postfix/smtpd[16906]: 8F856461BF9:
  client=geocoucou.net.ncad.fr[10.0.0.49]
Feb 10 17:19:19 alice postfix/cleanup[16911]: 8F856461BF9: message-id=
  <938e217153bc4d3d17b51efba0b6c485@ncad.me>
Feb 10 17:19:19 alice postfix/qmgr[15289]: 8F856461BF9: from=<nicolas.cachelou@ncad.me>,
  size=1608, nrcpt=1 (queue active)
Feb 10 17:19:19 alice postfix/smtpd[16906]: disconnect from geocoucou.net.ncad.fr[10.0.0.49]
Feb 10 17:19:52 alice postfix/smtpd[16935]: connect from localhost[127.0.0.1]
Feb 10 17:19:52 alice postfix/smtpd[16935]: 5B8EF461C21: client=localhost[127.0.0.1]
Feb 10 17:19:52 alice postfix/cleanup[16911]: 5B8EF461C21:
  message-id=<938e217153bc4d3d17b51efba0b6c485@ncad.me>
Feb 10 17:19:52 alice postfix/qmgr[15289]: 5B8EF461C21: from=<nicolas.cachelou@ncad.me>,
  size=2022, nrcpt=1 (queue active)
Feb 10 17:19:52 alice amavis[16881]: (16881-01) Passed CLEAN, [10.0.0.49] [109.190.9.125]
  <nicolas.cachelou@ncad.me> -> <cacheln@mail.glx>, Message-ID:
  <938e217153bc4d3d17b51efba0b6c485@ncad.me>, mail_id: hON7zClIHyZE, Hits: -0.998, size: 1608,
  queued_as: 5B8EF461C21, 32796 ms
Feb 10 17:19:52 alice postfix/smtp[16912]: 8F856461BF9: to=<cacheln@mail.glx>,
  relay=127.0.0.1[127.0.0.1]:10024, delay=33, delays=0.05/0.01/0.02/33, dsn=2.0.0, status=sent
  (250 2.0.0 from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as 5B8EF461C21)
Feb 10 17:19:52 alice postfix/qmgr[15289]: 8F856461BF9: removed
Feb 10 17:19:52 alice postfix/virtual[16937]: 5B8EF461C21: to=<cacheln@mail.glx>,
  relay=virtual, delay=0.11, delays=0.04/0.02/0/0.05, dsn=2.0.0, status=sent (delivered to
  maildir)
Feb 10 17:19:52 alice postfix/qmgr[15289]: 5B8EF461C21: removed

Réception d'un Spam

Réception d'un virus

Fonctions & Comportements

Listes noirs

Listes blanches

Tag des SPAM

Notifications en cas de virus

Liens