Journal Script de désinscription massive (suite)

Posté par  (site Web personnel) . Licence CC By‑SA.
Étiquettes :
30
1
mar.
2020

Bonjour,

comme promis, voici un petit bilan concernant mon script de désinscription massive [1], faisant suite à mon journal du 17 février 2020 [2] :
date | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
------|----------------------------------------------------------------
spams | 18 18 02 03 01 05 05 03 04 05 02 05 02 04 07 02

La première version du script avait été lancée le samedi 15 février au soir : l'amélioration est nette dès le lendemain.
J'ai ensuite amélioré le script (v1.0) :
- expression régulière plus rigoureuse,
- récolte des adresses e-mails de désinscription quand il n'y a pas de lien http proposé.
Cette version a été lancée le 21 au soir (environ 1200 pourriels), et les 72 désinscriptions par courriel ont été effectuées par lots d'une vingtaine d'adresses les 22 et 23. Mais les statistiques ne montrent aucune évolution après ces dates.

Concernant les désinscriptions par courriel, j'ai envoyé plusieurs messages avec une vingtaine de destinataires (attention à ne pas passer pour un spammeur) et comme sujet "unsubscribe". Mais je ne sais pas quelles règles suivent en général les serveurs de désinscription : faut-il un destinataire unique ? Que faut-il mettre comme sujet de message ? (unsubscribe, autre chose, rien ?)

Enfin, il reste le problème des pages web de désinscription demandant à l'utilisateur de confirmer en cliquant sur un bouton, et éventuellement en sélectionnant dans une liste la raison de la désinscription. Je prévois d'accumuler une bonne cinquantaine de spams avant de relancer le script et d'identifier les sites qui nécessiteraient de cliquer sur un bouton.

