Cet article décrit comment lutter contre le spam en installant sur votre serveur de mails le logiciel spamassassin couplé au logiciel procmail. Le serveur de mail que je vais configurer utilise Linux/Debian Sarge.

Tout d'abord je suppose que vous avez un serveur de mail qui fonctionne.

Installation de spamassassin

  1. Sous Linux/Debian en tant que root :

    apt-get install spamassasin

  2. Ensuite créez un utilisateur spamd qui sera utilisé plus tard pour lancer le démon de spamassassin :

    adduser --disabled-login --system --group spamd

  3. Dans /etc/default/spamassassin, modifiez les deux variables suivantes :

    ENABLED=1
    OPTIONS="-u spamd"

    La première permet d'activer l'utilisation du démon spamd, qui accélère le traitement des messages. La seconde permet d'exécuter spamd sous une identité non privilégiée (-u).

  4. Lancez le démon de spamassassin :

    /etc/init.d/spamassassin start
  5. Placez le code suivant dans votre ~/.procmailrc :

    :0fw
    | /usr/bin/spamc

    Ceci va demander à procmail de transmettre tous les mails à spamc (c'est un client spamassassin qui transmet au démon spamd les messages à tester).

  6. Vous pouvez intercepter les spams avant qu'ils n'arrivent dans votre boite mail en créant une boîte aux lettres supplémentaires et en ajoutant un filtre dans ~/.procmailrc :

  7. Faites maintenant des tests en vous envoyant des spams évidents et des messages normaux. Tous les messages normaux qui arrivent sur ce compte doivent comporter des en-têtes supplémentaires. Exemples :

    X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on zeitoun
    X-Spam-Level: 
    X-Spam-Status: No, score=-2.8 required=5.0 tests=ALL_TRUSTED autolearn=failed 
            version=3.0.2

    Les spams identifiés comprennent les en-têtes :

    X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on zeitoun
    X-Spam-Level: **************
    X-Spam-Status: Yes, score=14.4 required=5.0 tests=FORGED_MUA_OUTLOOK,
      FORGED_OUTLOOK_TAGS,HELO_DYNAMIC_IPADDR,HTML_MESSAGE,MIME_HTML_MOSTLY,
      MSGID_FROM_MTA_HOTMAIL,TO_MALFORMED,X_MESSAGE_INFO autolearn=no 
      version=3.0.2

    Le démon spamd écrit des informations dans le journal du système :

    grep spamd /var/log/syslog
    Apr 19 19:40:18 zeitoun spamd[8979]: connection from localhost.localdomain [127.0.0.1] at port 52220 
    Apr 19 19:40:18 zeitoun spamd[8979]: processing message <MC9-F34avN3qljWwY0V00077461@mc9-f34.hotmail.com> for kerphi:111. 
    Apr 19 19:40:19 zeitoun spamd[8979]: identified spam (14.4/5.0) for kerphi:111 in 0.6 seconds, 136243 bytes. 
    Apr 19 19:40:19 zeitoun spamd[8979]: result: Y 14 - FORGED_MUA_OUTLOOK,FORGED_OUTLOOK_TAGS,HELO_DYNAMIC_IPADDR,HTML_MESSAGE,MIME_HTML_MOSTLY,MSGID_FROM_MTA_HOTMAIL,TO_MALFORMED,X_MESSAGE_INFO scantime=0.6,size=136243,mid=<MC9-F34avN3qljWwY0V00077461@mc9-f34.hotmail.com>,autolearn=no 
    Apr 19 19:40:21 zeitoun spamd[8980]: connection from localhost.localdomain [127.0.0.1] at port 52224 
    Apr 19 19:40:21 zeitoun spamd[8980]: processing message <D9D5FFDB7800C54BBB584833A1DF4AC05343F5@keex01.winery.kingestate.com> for kerphi:111. 
    Apr 19 19:40:22 zeitoun spamd[8980]: clean message (4.2/5.0) for kerphi:111 in 0.4 seconds, 3558 bytes. 
    Apr 19 19:40:22 zeitoun spamd[8980]: result: .  4 - X_MESSAGE_INFO scantime=0.4,size=3558,mid=<D9D5FFDB7800C54BBB584833A1DF4AC05343F5@keex01.winery.kingestate.com>,autolearn=no 

Sources