Identifiants personnels


Moi ... Moi ... et re Moi
« [SPIP Core] Les autorisations   Informatique 

[Ubuntu Server] Installation et configuration de spamassassin

jeudi 20 décembre 2007, modifié le 15 septembre 2008, par Quentin Drouet

Une des associations pour laquelle je travaille héberge plusieurs projets webs d’autres structures sur ses serveurs.

Jusqu’à présent chacun hébergeait ses mails sur d’autres plateformes.

Cependant certains commencent à avoir besoin d’avoir leurs mails sur ce même serveur. Donc il devient nécessaire de faire en sorte que les spams soient éradiqués des boites emails. Pour cela nous allons étudier la solution spamassassin qui semble la plus largement utilisée sur les serveurs UNIX/LINUX

Note : Pour que les mails soient moins rejetés par les autres serveurs il est nécessaire d’ajouter un SPF Record aux noms de domaine. Pour le faire facilement on peut utiliser le wizard en ligne de openspf.

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.

Bogofilter

Postgrey

Installons tout cela :

  1. 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 :

  1. smtp      inet  n       -       -       -       -       smtpd
  2.    -o content_filter=spamassassin
  3.  
  4. smtp-amavis unix - - n - 2 smtp
  5. -o smtp_data_done_timeout=1200
  6. -o disable_dns_lookups=yes
  7.  
  8. 127.0.0.1:10025 inet n - n - - smtpd
  9. -o content_filter=
  10. -o local_recipient_maps=
  11. -o relay_recipient_maps=
  12. -o smtpd_restriction_classes=
  13. -o smtpd_client_restrictions=
  14. -o smtpd_helo_restrictions=
  15. -o smtpd_sender_restrictions=
  16. -o smtpd_recipient_restrictions=permit_mynetworks,reject
  17. -o mynetworks=127.0.0.0/8
  18. -o strict_rfc821_envelopes=yes
  19. -o smtpd_error_sleep_time=0
  20. -o smtpd_soft_error_limit=1001
  21. -o smtpd_hard_error_limit=1000
  22. -o receive_override_options=no_address_mappings
  23.  
  24. #suite de spamassassin: ne pas oublier un espace avant spamassassin
  25. spamassassin unix -     n       n       -       -       pipe
  26. user=nobody argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
  27.  
  28. spamassassin unix -     n       n       -       -       pipe
  29.         user=nobody argv=/usr/bin/spamc -f -e
  30.                 /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 :

  1. # SpamAssassin config file for version 3.x
  2. # NOTE: NOT COMPATIBLE WITH VERSIONS 2.5 or 2.6
  3. # See http://www.yrex.com/spam/spamconfig25.php for earlier versions
  4. # Generated by http://www.yrex.com/spam/spamconfig.php (version 1.50)
  5. # How many hits before a message is considered spam.
  6. required_score           7.5
  7.  
  8. # Change the subject of suspected spam
  9. rewrite_header subject         [SPAM]
  10.  
  11. # Encapsulate spam in an attachment (0=no, 1=yes, 2=safe)
  12. report_safe             1
  13.  
  14. # Enable the Bayes system
  15. use_bayes               1
  16.  
  17. # Enable Bayes auto-learning
  18. bayes_auto_learn              1
  19.  
  20. # Enable or disable network checks
  21. skip_rbl_checks         0
  22. use_razor2              1
  23. use_dcc                 1
  24. use_pyzor               1
  25.  
  26. # Mail using languages used in these country codes will not be marked
  27. # as being possibly spam in a foreign language.
  28. ok_languages            all
  29.  
  30. # Mail using locales used in these country codes will not be marked
  31. # as being possibly spam in a foreign language.
  32. ok_locales              all

Il est maintenant nécessaire d’activer les plugins pour spamassassin dans /etc/mail/spamassassin/v310.pre

  1. # This is the right place to customize your installation of SpamAssassin.
  2. #
  3. # See 'perldoc Mail::SpamAssassin::Conf' for details of what can be
  4. # tweaked.
  5. #
  6. # This file was installed during the installation of SpamAssassin 3.1.0,
  7. # and contains plugin loading commands for the new plugins added in that
  8. # release.  It will not be overwritten during future SpamAssassin installs,
  9. # so you can modify it to enable some disabled-by-default plugins below,
  10. # if you so wish.
  11. #
  12. ###########################################################################
  13. # DCC - perform DCC message checks.
  14. #
  15. # DCC is disabled here because it is not open source.  See the DCC
  16. # license for more details.
  17. #
  18. loadplugin Mail::SpamAssassin::Plugin::DCC
  19.  
  20. # Pyzor - perform Pyzor message checks.
  21. #
  22. loadplugin Mail::SpamAssassin::Plugin::Pyzor
  23.  
  24. # Razor2 - perform Razor2 message checks.
  25. #
  26. loadplugin Mail::SpamAssassin::Plugin::Razor2
  27.  
  28. # SpamCop - perform SpamCop message reporting
  29. #
  30. loadplugin Mail::SpamAssassin::Plugin::SpamCop
  31.  
  32. # AntiVirus - some simple anti-virus checks, this is not a replacement
  33. # for an anti-virus filter like Clam AntiVirus
  34. #
  35. #loadplugin Mail::SpamAssassin::Plugin::AntiVirus
  36. # AWL - do auto-whitelist checks
  37. #
  38. loadplugin Mail::SpamAssassin::Plugin::AWL
  39.  
  40. # AutoLearnThreshold - threshold-based discriminator for Bayes auto-learning
  41. #
  42. loadplugin Mail::SpamAssassin::Plugin::AutoLearnThreshold
  43.  
  44. # TextCat - language guesser
  45. #
  46. loadplugin Mail::SpamAssassin::Plugin::TextCat
  47.  
  48. # AccessDB - lookup from-addresses in access database
  49. #
  50. #loadplugin Mail::SpamAssassin::Plugin::AccessDB
  51. # WhitelistSubject - Whitelist/Blacklist certain subject regular expressions
  52. #
  53. loadplugin Mail::SpamAssassin::Plugin::WhiteListSubject
  54.  
  55. ###########################################################################
  56. # experimental plugins
  57. # DomainKeys - perform DomainKeys verification
  58. #
  59. # External modules required for use, see INSTALL for more information.
  60. # Note that this may be redundant if you also plan to use the DKIM plugin.
  61. #
  62. #loadplugin Mail::SpamAssassin::Plugin::DomainKeys
  63. # MIMEHeader - apply regexp rules against MIME headers in the message
  64. #
  65. loadplugin Mail::SpamAssassin::Plugin::MIMEHeader
  66.  
  67. # ReplaceTags
  68. #
  69. 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 :

  1. /etc/init.d/spamassassin restart
  2. /etc/init.d/postfix restart

Liens complémentaires

Répondre à cet article


Un message, un commentaire ?
  • (Pour créer des paragraphes, laissez simplement des lignes vides.)

Lien hypertexte (optionnel)
  • (Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d'informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

Qui êtes-vous ? (optionnel)
Connexion


Propulsé par : SPIP 2.0.0 dev SVN [12725]