Amavis
.:[ Serveur de Messagerie ]:.
Filtrage anti-spam : Anti-Spam SpamAssassin | Anti-Virus Clamav
Filtrage anti-virus : Plateforme de filtrage Amavis >> Amavis avec MySQL
Plus de fonctions : Ajouter un Disclaimer | Signature DKIM | Mailman | Maildrop
Clients de messagerie : Configurer Thundirbird | Configurer Roundcube
Pour aller plus loin : Commandes messagerie | DNSBL | MX Backup
Installation
- Nous installation l'anti-virus ClamAV :
|
|
- Nous installation l'anti-spam SpamAssassin :
|
|
- Nous installation le service Amavis :
|
|
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 :
|
|
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 :
|
|
ClamAV
- On procède à la mise à jour des signatures de ClamAV :
|
|
- Lancement de ClamAV :
|
|
Amavis
- Pour que Amavis puisse avoir accès aux dossiers et fichiers de ClamAV, on ajoute l'utilisateur amavis au groupe clamav :
|
|
- 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 :
|
|
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 :
|
|
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
Sans notification d'échec
- Pour vérifier le comportement de Amavis on va envoyer un courriel contenant la signature d'un virus qui déclenche un faux-positif. Pour cela, avec notre courriel on y attachera un fichier texte en pièce jointe. Dans ce fichier texte nous renseigneront la ligne suivante :
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
- Nous effectuons le test de réception toujours sur la boîte cacheln@mail.glx. Observons maintenant les logs relevés dans /var/log/mail.log. Le message transite jusqu'au gestionnaire de file qmgr où il y stationnera. Une copie du message est transmise au serveur amavis pour être analysée.
1 Feb 10 20:18:31 alice postfix/smtpd[17029]: connect from geocoucou.net.ncad.fr[10.0.0.49] 1 Feb 10 20:18:31 alice postfix/smtpd[17029]: C0970461C16: client=geocoucou.net.ncad.fr[10.0.0.49] 2 Feb 10 20:18:31 alice postfix/cleanup[17034]: C0970461C16: message-id= <9093941fa27ce9148dda2acebf0f21bd@ncad.me> 3 Feb 10 20:18:31 alice postfix/qmgr[15289]: C0970461C16: from=<nicolas.cachelou@ncad.me>, size=1990, nrcpt=1 (queue active) Feb 10 20:18:31 alice postfix/smtpd[17029]: disconnect from geocoucou.net.ncad.fr[10.0.0.49] 4 Feb 10 20:18:32 alice amavis[16882]: (16882-01) Blocked INFECTED (Eicar-Test-Signature), [10.0.0.49] [109.190.9.125] <nicolas.cachelou@ncad.me> -> <cacheln@mail.glx>, quarantine: I/virus-Ibga6nwCOMoV, Message-ID: <9093941fa27ce9148dda2acebf0f21bd@ncad.me>, mail_id: Ibga6nwCOMoV, Hits: -, size: 1990, 186 ms
- Amavis identifie un virus dans le courriel qu'il va taguer comme tel (INFECTED: Eicar-Test-Signature) et le placer en quarantaine dans le fichier /var/lib/amavis/I/virus-Ibga6nwCOMoV. De ce fait, Postfix va supprimer le message en file d'attente avec le code dns=2.7.0 (pas de remise d'échec pour l'émetteur) ainsi que le message scanné qui lui a été remis en début de file.
Feb 10 20:18:32 alice amavis[16882]: (16882-01) Blocked INFECTED (Eicar-Test-Signature), [10.0.0.49] [109.190.9.125] <nicolas.cachelou@ncad.me> -> <cacheln@mail.glx>, quarantine: I/virus-Ibga6nwCOMoV, Message-ID: <9093941fa27ce9148dda2acebf0f21bd@ncad.me>, mail_id: Ibga6nwCOMoV, Hits: -, size: 1990, 186 ms Feb 10 20:18:32 alice postfix/smtp[17035]: C0970461C16: to=<cacheln@mail.glx>, relay=127.0.0.1[127.0.0.1]:10024, delay=0.26, delays=0.06/0.01/0.01/0.18, dsn=2.7.0, status=sent (250 2.7.0 Ok, discarded, id=16882-01 - INFECTED: Eicar-Test-Signature) Feb 10 20:18:32 alice postfix/qmgr[15289]: C0970461C16: removed
Avec notification d'échec
Feb 10 20:24:37 alice postfix/smtpd[17122]: connect from geocoucou.net.ncad.fr[10.0.0.49] Feb 10 20:24:37 alice postfix/smtpd[17122]: 9C7E7461C16: client=geocoucou.net.ncad.fr[10.0.0.49] Feb 10 20:24:37 alice postfix/cleanup[17127]: 9C7E7461C16: message-id=<8927514c54861d8e689b00dbeade558e@ncad.me> Feb 10 20:24:37 alice postfix/qmgr[15289]: 9C7E7461C16: from=<nicolas.cachelou@ncad.me>, size=6305, nrcpt=1 (queue active) Feb 10 20:24:37 alice postfix/smtpd[17122]: disconnect from geocoucou.net.ncad.fr[10.0.0.49] Feb 10 20:24:37 alice postfix/smtpd[17131]: connect from localhost[127.0.0.1] Feb 10 20:24:37 alice postfix/smtpd[17131]: EF947461C3D: client=localhost[127.0.0.1] Feb 10 20:24:37 alice postfix/cleanup[17127]: EF947461C3D: message-id=<VSY8myeKb9h-Tc@mail.glx> Feb 10 20:24:38 alice postfix/qmgr[15289]: EF947461C3D: from=<>, size=3427, nrcpt=1 (queue active) Feb 10 20:24:38 alice amavis[17120]: (17120-01) Blocked INFECTED (Eicar-Test-Signature), [10.0.0.49] [109.190.9.125] <nicolas.cachelou@ncad.me> -> <cacheln@mail.glx>, quarantine: Y/virus-Y8myeKb9h-Tc, Message-ID: <8927514c54861d8e689b00dbeade558e@ncad.me>, mail_id: Y8myeKb9h-Tc, Hits: -, size: 6305, 355 ms Feb 10 20:24:38 alice postfix/smtp[17128]: 9C7E7461C16: to=<cacheln@mail.glx>, relay=127.0.0.1[127.0.0.1]:10024, delay=0.44, delays=0.06/0.01/0.02/0.35, dsn=2.5.0, status=sent (250 2.5.0 Ok, id=17120-01, BOUNCE) Feb 10 20:24:38 alice postfix/qmgr[15289]: 9C7E7461C16: removed Feb 10 20:24:49 alice postfix/smtp[17132]: EF947461C3D: to=<nicolas.cachelou@ncad.me>, relay=mail.net.ncad.fr[109.190.9.125]:25, delay=11, delays=0.05/0.02/0.04/11, dsn=5.7.1, status=bounced (host mail.net.ncad.fr[109.190.9.125] said: 554 5.7.1 <ro-010.net.ncad.fr[109.190.9.125]>: Unverified Client host rejected: Access denied (in reply to RCPT TO command)) Feb 10 20:24:49 alice postfix/qmgr[15289]: EF947461C3D: removed
Fonctions & Comportements
Listes noirs
Listes blanches
Tag des SPAM
Notifications en cas de virus
Liens
- Informations règles Amavis : http://www.grafactory.net/blog/post/2009/09/28/Documentation-des-diff%C3%A9rentes-r%C3%A8gles-d-Amavisd-new