Nous allons maintenant installer un anti-spam pour notre serveur de messagerie, afin de marquer les messages non sollicités (pourriel) en préfixant le sujet par [SPAM].

Installation de l'anti-spam (spamassassin)

yum install -y spamassassin

Configuration

Spamassassin

  1. Editer le fichier /etc/mail/spamassassin/local.cf et modifier le comme ci-dessous:

    vim /etc/mail/spamassassin/local.cf

    required_hits 5
    report_safe 0
    required_score 5
    rewrite_header Subject [SPAM]
  2. Mettre à jour les règles de spamassassin.

    sa-update

  3. Activer et démarrer spamassassin.

    systemctl enable spamassassin
    systemctl start spamassassin
    systemctl status spamassassin

    ● spamassassin.service - Spamassassin daemon
       Loaded: loaded (/usr/lib/systemd/system/spamassassin.service; disabled; vendor preset: disabled)
       Active: active (running) since sam 2016-01-16 09:26:51 CET; 58s ago
      Process: 5955 ExecStart=/usr/bin/spamd --pidfile /var/run/spamd.pid $SPAMDOPTIONS (code=exited, status=0/SUCCESS)
      Process: 5953 ExecStartPre=/sbin/portrelease spamd (code=exited, status=0/SUCCESS)
     Main PID: 5959 (/usr/bin/spamd )
       CGroup: /system.slice/spamassassin.service
               ├─5959 /usr/bin/spamd --pidfile /var/run/spamd.pid -d -c -m5 -H
               ├─5960 spamd child
               └─5961 spamd child
      ...

Postfix

  1. Editer le fichier /etc/postfix/master.cf et ajouter les lignes ci-dessous (en gras):
    ...
    # ==========================================================================
    # service type  private unpriv  chroot  wakeup  maxproc command + args
    #               (yes)   (yes)   (yes)   (never) (100)
    # ==========================================================================
    smtp      inet  n       -       n       -       -       smtpd
      -o content_filter=spamassassin
    ...
    ifmail    unix  -       n       n       -       -       pipe
      flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
    bsmtp     unix  -       n       n       -       -       pipe
      flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
    spamassassin unix -     n       n       -       -       pipe
            user=nobody argv=/usr/bin/spamc -f -e
            /usr/sbin/sendmail -oi -f ${sender} ${recipient}
  2. Redémarrer le service postfix.

    systemctl restart postfix

Test de l'anti-spam

Envoyer un message depuis un domaine externe (Hotmail, Gmail ...) à une adressse de votre serveur de messagerie avec comme sujet Test anti-spam et dans le corps du message la contenu ci-dessous:

XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X

Vous devriez reçevoir ce message avec le sujet "tagué" par [SPAM] ([SPAM] Test anti-spam).

Maintenant vous diposez d'un serveur de messagerie simple mais opérationnel.