Le serveur de mail que nous utilisons est Postfix. Le but de ce petit bloc note est d’intégrer directement dans le processus de réception des mails l’éradiction des spams. Comme nous allons aussi avoir besoin de faire marcher un antivirus dans cette chaine, nous allons utilisez la méthode d’intégration de spamassin grace à amavis.
Etape 1 : Installation des logiciels sur le serveur
SpamAssassin est un outil sous licence licence Apache Software License qui permet de filtrer le trafic des courriels à l’arrivée et à la sortie du serveur de mail afin d’éradiquer ceux reconnus comme pourriels ou courriels non sollicités.
Pyzor est un système collaboratif en réseau de détection et de blocage des spams qui utilise des définitions de messages définit par ses utilisateurs. Ce système se met à jour directement depuis le serveur des développeurs ce qui permet d’avoir une liste à jour.
Razor
ClamAv est un logiciel antivirus très utilisé sous UNIX. Il est généralement utilisé avec les serveurs de courriels pour filtrer les courriers comportant des virus. Les virus ciblés sont très majoritairement des virus s’attaquant au système d’exploitation Microsoft Windows et non pas aux systèmes sur lesquels ClamAV s’installe, qui sont peu menacés par les virus.
Amavisd-new is a high-performance interface between mailer (MTA) and content checkers : virus scanners, and/or SpamAssassin. It is written in Perl for maintainability, without paying a significant price for speed. It talks to MTA via (E)SMTP or LMTP, or by using helper programs. Best with Postfix, fine with dual-sendmail setup and Exim v4, works with sendmail/milter, or with any MTA as a SMTP relay. For Courier and qmail MTA integration there is a patch in the distributed package.
Installons tout cela :
- sudo apt-get install spamassassin spamc pyzor razor unrar lha arj unzoo amavisd-new dcc-common dcc-server clamav-daemon clamav-testfiles libmail-dkim-perl re2c libsys-syslog-perl libtextcat0
Etape 2 : Configuration de l’ensemble
1. Configurer Postfix
Dans le fichier master.cf (/etc/postfix/master.cf) :
Rajouter en fin de fichier les lignes suivantes :
- smtp inet n - - - - smtpd
- -o content_filter=spamassassin
- smtp-amavis unix - - n - 2 smtp
- -o smtp_data_done_timeout=1200
- -o disable_dns_lookups=yes
- 127.0.0.1:10025 inet n - 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 smtpd_error_sleep_time=0
- -o smtpd_soft_error_limit=1001
- -o smtpd_hard_error_limit=1000
- -o receive_override_options=no_address_mappings
- #suite de spamassassin: ne pas oublier un espace avant spamassassin
- spamassassin unix - n n - - pipe
- user=nobody argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
- spamassassin unix - n n - - pipe
- user=nobody argv=/usr/bin/spamc -f -e
- /usr/sbin/sendmail -oi -f ${sender} ${recipient}
2. Configuration de spamassassin
Spamconfig est un utilitaire en ligne qui permet de configurer le plus simplement du monde spamassassin donc nous allons éviter de nous prendre trop la tête et l’utiliser.
Le fichier généré doir être ensuite copier dans /etc/spamassassin/local.cf
Le notre ressemble à cela :
- # SpamAssassin config file for version 3.x
- # NOTE: NOT COMPATIBLE WITH VERSIONS 2.5 or 2.6
- # See http://www.yrex.com/spam/spamconfig25.php for earlier versions
- # Generated by http://www.yrex.com/spam/spamconfig.php (version 1.50)
- # How many hits before a message is considered spam.
- required_score 7.5
- # Change the subject of suspected spam
- rewrite_header subject [SPAM]
- # Encapsulate spam in an attachment (0=no, 1=yes, 2=safe)
- report_safe 1
- # Enable the Bayes system
- use_bayes 1
- # Enable Bayes auto-learning
- bayes_auto_learn 1
- # Enable or disable network checks
- skip_rbl_checks 0
- use_razor2 1
- use_dcc 1
- use_pyzor 1
- # Mail using languages used in these country codes will not be marked
- # as being possibly spam in a foreign language.
- ok_languages all
- # Mail using locales used in these country codes will not be marked
- # as being possibly spam in a foreign language.
- ok_locales all
Il est maintenant nécessaire d’activer les plugins pour spamassassin dans /etc/mail/spamassassin/v310.pre
- # This is the right place to customize your installation of SpamAssassin.
- #
- # See 'perldoc Mail::SpamAssassin::Conf' for details of what can be
- # tweaked.
- #
- # This file was installed during the installation of SpamAssassin 3.1.0,
- # and contains plugin loading commands for the new plugins added in that
- # release. It will not be overwritten during future SpamAssassin installs,
- # so you can modify it to enable some disabled-by-default plugins below,
- # if you so wish.
- #
- ###########################################################################
- # DCC - perform DCC message checks.
- #
- # DCC is disabled here because it is not open source. See the DCC
- # license for more details.
- #
- loadplugin Mail::SpamAssassin::Plugin::DCC
- # Pyzor - perform Pyzor message checks.
- #
- loadplugin Mail::SpamAssassin::Plugin::Pyzor
- # Razor2 - perform Razor2 message checks.
- #
- loadplugin Mail::SpamAssassin::Plugin::Razor2
- # SpamCop - perform SpamCop message reporting
- #
- loadplugin Mail::SpamAssassin::Plugin::SpamCop
- # AntiVirus - some simple anti-virus checks, this is not a replacement
- # for an anti-virus filter like Clam AntiVirus
- #
- #loadplugin Mail::SpamAssassin::Plugin::AntiVirus
- # AWL - do auto-whitelist checks
- #
- loadplugin Mail::SpamAssassin::Plugin::AWL
- # AutoLearnThreshold - threshold-based discriminator for Bayes auto-learning
- #
- loadplugin Mail::SpamAssassin::Plugin::AutoLearnThreshold
- # TextCat - language guesser
- #
- loadplugin Mail::SpamAssassin::Plugin::TextCat
- # AccessDB - lookup from-addresses in access database
- #
- #loadplugin Mail::SpamAssassin::Plugin::AccessDB
- # WhitelistSubject - Whitelist/Blacklist certain subject regular expressions
- #
- loadplugin Mail::SpamAssassin::Plugin::WhiteListSubject
- ###########################################################################
- # experimental plugins
- # DomainKeys - perform DomainKeys verification
- #
- # External modules required for use, see INSTALL for more information.
- # Note that this may be redundant if you also plan to use the DKIM plugin.
- #
- #loadplugin Mail::SpamAssassin::Plugin::DomainKeys
- # MIMEHeader - apply regexp rules against MIME headers in the message
- #
- loadplugin Mail::SpamAssassin::Plugin::MIMEHeader
- # ReplaceTags
- #
- loadplugin Mail::SpamAssassin::Plugin::ReplaceTags
Enfin dans /etc/default/spamassassin il est nécessaire de mettre la valeur de ENABLED à 1 ce qui permet à spamd, le démon de spamassassin de se lancer au démarrage.
Relancer postfix et spamd :
- /etc/init.d/spamassassin restart
- /etc/init.d/postfix restart