Références

  1. https://github.com/vmagnin/unsubscribe
  2. https://linuxfr.org/users/vmagnin/journaux/script-pour-se-desinscrire-massivement-des-listes-publicitaires
  • # Ça ne prouve ... pas grand’ chose

    Posté par  (site Web personnel) . Évalué à 6. Dernière modification le 02/03/20 à 02:15.

    18 spams par jour, tu as de la chance. J’ai eu (dans le temps) des adresses avec largement plus de 200 spams par jour. Je suis limite tenté de dire que j’en ai encore beaucoup, mais je refuse pas mal de choses au niveau SMTP. D’ailleurs, dans les semaines qui ont suivi ces refus de relayer massivement au niveau SMTP, le nombre de tentatives d’envoi a baissé aussi. Je ne suis pas sûr que ce soit lié, mais je pense qu’à force de voir des refus, certains ont compris.

    J’avais même un nom de domaine avec plusieurs tentatives d’envoi de mail par seconde (à des adresses inexistantes, très très variées). Je suis sûr que c’était presque toujours (dans 99.99% des cas) le même spammeur. Autrement dit : certains spammeurs sont d’authentiques bourrins et peuveunt envoyer une bonne tétrachiée de spams. En fait, j’ai réussi à force de lire mes spams à en identifier plusieurs (identifiés via des règles procmail, grâce à des similitudes, je dois être un grand malade pour lire les headers de mes spams). Ça va, selon le spammeur, d’un spam par mois à une moyenne d’une trentaine par jour !

    Si ça se trouve, un seul de tes spammeur a respecté le List-Unsubscribe. Les autres pensent peut-être avoir reçu confirmation qu’un humain cherche à se désinscrire, et donc se mettent à envoyer plus massivement. Toujours mieux que de pas savoir si c’est lu ou pas.

    • [^] # Re: Ça ne prouve ... pas grand’ chose

      Posté par  . Évalué à 4.

      Si ça se trouve, un seul de tes spammeur a respecté le List-Unsubscribe.

      Le problème avec le label SPAM c’est que selon la personne avec qui on parle, la définition n’est pas la même.

      Si pour OP, le SPAM c’est les mails commerciaux des site où il s’inscrit, alors probablement que se désabonner est la solution. Si c’est les mails de phishing, de vente de viagra, etc. envoyés en masse, alors probablement qu’il n’y aura même pas d’en-tête List-Unsubscribe.

      • [^] # Re: Ça ne prouve ... pas grand’ chose

        Posté par  (site Web personnel) . Évalué à 1.

        Alors (puisque je les lis) : la présence d’un header List-Unsubscribe est une chose rare sur un « vrai » spam (type Viagra), mais absolument pas inexistante.

        Après, si le but est de désabonner massivement de listes commerciales de gens qui respectent la loi, ou au moins un moins un code de bonne conduite visant à ne pas pourrir les boites mails qui ne veulent plus recevoir de communications, effectivement, c’est un peu plus intérêssant.

  • # Protonmail

    Posté par  . Évalué à 5.

    Pour info, le désabonnement automatiquement des listes de diffusion est une fonctionnalité de ProtonMail. Ça fonctionne peu importe si List-Unsubscribe contient une adresse email ou une URL.

    J’ai pas trouvé le code source associé, mais peut-être qu’en fouillant dans leur Github, tu pourrais trouver de l’inspiration.

    • [^] # Re: Mailo

      Posté par  . Évalué à 1.

      Même chose pour mailo.com (anciennement Netcourrier) qui détecte également les newsletters pour les mettre dans un répertoire dédié.

      P.S. Un petit coup de pub par un usager heureux du service gratuit

  • # Mais quand "Adresse From: inconnue en DNS" ?

    Posté par  (site Web personnel) . Évalué à 2. Dernière modification le 02/03/20 à 15:24.

    Ce script es tune bonne idée, mais quand on a un certain nom de pourriels répondant à ces caractéristiques, se désinscrire est impossible non ?

    6.5 IN_RBLINV_SPAM RBL: Listed for spam.
    [195.62.47.177 listed in rblinv.jabatus]
    6.5 URIBL_RBLINV_SPAM Contains a spam URL listed in the DBL blocklist
    [URIs: ezballin.com]
    0.4 NO_DNS_FOR_FROM DNS: Adresse From: inconnue en DNS (pas
    d'enregistrement MX)
    0.0 SPF_NONE SPF: sender does not publish an SPF Record
    0.1 DKIM_ADSP_NXDOMAIN No valid author signature and domain not in DNS
    0.0 SPF_HELO_FAIL SPF: HELO does not match SPF record (fail)

    Soit dit en passant, ça me donne une idée pour les faire atterrir directement dans la poubelle au lieu de la corbeille des pourriels.

    « Tak ne veut pas quʼon pense à lui, il veut quʼon pense », Terry Pratchett, Déraillé.

    • [^] # Re: Mais quand "Adresse From: inconnue en DNS" ?

      Posté par  (site Web personnel) . Évalué à 4.

      0.4 NO_DNS_FOR_FROM DNS: Adresse From: inconnue en DNS (pas d'enregistrement MX)

      À ma connaissance, les grands fournisseurs comme GMail purgent ces courriels avant même l’arrivée dans le dossier spams.

      Si les outils que tu utilises rendent au moins aussi facile pour toi de supprimer de tels courriels que de les placer dans les spams, où si le surcoût pour toi n’est pas démesuré, tu n’as rien à perdre à les détruire à vue.

      Dans certaines circonstances, si tu opères un serveur de redirection par exemple, tu serais tenu responsable de ne pas le faire par les acteurs qui viennent après toi dans la chaîne de livraison (pour reprendre cet exemple, un serveur de redirection qui redirige du spam est techniquement considéré comme la source du spam). Dans ce cas, c’est un devoir de prendre les moyens nécessaire pour purger de tels courriels. Remarque en passant : pour des raisons similaires, opérer un serveur de redirection sans greylisting est du suicide.

      Il y a quelques règles comme celles-là où la volonté de dépenser de l’énergie et du temps à traiter le courriel, ne serait-ce que pour le mettre dans un dossier spam, relèverait d’un trouble obsessionnel. Historiquement on appelle cela de l’idolâtrie (servir un culte à quelque chose qui n’en vaut pas la peine).

      Puisque le courriel te parvient avec cette entête c’est qu’il est traité par la chaîne de livraison. Si tu n’opères pas le serveur mail et que tu n’as pas de pouvoir d’administration dessus, tu es en droit d’exiger de ton fournisseur qu’il purge ces courriels et t’épargne de devoir les traiter : tu n’as pas à subir ces pourriels, et il te serait légitime de considérer qu’il y a un manquement dans la chaîne de livraison.

      ce commentaire est sous licence cc by 4 et précédentes

      • [^] # Re: Mais quand "Adresse From: inconnue en DNS" ?

        Posté par  (site Web personnel) . Évalué à 5.

        Ce sont mes noms de domaine et mon serveur (mutualisé).

        Il faudrait que je sois capable de configurer le serveur de courriel au petit poil, ce qui n'est pas le cas. Donc je reçois tous les pourriels, dont certains qui n'en sont pas. Et nettement plus de pourriels de ce type que du type dont je peux me désabonner en fait.

        « Tak ne veut pas quʼon pense à lui, il veut quʼon pense », Terry Pratchett, Déraillé.

        • [^] # Re: Mais quand "Adresse From: inconnue en DNS" ?

          Posté par  (site Web personnel) . Évalué à 4.

          OKOK, donc en fait ton seul moyen d’action est entre ton serveur de mail et ton client de messagerie inclus, donc si tu configures la suppression dans ton client de messagerie j’imagine que l’impact écologique reste acceptable. =)

          Ça n’est pas comparable avec l’hypothèse d’un fournisseur de centaine/milliers/millions de boîtes qui au lieu de purger ces spams qui ne laissent aucun doute sur leur nature, les traiterait par négligence. Ce n’est pas le même ordre de grandeur. %)

          ce commentaire est sous licence cc by 4 et précédentes

      • [^] # Re: Mais quand "Adresse From: inconnue en DNS" ?

        Posté par  (site Web personnel) . Évalué à 3.

        « À ma connaissance, les grands fournisseurs comme GMail purgent ces courriels avant même l’arrivée dans le dossier spams. »

        Je ne sais pas pour Gmail, mais c’est une fonctionnalité de base de Postfix (et d’autres MTA) qui est très souvent activée par les administrateurs systèmes. (Par contre, c’est le From de l’enveloppe qui est vérifié, pas le From du mail en lui-même. Car il y a deux « From » en SMTP… ).

        Voir « Postix Antispam » (ou le nom de votre MTA, je serais étonné qu’Exim et Sendmail ne puissent le faire aussi) dans votre moteur de recherche web préférée.

        • [^] # Re: Mais quand "Adresse From: inconnue en DNS" ?

          Posté par  . Évalué à 4.

          Avec Postfix, tu peux utiliser : smtpd_sender_restrictions = reject_unknown_sender_domain.

          Et si ça peut aider, voici la configuration que j’utilise :

          smtpd_helo_required = yes
          
          smtpd_client_restrictions =
            permit_sasl_authenticated,
            permit_mynetworks,
            reject_rbl_client zen.spamhaus.org,
            permit
          
          smtpd_helo_restrictions =
            permit_sasl_authenticated,
            reject_invalid_helo_hostname,
            reject_non_fqdn_helo_hostname,
            reject_unauth_pipelining,
            permit
          
          smtpd_sender_restrictions =
            reject_non_fqdn_sender,
            reject_unknown_sender_domain,
            permit_sasl_authenticated,
            reject_unauth_pipelining,
            permit
          
          smtpd_recipient_restrictions =
            reject_non_fqdn_recipient,
            reject_unknown_recipient_domain,
            permit_sasl_authenticated,
            reject_unauth_destination,
            reject_unauth_pipelining,
            check_policy_service inet:localhost:25001, # Postgrey
            permit
          

          Couplé à SpamAssassin (avec dovecot-antispam pour le déplacement automatique vers le dossier SPAM ou le déclassement des faux positifs), ça marche plutôt bien. Tu recevras toujours du spam, mais au moins il n’ira plus dans ta INBOX.

          Pour Spamhaus, je suis pas fan d’être dépendant d’un service tiers, mais faut reconnaître que ça aide bien, avec Postgrey, ça doit couper 90% des spam (tout ceux envoyé en direct et qui ne se servent pas d’un serveur relais qui ferait son travail correctement).

          • [^] # Re: Mais quand "Adresse From: inconnue en DNS" ?

            Posté par  (site Web personnel) . Évalué à 3. Dernière modification le 03/03/20 à 15:10.

            Mon spam à moi va dans la bonne boite, celle prévue pour. Et il y a des trucs qui échappent aux routines dans les deux sens.
            Merci pour la configuration, je vais voir ce qu'il est possible de faire au niveau du serveur.

            « Tak ne veut pas quʼon pense à lui, il veut quʼon pense », Terry Pratchett, Déraillé.

  • # Mac OS X et Apple Mail

    Posté par  . Évalué à 1.

    C'est tardif mais j'ai essayé ton script sur Mac OS X avec Apple Mail. Par défaut ça ne peut pas fonctionner car c'est le grep de BSD et wget n'est pas installé. Un petit coup de brew et un path sympa et c'est réglé.

    Il faut savoir que les mails sont placés dans des fichiers texte individuels au format mbox et donc, ton script fonctionne, tout au moins en partie.

    Merci pour tout.

    • [^] # Re: Mac OS X et Apple Mail

      Posté par  (site Web personnel) . Évalué à 1.

      Merci pour ce retour,
      effectivement, il existe toute une variété de grep, ce qui limite l'universalité du script… J'ajouterai quelques mots dans le README à ce propos.

Suivre le flux des commentaires

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