Détecter les nouveaux spam avec ClamAV

Auteur : Olivier BOYER - oboyer () ajoute ! org

Mots clés

ClamAV, freschclam, anti-spam, antispam, images, pdf, xls, zip, Amavisd-new, Postfix, anti-virus, antivirus, passerelle, gateway, chroot, OpenBSD

Introduction

Ce document présente comment lutter contre les nouveaux types de spam (images, pdf, zip, …) avec le logiciel anti-virus ClamAV. Cette installation s'effectue après la configuration d'une passerelle anti-spam (réalisée avec Amavisd-new) et anti-virus (réalisée avec ClamAV).

Cette passerelle fonctionne dans un environnement à racine déplacée chroot) sur un système OpenBSD 4.3.

Présentation de la maquette

Les éléments suivants sont mis en oeuvre :

  • Un système OpenBSD 4.3
  • Un serveur de mails MTA Postfix
  • Un filtre anti-spam avec amavisd-new, ses modules Spamassassin et les agents Vipul’s Razor2
  • Un filtre anti-virus avec ClamAV

Le service amavisd-new s’exécute dans une cage, dont la racine est le répertoire /var/amavisd. Tous les composants liés à amavisd-new (les filtres anti-spam et anti-virus) s’exécutent dans le même environnement. Cependant, le filtre anti-spam s'exécute sous l'identité _vscan, tant dit que le filtre anti-virus s'exécute sous l'identité _clamav.

Schéma général

              +...................+
Courrier -->  :      Postfix      : --> Courrier 
Entrant       +...................+     Distribué
                    |    ^
                    |    |
                    v    |
              +....................................+
              :   Amavisd-new <------<----\        :
              :       |                   |        :
              :       v                   |        :
              :    ClamAV                 ^        :
              :       |                   |        :
              :       +->-Virus-détecté->-+        :
              :       |                   |        :
              :       v            +-------------+ :
              :  SpamAssassin      | Attribution | :
              :       |            |    d'une    | :
              :       v            |    note     | :
              : Vipul's Razor2     +-------------+ :
              :       |                   ^        :
              :       v                   |        :
              :       \-->----------->----/        :
              +....................................+

Note

Toutes les commandes présentées ici, sont à exécuter, sauf mention contraire, en tant qu'administrateur de la machine.

Pré-requis

  • Le serveur OpenBSD doit être installé et fonctionnel.
  • Le serveur de courriers Postfix [/usr/ports/mail/postfix] doit être installé et fonctionnel.
  • La passerelle anti-spam doit être installée en suivant cette procédure et fonctionnelle
  • La passerelle anti-virus doit être installée en suivant cette procédure et fonctionnelle

Présentation de la technique mise en oeuvre

Les nouveaux spams sont constitués d'un message vide, avec une seule pièce jointe. C'est ce fichier attaché qui contient la publicité. Cette technique permet de contourner les filtres anti-spam “classiques”. En effet, ceux-ci notent les courriers en fonction de mots clés repérés dans le corps du message, mais ils n'analysent pas le contenu des pièces jointes. Ils s'avèrent donc inefficaces face à cette pollution.

Une solution consiste à utiliser des bases de signatures de spam ou de virus. La technique est simple. Elle consiste à signer numériquement chaque message ou pièce jointe, et vérifier si cette signature est présente dans une base de spams ou de virus connus. Ces bases sont maintenues manuellement par les utilisateurs du monde entier, et doivent être régulièrement téléchargées sur la passerelle anti-spam et anti-virus.

Une autre solution possible est d'utiliser des listes noires d'émetteurs de courriers indésirables. Ainsi, quand la passerelle de messagerie reçoit un message provenant d'un spammeur connu, il est automatiquement rejeté.

Une méthode de détection des spams par signature des messages est déjà implémentée dans la passerelle, via l'utilisation du réseau Vipul's Razor2 et ses agents. La configuration est détaillée ici.

La technique mise en oeuvre dans ce document se base uniquement sur la signature des pièces jointes. Elle utilise le mécanisme de bases de signatures tiers offert par ClamAV. En effet, outre ses propres bases de signatures de virus, ClamAV peut utiliser des signatures fournies par d'autres projets. Les projets sanesecurity et msrbl fournissent des bases de signatures de spams images, pdf, xls, et de phishing. Ces dernières vont être téléchargées et intégrées à la passerelle anti-virus.

Installation des bases anti-spam

L'utilisation des bases décrites précédemment est très simple. Il suffit de les télécharger et de les copier dans le répertoire des bases de virus de ClamAV. Dans la configuration de la passerelle anti-virus, les signatures officielles de virus de clamd(8) sont mises à jour automatiquement via freshclam(1). Une fois la mise à jour effectuée, freshclam(1) relance clamd(8) pour prendre en compte les modifications. Cette opération permet aussi de prendre en compte les bases de sanesecurity et de msrbl.

Pour automatiser cette procédure, téléchargez le script sig_updater.sh.

Puis, éditez la crontab(5) de l'utilisateur root, avec la commande crontab(1) pour que ce script soit exécuté régulièrement. L'exemple ci-dessous exécute le script toutes les quatre heures :

1   */4  *    *     *    /path/to/sig_updater.sh

Liens

 
doc/openbsd/newspam.txt · Dernière modification: 2009/12/23 22:36 (édition externe)     Haut de page