pt
Moulé à la louche depuis 1999
Les trucs qui m'énervent... et je vais pas prendre de pincettes
Internet, informatique, logiciel libre, économie, politique, vie courante et tout le reste...

Retour sur Project Honeypot

Lundi 01 aout 2011

(Cet article est un peu technique.)

Fin juin j'ai commencé à participer à Project Honeypot. Concrètement:

  • Ce que je donne: J'ai mis en place des pages-piège pour les robots ramasseur d'email.
  • Ce que je reçois: J'utilise le projet pour protéger toutes mes pages php (wiki, blog...) des spammeurs.

Au niveau des pages-piège, j'ai la satisfaction d'avoir aidé à repérer des ramasseurs d'email:


Quant à la protection, cela a permis de bloquer directement un paquet de spammeurs de wiki (J'ai zéro spam dans mon wiki). Il faut savoir que ces spammeurs de wiki possèdent des scripts qui recherchent différents types de wikis et blogs avec Google (MediaWiki, DokuWiki, WordPress, DotClear, etc.) et postent automatiquement des commentaires. Project Honeypot les a immédiatement bloqués (ils n'ont même pas pu afficher la page du wiki). Voici un petit extrait de mes logs histoire de vous faire une idée:
2011-07-30 :: 03-24-24 :: BLOCKED 117.21.224.227 :: 5 :: 55 :: 1 :: /wiki/doku.php?id=minigal_nano_en :: Mozilla/5.0 (Windows NT 5.1; U; en) Opera 8.00
2011-07-30 :: 09-17-35 :: BLOCKED 109.230.245.232 :: 5 :: 58 :: 1 :: /wiki/doku.php?id=minigal_nano_en :: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; Win64; x64; SV1; .NET CLR 2.0.50727)
2011-07-30 :: 11-39-42 :: BLOCKED 117.21.224.227 :: 5 :: 55 :: 1 :: /wiki/doku.php?id=minigal_nano_en :: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) NS8/0.9.6
2011-07-30 :: 20-43-33 :: BLOCKED 109.230.245.232 :: 5 :: 58 :: 1 :: /wiki/doku.php?id=minigal_nano_en :: Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; 240x320)
2011-07-30 :: 22-15-14 :: BLOCKED 117.21.224.227 :: 5 :: 55 :: 1 :: /wiki/doku.php?id=minigal_nano_en :: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
2011-07-31 :: 07-19-29 :: BLOCKED 109.230.245.232 :: 5 :: 59 :: 1 :: /wiki/doku.php?id=minigal_nano_en :: Mozilla/0.91 Beta (Windows)
2011-07-31 :: 07-33-29 :: BLOCKED 41.211.164.54 :: 1 :: 24 :: 4 :: /wiki/doku.php?id=ccmfaq :: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0)
2011-07-31 :: 08-52-54 :: BLOCKED 117.21.224.227 :: 5 :: 55 :: 1 :: /wiki/doku.php?id=minigal_nano_en :: Mozilla/4.76 [en] (Windows NT 5.0; U)
2011-07-31 :: 10-39-34 :: BLOCKED 66.79.184.159 :: 1 :: 27 :: 1 :: /wiki/doku.php?id=word_document_generation :: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru) Opera 8.50
2011-07-31 :: 13-15-53 :: BLOCKED 188.92.76.221 :: 5 :: 37 :: 1 :: /wiki/doku.php?id=minigal_nano_en :: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; XMPP Tiscali Communicator v.10.0.2; .NET CLR 2.0.50727)
2011-08-01 :: 03-51-14 :: BLOCKED 109.230.245.232 :: 5 :: 59 :: 1 :: /wiki/doku.php?id=minigal_nano_en :: Mozilla/4.0 (compatible; MSIE 6.0; Windows ME) Opera 7.11 [en]


Si on prend une ligne au hasard, par exemple 109.230.245.232:

  • le "5" m'indique que l'adresse IP est identifiée comme un spammeur de commentaires.
  • le "59" est le score d'activité (Plus le spammeur spamme, plus la note est élevée).
  • "1" est le nombre de jour depuis sa dernière activité.

Je peux savoir ce qu'il a envoyé en regardant là. On voit clairement que cet imbécile envoie du spam pour faire la publicité d'un site qui vend des répliques bon marché de sacs de luxe:


