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
sysadmin:amavis [2012/10/04 16:00]
james ajout references
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 6: Ligne 6:
  
 Amavis peut être perçu comme un conteneur pouvant contenir ... ce que l'en veut ... pour filtrer le contenu des mails. L'​idée est donc d'​utiliser ce conteneur pour effectuer sur les mails : Amavis peut être perçu comme un conteneur pouvant contenir ... ce que l'en veut ... pour filtrer le contenu des mails. L'​idée est donc d'​utiliser ce conteneur pour effectuer sur les mails :
-  * du filtrage antispam avec spamassassin+  * du filtrage antispam avec spamassassin ​(SA)
   * du filtrage de virus avec clamav   * du filtrage de virus avec clamav
  
Ligne 72: Ligne 72:
 NotifyClamd /​etc/​clamav/​clamd.conf NotifyClamd /​etc/​clamav/​clamd.conf
 EOF EOF
-</​code><​note>​la directive NotifyClamd prend bien comme valeur l'​emplacement du fichier de configuration de clamd, ca n'est pas une erreur, l'​application se chargeant d'​aller parcourir ce fichier pour y trouver l'​emplacement du socket à utiliser</​note>​+</​code>​ 
 +<​note>​la directive NotifyClamd prend bien comme valeur l'​emplacement du fichier de configuration de clamd, ca n'est pas une erreur, l'​application se chargeant d'​aller parcourir ce fichier pour y trouver l'​emplacement du socket à utiliser</​note>​
   * Il ne reste plus qu'a redémarrer ces services pour prendre cette configuration en compte :<​code>​   * Il ne reste plus qu'a redémarrer ces services pour prendre cette configuration en compte :<​code>​
 # /​etc/​init.d/​clamav-freshclam restart # /​etc/​init.d/​clamav-freshclam restart
Ligne 79: 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<​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 89: 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)
 +@local_domains_maps = ( [ '​.domaine.com',​ '​.domaine.org',​ '​.domaine2.com'​ ] );
 +
 $sa_tag_level_deflt ​ = -1000; # ajouter le score antispam dans les entetes a partir de ce score (dans ce cas pour tous les mails) $sa_tag_level_deflt ​ = -1000; # ajouter le score antispam dans les entetes a partir de ce score (dans ce cas pour tous les mails)
 $myhostname = "​mail.mondomaine.com";​ $myhostname = "​mail.mondomaine.com";​
Ligne 97: 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 pour activer les filtrages antivirus et antispam : 
-TODO : /​etc/​amavis/​conf.d/​15-content_filter_mode+    * <​code>​@bypass_virus_checks_maps = ( 
 +   ​\%bypass_virus_checks,​ \@bypass_virus_checks_acl,​ \$bypass_virus_checks_re);​ 
 +</​code>​ 
 +    * <​code>​@bypass_spam_checks_maps = ( 
 +   ​\%bypass_spam_checks,​ \@bypass_spam_checks_acl,​ \$bypass_spam_checks_re);​ 
 +</​code>​ 
 +  * Redémarrer maintenant amavis pour prendre tout cela en compte :<​code>​ 
 +# /​etc/​init.d/​amavis restart</​code>​En regardant de plus pres dans le fichier de log /​var/​log/​syslog,​ vous devriez voir des lignes contenant :<​code>​ 
 +amavis[4860]:​ ANTI-SPAM-SA code    loaded 
 +... 
 +amavis[4860]:​ Using primary internal av scanner code for ClamAV-clamd 
 +</​code>​ indiquant bien qu'​amavis utilisera le démon clamd, ainsi que SpamAssassin.
  
 ===== Configuration du routage postfix ===== ===== Configuration du routage postfix =====
Ligne 111: 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 120: 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
  
  
sysadmin/amavis.1349359233.txt.gz · Dernière modification: 2012/10/04 16:00 par james
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0