Configuration Serveur · 6 min read · Sep 28, 2025
Utilisateurs et domaines virtuels avec Postfix, Courier, MySQL et SquirrelMail (Debian Lenny) - Page 3
9 Installer amavisd-new, SpamAssassin et ClamAV
Pour installer amavisd-new, spamassassin et clamav, exécutez la commande suivante :
apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 libnet-ph-perl libnet-snpp-perl libnet-telnet-perl nomarch lzop paxEnsuite, nous devons configurer amavisd-new. La configuration est répartie dans divers fichiers qui se trouvent dans le répertoire /etc/amavis/conf.d. Jetez un œil à chacun d’eux pour vous familiariser avec la configuration. La plupart des paramètres sont corrects, cependant, nous devons modifier trois fichiers :
Tout d’abord, nous devons activer ClamAV et SpamAssassin dans /etc/amavis/conf.d/15-content_filter_mode en décommentant les lignes @bypass_virus_checks_maps et @bypass_spam_checks_maps :
vi /etc/amavis/conf.d/15-content_filter_modeLe fichier devrait ressembler à ceci :
| use strict; # Vous pouvez modifier ce fichier pour réactiver la vérification des SPAM via spamassassin # et pour réactiver la vérification antivirus. # # Mode de vérification antivirus par défaut # Décommentez les deux lignes ci-dessous pour le réactiver # @bypass_virus_checks_maps = ( \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re); # # Mode de vérification SPAM par défaut # Décommentez les deux lignes ci-dessous pour le réactiver # @bypass_spam_checks_maps = ( \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re); 1; # assurez un retour défini |
Ensuite, vous devriez jeter un œil aux paramètres de spam et aux actions pour les courriels de spam/virus dans /etc/amavis/conf.d/20-debian_defaults. Il n’est pas nécessaire de changer quoi que ce soit si les paramètres par défaut vous conviennent. Le fichier contient de nombreuses explications, donc il n’est pas nécessaire d’expliquer les paramètres ici :
vi /etc/amavis/conf.d/20-debian_defaults| [...] $QUARANTINEDIR = "$MYHOME/virusmails"; $quarantine_subdir_levels = 1; # activer le hachage du répertoire de quarantaine $log_recip_templ = undef; # désactiver les entrées de journal de niveau-0 par destinataire $DO_SYSLOG = 1; # journaliser via syslogd (préféré) $syslog_ident = 'amavis'; # balise d'identification syslog, préfixée à tous les messages $syslog_facility = 'mail'; $syslog_priority = 'debug'; # passez à info pour supprimer la sortie de débogage, etc $enable_db = 1; # activer l'utilisation de BerkeleyDB/libdb (SNMP et nanny) $enable_global_cache = 1; # activer l'utilisation du cache basé sur libdb si $enable_db=1 $inet_socket_port = 10024; # socket d'écoute par défaut $sa_spam_subject_tag = '*SPAM* '; $sa_tag_level_deflt = 2.0; # ajouter des en-têtes d'information sur le spam si à ce niveau ou au-dessus $sa_tag2_level_deflt = 6.31; # ajouter des en-têtes 'spam détecté' à ce niveau $sa_kill_level_deflt = 6.31; # déclenche des actions d'évasion de spam $sa_dsn_cutoff_level = 10; # niveau de spam au-delà duquel un DSN n'est pas envoyé [...] $final_virus_destiny = D_DISCARD; # (données non perdues, voir quarantaine de virus) $final_banned_destiny = D_BOUNCE; # D_REJECT lorsque MTA frontal $final_spam_destiny = D_BOUNCE; $final_bad_header_destiny = D_PASS; # Prone aux faux positifs (pour le spam) [...] |
Enfin, éditez /etc/amavis/conf.d/50-user et ajoutez la ligne $pax=’pax’; au milieu :
vi /etc/amavis/conf.d/50-user| use strict; # # Placez vos directives de configuration ici. Elles remplaceront celles des fichiers précédents. # # Voir /usr/share/doc/amavisd-new/ pour la documentation et des exemples des directives que vous pouvez utiliser dans ce fichier # $pax='pax'; #------------ Ne modifiez rien en dessous de cette ligne ------------- 1; # assurez un retour défini |
Ensuite, exécutez ces commandes pour ajouter l’utilisateur clamav au groupe amavis et redémarrer amavisd-new et ClamAV :
adduser clamav amavis
/etc/init.d/amavis restart
/etc/init.d/clamav-daemon restart
/etc/init.d/clamav-freshclam restartMaintenant, nous devons configurer Postfix pour diriger les e-mails entrants à travers amavisd-new :
postconf -e 'content_filter = amavis:[127.0.0.1]:10024'
postconf -e 'receive_override_options = no_address_mappings'Ensuite, ajoutez les lignes suivantes à /etc/postfix/master.cf :
vi /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 receive_override_options=no_unknown_recipient_checks,no_header_body_checks -o smtpd_bind_address=127.0.0.1 |
Puis redémarrez Postfix :
/etc/init.d/postfix restartMaintenant, exécutez
netstat -tapet vous devriez voir Postfix (master) à l’écoute sur le port 25 (smtp) et 10025, et amavisd-new sur le port 10024 :
server1:/etc/courier# netstat -tap
Connexions Internet actives (serveurs et établis)
Proto Recv-Q Send-Q Adresse locale Adresse étrangère État PID/Nom du programme
tcp 0 0 localhost.localdoma:800 *:* LISTEN 5288/famd
tcp 0 0 localhost.localdo:10024 *:* LISTEN 20746/amavisd (mast
tcp 0 0 localhost.localdo:10025 *:* LISTEN 21718/master
tcp 0 0 localhost.localdo:mysql *:* LISTEN 4559/mysqld
tcp 0 0 *:58219 *:* LISTEN 1486/rpc.statd
tcp 0 0 *:sunrpc *:* LISTEN 1475/portmap
tcp 0 0 *:ssh *:* LISTEN 1709/sshd
tcp 0 0 *:smtp *:* LISTEN 21718/master
tcp 0 148 server1.example.com:ssh localhost:3389 ÉTABLI 2055/0
tcp6 0 0 [::]:imaps [::]:* LISTEN 18254/couriertcpd
tcp6 0 0 [::]:pop3s [::]:* LISTEN 18282/couriertcpd
tcp6 0 0 [::]:pop3 [::]:* LISTEN 18265/couriertcpd
tcp6 0 0 [::]:imap2 [::]:* LISTEN 18237/couriertcpd
tcp6 0 0 [::]:www [::]:* LISTEN 4818/apache2
tcp6 0 0 [::]:ssh [::]:* LISTEN 1709/sshd
server1:/etc/courier#
### 10 Installer Razor, Pyzor et DCC et configurer SpamAssassin
Razor, Pyzor et DCC sont des filtres anti-spam qui utilisent un réseau de filtrage collaboratif. Pour installer Razor et Pyzor, exécutez
apt-get install razor pyzor
DCC n'est pas disponible dans les dépôts Debian Lenny, donc nous l'installons comme suit :
cd /tmp
wget http://www.dcc-servers.net/dcc/source/dcc-dccproc.tar.Z
tar xzvf dcc-dccproc.tar.Z
cd dcc-dccproc-1.3.102
./configure –with-uid=amavis
make
make install
chown -R amavis:amavis /var/dcc
ln -s /var/dcc/libexec/dccifd /usr/local/bin/dccifd
Maintenant, nous devons dire à SpamAssassin d'utiliser ces trois programmes. Éditez /etc/spamassassin/local.cf et ajoutez les lignes suivantes :
vi /etc/spamassassin/local.cf
| ```
[...]
#dcc
use_dcc 1
dcc_path /usr/local/bin/dccproc
#pyzor
use_pyzor 1
pyzor_path /usr/bin/pyzor
#razor
use_razor2 1
razor_config /etc/razor/razor-agent.conf
#bayes
use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1Ensuite, nous devons activer le plugin DCC dans SpamAssassin. Ouvrez /etc/spamassassin/v310.pre et décommentez la ligne loadplugin Mail::SpamAssassin::Plugin::DCC :
vi /etc/spamassassin/v310.pre| [...] # DCC - effectuer des vérifications de messages DCC. # # DCC est désactivé ici car il n'est pas open source. Voir la licence DCC pour plus de détails. # loadplugin Mail::SpamAssassin::Plugin::DCC [...] |
Vous pouvez vérifier votre configuration SpamAssassin en exécutant :
spamassassin --lintIl ne devrait pas afficher d’erreurs.
Redémarrez amavisd-new ensuite :
/etc/init.d/amavis restartMaintenant, nous mettons à jour nos ensembles de règles SpamAssassin comme suit :
sa-update --no-gpg(Ensuite, nous allons créer un job cron. Par défaut, la commande crontab -e lance l’éditeur nano sur Debian Lenny. Si vous êtes habitué à vi, vous voudrez peut-être changer cela :
update-alternatives --config editorSélectionnez votre éditeur préféré :
server1:/tmp/dcc-dccproc-1.3.102# update-alternatives –config editor
Il y a 4 alternatives qui fournissent `editor’.
Sélection Alternative
———————————————–
1 /bin/ed
+ 2 /bin/nano
3 /usr/bin/vim.tiny
4 /usr/bin/vim.nox
Appuyez sur entrée pour garder le défaut[], ou tapez le numéro de sélection : <– 4
Utilisation de ‘/usr/bin/vim.nox’ pour fournir ‘editor’.
server1:/tmp/dcc-dccproc-1.3.102# ) Nous créons un job cron afin que les ensembles de règles soient mis à jour régulièrement. Exécutez crontab -e pour ouvrir l’éditeur de jobs cron. Créez le job cron suivant : | 23 4 */2 * * /usr/bin/sa-update --no-gpg &> /dev/null | Cela mettra à jour les ensembles de règles tous les deux jours à 4h23. ### 11 Notifications de dépassement de quota Si vous souhaitez recevoir des notifications concernant tous les comptes de messagerie qui dépassent le quota, faites ceci : cd /usr/local/sbin/ wget http://puuhis.net/vhcs/quota.txt mv quota.txt quota_notify chmod 755 quota_notify Ouvrez /usr/local/sbin/quota_notify et éditez les variables en haut. Plus bas dans le fichier (vers la fin), il y a deux lignes où vous devez ajouter un signe % : vi /usr/local/sbin/quota_notify | [...] my $POSTFIX_CF = "/etc/postfix/main.cf"; my $MAILPROG = "/usr/sbin/sendmail -t"; my $WARNPERCENT = 80; my @POSTMASTERS = ('[email protected]'); my $CONAME = 'Ma Société'; my $COADDR = '[email protected]'; my $SUADDR = '[email protected]'; my $MAIL_REPORT = 1; my $MAIL_WARNING = 1; [...] print "Subject: WARNING: Votre boîte aux lettres est $lusers{ $luser}% pleine.\n"; [...] print "Votre boîte aux lettres : $luser est $lusers{ $luser}% pleine.\n\n"; [...] | Exécutez crontab -e pour créer un job cron pour ce script : | 0 0 * * * /usr/local/sbin/quota_notify &> /dev/null |
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.