On voit également que cette adresse IP a posté 10781 formulaires web. Il faut savoir que Project Honeypot est capable de repérer même les adresses IP n'ayant envoyé que 3 spams, par exemple:


C'est donc assez efficace.

Quid des faux positifs ? Des vrais internautes bloqués ? Mon petit script laisse une chance aux humains de continuer à naviguer sur mon site. Je les vois très bien dans mon log:

2011-07-27 :: 11-22-07 :: BLOCKED 80.12.213.34 :: 1 :: 32 :: 9 :: /wiki/doku.php :: Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
2011-07-27 :: 11-24-38 :: UNBLCKD 80.12.213.34 :: /wiki/doku.php :: Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
2011-07-27 :: 11-25-31 :: UNBLCKD 80.12.213.34 :: /wiki/doku.php?id=en_vrac :: Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
2011-07-27 :: 11-25-39 :: UNBLCKD 80.12.213.34 :: /wiki/doku.php?id=jquery:jquery :: Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
2011-07-27 :: 11-25-40 :: UNBLCKD 80.12.213.34 :: /wiki/doku.php?id=php:php :: Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
2011-07-27 :: 11-26-38 :: UNBLCKD 80.12.213.34 :: /wiki/doku.php?id=php:vizhash_gd :: Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1

BLOCKED montre qu'il a été repéré et bloqué par Project Honeypot (C'est une IP française qui a envoyé 242 spams, principalement en langue Russe). Le "UNBLCKD" montre qu'un humain a cliqué sur mon lien "Je suis bien un humain" et a continué à naviguer sur mon site. Donc malgré la protection, les vrais internautes ne sont jamais bloqués: Ils ont toujours la possibilité de naviguer.

Pourquoi ces adresses IP sont-elles bloqués ? Il ne s'agit pas de faux positifs (j'ai pu le vérifier sur le site de Project Honeypot - Ah ! Gros avantage par rapport à Akismet). En fait, ces internautes ont leur PC infecté à leur insu par un cheval de Troie et crachent du spam ou envoient des commentaires de spam sur les blogs et wikis. Leur adresse IP est immédiatement repérée par Project Honeypot.


...


OOhhhhh.... Je viens à l'instant de réaliser qu'en fait, avec Project Honeypot, j'ai le moyen de signaler aux internautes qui consultent mon site que leur PC est infecté (à l'image de ce que Google a récemment mis en place). Il faudra absolument que je mette ça en place un de ces jours (un bon gros bandeau bien visible en haut de chaque page). Hé... sérieusement, c'est cool comme idée, non ? Bien mieux qu'Akismet, vraiment.

Je suis donc très satisfait du système:

  • J'ai contribué à repérer des spammeurs.
  • Le système me protège très efficacement contre les spammeurs.
  • Aucun vrai humain n'est bloqué.
  • Contrairement à Akismet, aucune action n'est nécessaire de ma part pour débloquer les "vrais" internautes.
  • Et j'ai la possibilité de signaler aux internautes qu'ils sont infectés.

C'est encore mieux que je le pensais. Je laisse le système installé, et je l'étendrai à toute application php mise en place (J'ai une seule ligne de php à insérer, c'est facile). Que du bon.


EDIT: Voilà, c'est en place sur mon blog et mon wiki. Tout internaute marqué comme "suspect" ou "spammeur" chez Project Honeypot verra cet avertissement en haut de page (qui ne l'empêchera pas de continuer à se balader sur le site):

Si vous voyez ce message, vous pouvez aller sur cette page et entrer votre adresse IP pour voir les raisons de l'alerte.

Oui je sais, c'est hideux et ça pique les yeux. Le but est que les débutants qui sont infectés ne puissent pas rater le message.

PS: Pour ceux que cela intéresse, le source est disponible . Il affiche automatiquement le message en anglais/français selon la langue du navigateur. Je me suis basé sur ce script. Pardonnez le code, c'est rapidement bricolé.


EDIT 2 août 2011: J'ai modifié un peu le code: La bannière ne s'affichera en haut de chaque page que si le dernier spam date de moins de 8 jours. Et ça pique un peu moins les yeux :-D


Voir tous les billets