On Thu, 19 Jul 2001, Yann Forget wrote:

> Marc, comment filtres-tu le spam ?

Principes g�n�raux de l'anti-spam sur ALPHANET, cf
   http://www-internal.alphanet.ch/anti-spam.html

Sinon, petite description techniques:

   1. infrastructure de courrier �lectronique:

      MTA:
         sendmail 8.11.x
      MDA:
         procmail
      MUA:
         pine

      autres:      
         nf-popd
            lecture par POP, mot de passe diff�rents de ceux du syst�me
            daemon tr�s simple audit� en 1994
         UUCP
         FTN/ifmail
         BSMTP-Exchange
            Courrier �lectronique sous forme de batches SMTP compress�s
            �chang�s pour un domaine complet.

       trucs moches:
          le syst�me de mail consiste en fait de deux daemons sendmail,
          un 8.11.x pour SMTP, un 8.9.x pour le trafic `interne'. Cela
          pour des raisons historiques qui n'ont plus lieu d'�tre.
          Ni d'ailleurs vulcan, machine qui date de 1995 et qui pourrait
          �tre avantageusement remplac�e.

   2. syst�me anti-spam

      0. les tests de base d'anti-relaying: seuls les domaines g�r�s
         par mon syst�me de mails peuvent �tre utilis�s comme To:,
         sinon le mail est rejet�, sauf pour les adresses internes qui
         utiliseraient SMTP (dans mon cas il n'y a que quelques personnes
         acc�dant par modem et PPP le syst�me), et bien s�r UUCP/BSMTP/FTN
         et les clients locaux qui font ce qu'ils veulent.

      1. premier niveau: le mail n'est *pas* transf�r�.
         Le refus est bas� sur l'adresse IP d'�mission, via un syst�me
         bas� sur un DNS que l'on a l�g�rement abus�, mais bon il
         adore �a ce vicieux.

            DUL
               Les listes d'adresses en dialup
            RBL/et les autres
               Listes d'adresses de spammers connus ou de relais ouverts.

         cf http://www.mail-abuse.org

         Exemple:

         Jul 18 00:20:42 vulcan sendmail[22668]: f6HMKa122668:
         ruleset=check_relay,arg1=emelgur.com.ec, arg2=200.41.3.82,
         relay=emelgur.com.ec [200.41.3.82], reject=553
         5.3.0 Rejected 200.41.3.82 see http://mail-abuse.org

         Environ 400 mails par jour sont refus�s sur ALPHANET par ce
         biais.

         Support� par les r�gles standards de sendmail et de plein
         d'autres MTAs.

      2. deuxi�me niveau: les adresses d'enveloppe (MAIL FROM: SMTP)
         manifestement invalides (non r�solvables) sont rejet�es.

         Environ une vingtaine par jour, dont probablement 95% de
         personnes avec des syst�mes de mail mal configur�s (genre
         deux serveurs DNS dont un qui ne sait pas qu'il est secondaire).

      3. troisi�me niveau: une fois le mail TRANSFERE par le syst�me de
         mail, le mail, sauf s'il correspond � des crit�res d�termin�s,
         est pass� � travers une moulinette de regexp Perl, via
         l'interface libmilter de sendmail. Chaque mail prend environ
         10 secondes pour �tre contr�l�, en moyenne.

         Les mails sont rejet�s avec l'erreur distincte:

            SPAM REJECTED

         *puis stock�s quand m�me dans un fichier sur le serveur*. Ce
         fichier est consult� par mes soins assez r�guli�rement, pour
         d�tecter des erreurs manifestes des filtres.

         Environ une centaine par jour sont rejet�s par ce syst�me, qui
         a environ 2-3 erreurs par jour, en g�n�ral en rafale, p.ex.
         d� � une phrase cl� cit�e dans une mailing-list p.ex.

      4. quatri�me niveau: une fois le mail re�u par l'utilisateur final,
         si celui-ci est un spam, l'utilisateur peut envoyer le message
         et tous les headers � [EMAIL PROTECTED], qui va tout
         d'abord passer le message � un filtre procmail/junkfilter.
         Les messages qui activent junkfilter sont les premiers � �tre
         manuellement consult�s pour am�lioration des r�gles de filtrage.
         
Donc c'est un syst�me assez complexe qui me prend environ 10 minutes par
jour pour le peaufiner. Mais bon, auparavant je recevais environ 10
� 20 spams dans ma bo�te-aux-lettres personne par jour, maintenant plut�t
2-3.

Il manque encore pour que je sois content:

   - un syst�me de lecture rapide des spams (p.ex. par interface WWW)
     permettant de grouper les mails par similitudes et faire des group
     kills ou group unkills.

   - et pourquoi pas licencier le gars qui lit la mailbox d'announce-spam
     (moi) et remplacer par un r�seau de neuronnes, hein :)

Mauvaise nouvelle: d'ici la fin du mois le service MAPS sera d�sactiv� (le
premier niveau ci-dessus), cf les URLs pr�c�demments indiqu�s et: 

   http://www-internal.alphanet.ch/cgi-bin/ticket-system/ttview?view=20010716-1

A mon avis cela ne va pas augmenter le nombre de spams re�us (� cause du
niveau 3) mais cela va augmenter la charge de vulcan et le boulot de tri
des spams / messages non spams (false hits).


--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se d�sabonner aussi.

Répondre à