Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
sysadmin:amavis [2012/10/04 16:23] james ajout filtrage |
sysadmin:amavis [2014/10/30 11:10] (Version actuelle) james modif tags |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>smtp mail server howto install postfix antivirus antispam amavis spamassassin}} | + | {{tag>smtp mail serveur howto installation postfix antivirus antispam amavis spamassassin}} |
====== Configurer un antivirus et antispam sur votre serveur de mail ====== | ====== Configurer un antivirus et antispam sur votre serveur de mail ====== | ||
Ligne 80: | Ligne 80: | ||
==== Configuration d'amavis ==== | ==== Configuration d'amavis ==== | ||
- | * Editer le fichier /tmp/amavis_conf.d/50-user et y mettre le contenu suivant en remplacant "mail.mondomaine.com" par le "mailname" de votre serveur de mail et en adaptant votre(vos) nom(s) de domaine<code> | + | * Editer le fichier /etc/amavis/conf.d/50-user et y mettre le contenu suivant en remplacant "mail.mondomaine.com" par le "mailname" de votre serveur de mail et en adaptant votre(vos) nom(s) de domaine<code> |
use strict; | use strict; | ||
Ligne 90: | Ligne 90: | ||
# the directives you can use in this file | # the directives you can use in this file | ||
# | # | ||
+ | |||
+ | # nombre de fils (prefork) (valeurs courantes : entre 2 et 30) | ||
+ | $max_servers = 2; | ||
# les domaines mail gérés par ce serveur (tous les sous domaines seront inclus) | # les domaines mail gérés par ce serveur (tous les sous domaines seront inclus) | ||
Ligne 102: | Ligne 105: | ||
# pour rendre la definition de bypass_header_checks_maps ci dessus utile si vous l'avez défini | # pour rendre la definition de bypass_header_checks_maps ci dessus utile si vous l'avez défini | ||
@bad_header_lovers_maps = @bypass_header_checks_maps; | @bad_header_lovers_maps = @bypass_header_checks_maps; | ||
+ | |||
+ | # reinjection de mail dans postfix a la sortie d'amavis | ||
+ | $notify_method = 'smtp:[127.0.0.1]:10025'; | ||
+ | $forward_method = 'smtp:[127.0.0.1]:10025'; | ||
# ne pas bouncer les messages bannis (virus) : inutile de notifier la personne qui spamme de virus que cette adresse mail répond | # ne pas bouncer les messages bannis (virus) : inutile de notifier la personne qui spamme de virus que cette adresse mail répond | ||
$final_banned_destiny = D_DISCARD; | $final_banned_destiny = D_DISCARD; | ||
+ | |||
+ | # accepter les messages ayant un mauvais entete | ||
+ | $final_bad_header_destiny = D_PASS; | ||
+ | # et ne pas les stocker en plus en quarantaine | ||
+ | $bad_header_quarantine_to = undef; | ||
+ | |||
+ | # laisser passer le spam (il sera taggué comme spam) | ||
+ | $final_spam_destiny = D_PASS; | ||
+ | #donc ne pas mettre le spam en quarantaine : ca n'a pas de sens vu que le mail a été délivré a l'utilisateur | ||
+ | $spam_quarantine_to = undef; | ||
+ | |||
#------------ Do not modify anything below this line ------------- | #------------ Do not modify anything below this line ------------- | ||
1; # ensure a defined return | 1; # ensure a defined return | ||
</code> | </code> | ||
- | * Editer le fichier /etc/amavis/conf.d/15-content_filter_mode et dé-commenter (enlever les # de début de lignes) les 2 couples de ligne suivants : | + | * Editer le fichier /etc/amavis/conf.d/15-content_filter_mode et dé-commenter (enlever les # de début de lignes) les 2 couples de ligne suivants pour activer les filtrages antivirus et antispam : |
* <code>@bypass_virus_checks_maps = ( | * <code>@bypass_virus_checks_maps = ( | ||
\%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re); | \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re); | ||
Ligne 127: | Ligne 145: | ||
Maintenant que chacune des briques est en place il est temps de configurer postfix pour utiliser tout ca. | Maintenant que chacune des briques est en place il est temps de configurer postfix pour utiliser tout ca. | ||
+ | Utiliser la commande suivante pour ajouter la configuration nécessaire : | ||
+ | * Le point d'entrée postfix->amavis :<code>cat << EOF >> /etc/postfix/master.cf | ||
+ | # ========================================================================== | ||
+ | # service type private unpriv chroot wakeup maxproc command + args | ||
+ | # (yes) (yes) (yes) (never) (100) | ||
+ | # ========================================================================== | ||
+ | amavisfeed unix - - n - 2 lmtp | ||
+ | -o lmtp_data_done_timeout=1200 | ||
+ | -o lmtp_send_xforward_command=yes | ||
+ | -o lmtp_tls_note_starttls_offer=no | ||
+ | EOF | ||
+ | </code> | ||
+ | <note>Le nombre dans la colonne "maxproc" (ici 2) doit être le meme que le $max_servers défini dans la configuration d'amavis. Adapter au besoin</note> | ||
+ | * Configuration d'un nouveau service pour réinjecter le mail a sa sortie d'amavis dans postfix :<code> | ||
+ | cat << EOF >> /etc/postfix/master.cf | ||
+ | 127.0.0.1:10025 inet n - n - - smtpd | ||
+ | -o content_filter= | ||
+ | -o smtpd_delay_reject=no | ||
+ | -o smtpd_client_restrictions=permit_mynetworks,reject | ||
+ | -o smtpd_helo_restrictions= | ||
+ | -o smtpd_sender_restrictions= | ||
+ | -o smtpd_recipient_restrictions=permit_mynetworks,reject | ||
+ | -o smtpd_data_restrictions=reject_unauth_pipelining | ||
+ | -o smtpd_end_of_data_restrictions= | ||
+ | -o smtpd_restriction_classes= | ||
+ | -o mynetworks=127.0.0.0/8 | ||
+ | -o smtpd_error_sleep_time=0 | ||
+ | -o smtpd_soft_error_limit=1001 | ||
+ | -o smtpd_hard_error_limit=1000 | ||
+ | -o smtpd_client_connection_count_limit=0 | ||
+ | -o smtpd_client_connection_rate_limit=0 | ||
+ | -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters | ||
+ | -o local_header_rewrite_clients= | ||
+ | -o smtpd_milters= | ||
+ | -o local_recipient_maps= | ||
+ | -o relay_recipient_maps= | ||
+ | EOF</code> | ||
+ | * Et pour finir ajouter le filtrage du contenu dans postfix : ajouter dans le fichier /etc/postfix/main.cf :<code> | ||
+ | # filtrage du contenu avec amavis | ||
+ | content_filter=amavisfeed:[127.0.0.1]:10024 | ||
+ | </code> | ||
+ | * Il ne reste plus qu'a recharger la configuration de postfix :<code># /etc/init.d/postfix reload</code>. On peut vérifier grace a la commande suivant qu'il ecoute bien maintenant sur 127.0.0.1:10025 :<code># netstat -tulpen | grep master | ||
+ | tcp 0 0 127.0.0.1:10025 0.0.0.0:* LISTEN 0 17164728 6345/master | ||
+ | tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 0 15608256 6345/master | ||
+ | </code> | ||
+ | |||
+ | TODO : test eicar spam+virus | ||
TODO: finir =) | TODO: finir =) | ||
Ligne 136: | Ligne 201: | ||
* http://www.collet-matrat.com/?p=270 | * http://www.collet-matrat.com/?p=270 | ||
* http://www.majorxtrem.be/2009/11/19/installation-serveur-mail-postfix-amavisd-mysql-spamassassin-dspam-courier-imap/ | * http://www.majorxtrem.be/2009/11/19/installation-serveur-mail-postfix-amavisd-mysql-spamassassin-dspam-courier-imap/ | ||
+ | * http://wiki.centos.org/HowTos/Amavisd | ||