Journal système de courrier et filtrage.

Posté par  .
Étiquettes : aucune
0
22
jan.
2004
Bonjour,

Je suis un peu tout perdu, non pas à cause d'un manque d'information, mais parce qu'il y en a beaucoup trop et que je ne sais pas ou chercher.

Mais revenons quelques heures en arrière : mon frère regarde les infos et réalise l'existence du nouveau ver à la mode et réalise paniqué qu'il l'a exécuté quelques heures auparavent.
Le pire aura été évité à coup d'antivirus, mais en plus de lui avoir expliqué ce qu'il fallait et ne fallait pas faire pour éviter les virus, j'aimerais mettre en place un système de mail qui permette de filtrer les messages pour supprimer les spams et les virus.

Je m'explique. Sur mon réseau, il y a un super serveur, ma machine (debian) et celle de ma famille (windows et pas le choix, saimal). Chacun d'entre nous à sa propre boite à lettre (sur free et sur no-log.org). L'idée n'est donc pas de recevoir directement le courrier sur mon domaine (que je n'ai pas) mais d'aller chercher le courrier sur les serveurs distants (donc j'ai pensé a fetchmail) et de le stocker sur le serveur (donc j'ai pensé mettre un serveur pop).

Le système fetchmail + qpopper fonctionne pas mal, un cron va chercher mon courrier et le mets dans /var/mail/<mon utilisateur>, et avec un mua on peut se connecter sur le serveur pour télécharger son courrier.

Toutefois, je n'ai pas réussi a filtrer au passage, et je ne sais pas trop comment m'y prendre.
Toutes les documentations que j'ai trouvé parle de postfix ou autre sendmail, de procmail, de ...

bref, je suis perdu :/
Je ne cherche pas la méthode complète, mais la solution (je voudrais qu'on me dise "pour tes besoins, tu as besoin de ça, ça et ça, ce truc là ne t'est pas utile", j'espère pouvoir me demerder avec ça).

Si en bonus vous avez une documentation sympa qui me donne une méthode, je prend aussi :)
  • # Re: système de courrier et filtrage.

    Posté par  . Évalué à 2.

    J'ai pas de doc sympa mais j'ai un système similaire (boite quelque part -> fetchmail -> imaps local).

    En gros, il y a plusieurs manières de filtrer, ça dépend de ton smtp. Si tu veux un système qui ne dépende pas de ton smtp, passe par procmail.

    Il te faut un /etc/procmailrc général, et dans le ~/ de chaque utilisateur que tu veux filtrer un fichier .forward avec pour contenu
    |/usr/bin/procmail

    Il y'a bien entendu 300 autres méthodes, mais celle-ci est véritablement la plus simple, à mon sens. Si je devais mettre en place un tel système aujourd'hui, je ne ferais plus ainsi (d'ailleurs je ne fais plus ainsi aujourd'hui !), préférant passer par la conf d'exim directement, mais ça reste simple efficace.

    De plus, tes utilisateurs peuvent s'ajouter des règles spécifiques de filtrage en créent un ~/.procmailrc

    Bien entendu, tu n'échappes pas à l'écriture d'un procmailrc, ceci dit y a plein de doc sur le net, comme tu l'a remarqué.

    Donc pour répondre à « je voudrais qu'on me dise "pour tes besoins, tu as besoin de ça, ça et ça, ce truc là ne t'est pas utile" », le plus court est procmail, le plus facilement extensible, il est très puissant, je te conseille de l'utiliser. Il suffit pour cela de mettre un .forward qui va bien. Le /etc/procmailrc sera lu pour tous, et en plus chaque utilisateur peut avoir son ~/.procmailrc


    A titre d'exemple, voici mon procmailrc (en fait une compile du /etc/procmailrc et de mon ~/.procmailrc) qui peut donner quelques idées. Certains trucs sont en commentaires parce qu'ils marchent pas parfaitement, mais le reste est ok, 'en production' depuis des mois.

    http://stock.coleumes.org/doc.php?i=/.procmailrc(...)
    • [^] # Re: système de courrier et filtrage.

      Posté par  . Évalué à 1.

      J'avais essayé la méthode procmail, mais ca ne collait pas : apparement ça modifiait les boite à lettre des utilisateurs (empechant de les récuperer par le serveur pop ensuite), mais je n'avais pas utilisé la même configuration (j'avais utilisé une doc qui triait le courrier en différents boite à lettre, alors que dans ma configuration le courrier est dans /var/mail/).

      Je vais essayer ça et je vous tient informé :)
      • [^] # Re: système de courrier et filtrage.

        Posté par  . Évalué à 2.

        Je pense que vos courriels sont stocké au format mbox,

        Vous devez avoir une entrée comme ceci

        DEFAULT=/var/mail/$USER

        (attention, dans mon exemple en lien, j'utilise le format maildir, il y'a un donc un slash après le nom de l'emplacement (/Maildir/), ce qui fait que procmail fait du maildir au lieu de mailbox)

        Bien entendu, dans votre cas, si procmail ne doit pas faire de tri entre différentes boites mais uniquement mettre à la poubelle les fichiers avec des attachements, vous devez avoir beaucoup moins de tests.
  • # Re: système de courrier et filtrage.

    Posté par  . Évalué à 1.

    En fait, j'ai trouvé, et c'est vraiment trop simple (je me suis fait piéger par la quantité d'information sur le sujet en suivant des bouts de documentation un peu partout).

    Dans mon /etc/procmailrc, j'ai mis :
    <2/3 trucs de configuration élémentaire>

    :Ofw
    | spamassassin

    Et ce qui faisait que ca ne marchait pas, c'est que j'utilisais fetchmail -m /usr/bin/procmail, qui me filtrait mes mails et modifiait la boite à lettre.
    Si j'invoque juste 'fetchmail', les messages sont toujours transmis avec procmail (qui appelle spamassassin) mais il n'y a pas conversion de la boite à lettre, et du coup ca marche nickel.

    Pendant que j'y suis, j'ai installé sanitizer : http://www.impsec.org/email-tools/procmail-security.html(...) ¹ qui a l'air de faire ce que je veux au niveau des virus et autre vers (mais je n'en ai pas sous la main pour tester :/) et j'ai rajouté dans mon procmailrc :
    :0fw
    | sanitizer

    c'était très facile en fait, et je suis content d'aller me coucher, mais je vais aller lancer du pingouin sur http://1337-face.dk/pingvin.htm(...) avant.

    ¹: si quelqu'un pouvait m'expliquer la signification de la toute toute petite ligne tout en bas de la page qui parle de scientologie, ca peut-être interessant.
    • [^] # Re: système de courrier et filtrage.

      Posté par  . Évalué à 1.

      >un cron va chercher mon courrier
      Normalement, avec fetchmail, tu n'est pas obligé d'utiliser un cron. Tu peux le lancer en demon.
      "set daemon 1200" dans fetchmailrc indique qu'il doit récuperer les mails toute les 1200 secondes.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.