bloquer les proxys et spammeurs

WRInaute impliqué
Bonjour,

Je souhaite bloquer les spammers qui créer pleins de messages dans les forums, livre d'or tentatives d'injection de code SQL, tricheries sur les votes... bref que des sales choses indésirables et nuisibles qui proviennent pour la majorité de proxies ouvert, anonyme ou hautement anonyme, car on peut être anonyme.

Au début les protections CAPTCHA (on tape le code fourni par une image pour vérifier que l'on n'est pas un robot) fournissaient une bonne chose, mais force et de constater qu'elles sont facilement détourner par des logiciels (appelé OCR) qui décryptent les images.
La protection CAPTCHA installé sur phpBB en est devenu quasiment inutile car trop simple face aux spammers de cette nouvelle génération.

Je fais ma petite recherche sur le sujet et j'en conclus que concrètement cela revient à bloquer les proxy anonymes. Bon c'est vrai que tout les marketeurs ne viennent pas que des proxy, d'autres sources comme des ordis vérolés ou non avec IP dynamique, mais elles représentent la porte d'entrée des spammers et autres hackers.

Sur internet, si on diffuse une information (tel l'IP d'un proxy) on est considéré comme du mauvais coté, les serveurs anti-spam comme Sorbs sont donc obligés de ne pas diffuser leurs blacklists d'IP (appelé blackhole lists) pour servir la bonne cause, on leur demande si un IP ou nom de domaine est blacklist ou pas, ca ne concerne que pour les mails et s'arrête là. Je voudrais pour le HTTP aussi.

La question est donc connaissez-vous :
1 - un script qui référence les IP déjà alloué dans le monde pour contre-carrer les IP aléatoires des proxy.
2 - un script de détection de proxys (donc 'bassement anonyme') à partir des données comme l'IP ou les variables $_SERVER
3 - un script qui fait des requetes à un server de blackhole list comme sorbs, apparemment Sorbs semble donner un accès à une liste HTTP à l'adresse http.dnsbl.sorbs.net, mais rien n'indique comment en tirer profit.
4 - un script qui alerte sur une hausse anormale de requetes HTTP émanant de pays 'exotiques' comme l'Arabioe Saoudite ou la malaisie et si possible paramétrable.

Merci pour toutes réponses
 
WRInaute passionné
Je connais aucun des systèmes indiqués :)
Pour les mails, il existe des listes d'ip référencée comme étant celle de spammeur ; peut-être que la même chose peut-être appliqué pour un forum .... sauf que si c'est aussi mauvais que pour les mails, ca va filtrer beaucoup trop de vrai message.
Sinon, pour le captcha, il y en a qui fonctionne autrement qu'avec des images. J'ai vu un site qui utilise un captcha en posant une question sur des maths. Du style : "combien font quarante-quatre et quatre ? (chiffres)". A mon avis y'a plein de solution, suffit de pas utiliser les mêmes que la majorité des autres sites (j'vois mal spammeur s'emmerder a passer du temps pour un système de protection spéciale d'un site).
 
WRInaute occasionnel
On peut fonctionner sans captcha. Il suffit d'analyser le comportement de l'internaute, d'effectuer un scoring, et lors d'un dépassement de seuil on n'accepte pas son envoi par le formulaire. J'ai mis en oeuvre un tel système qui a un taux de réussite de plus de 99%, mais il est délicat de gérer le seuil : un seuil trop faible et on se fait spammer, un seuil trop fort et on bloque les utilisateurs. Ca m'a pris plus de 6 mois à régler en comparant avec les logs. Maintenant le système est opérationnel et m'a permis de constituer une liste de plus de 9000 IP "méchantes". Il n'y a pas que les proxy anonymes, il y a surtout les PC zombies. J'avais lu un article de Microsoft sur la sécurité qui indiquait qu'il y a 6 mois plus de 70% des PC étaient infectés par un troyen, et donc étaient qualifiés de PC zombie (PC dont on peut prendre le controle à distance), ce qui relativise mes quelques milliers de machines identifiées par rapport aux millions potentielles. Du spam dans les forums provient très rarement de la machine de l'attaquant, ce sont essentiellement les PC zombies mis à contribution.
Comme l'indique fort justement arnaudmn, il est très intéressant de mettre en place un système différent des autres, il a beaucoup moins de chances de se faire attaquer, les pirates préférant s'attaquer à l'immensité des sites standards, avec très peu d'effort ils ratissent très large. Un site avec protection spécifique risque de ne pas les intéresser.
 
WRInaute passionné
- change de captcha
- change les noms des champs des formulaires
Il ne te restera plus que le spam manuel. Qui est inevitable mais rare (et tu peux encore en eliminer une partie par filtrage de mots-clef).
 
WRInaute accro
Un captcha "texte" du genre:

"Combien font deux plus treize, le tout multiplié par trois ?"

...et tu positionnes les éléments par CSS, alors qu'ils sont répartis différemment dans le code.

--> viens, petit robot, viens :roll:

(ok c'est p'tet lourd à mettre en oeuvre ;) ).
 
WRInaute discret
Personnellement, j'utilise entre autres IPToCountry qui permet de connaitre le pays d'origine d'une IP. Et quand c'est un pays qui me plait pas ou tout simplement indeterminé bhé il vont ce faire mettre pour les POSTS ;-) Ca marche du tonnerre de dieu.

Pour les CAPTCHA : Dans ton script qui te génére ton image ajoute un truc du genre : if ($_SERVER['HTTP_REFERER'] != 'lapagequiestcenserappellermonscript.html') { echo "dans ton culcul"; exit; }

Pour les champs de formulaire utilise ta variable de session pour nommer les NAMES : <input type="text" name="montruc<? echo session_id(); ?>" />.

En regle general partout ou tu a un post vérifie que le referer est "logique" sinon tu renvoie directos sur la page d'accueil. Ca évite les bots en appelle directe en POST.

Fais le test : compte ton meilleur chrono entre le moment ou tu rempli ton formulaire et le moment ou tu post. Et bloque tout ceux qui vont plus vite que toi ;)
 
WRInaute occasionnel
Attention PigeonDeCombat, avec le filtre sur le referrer tu bloques parfois de vrais utilisateurs.
Certains PC sont équipés de systèmes masquant le contenu de l'en-tête HTTP_REFERER
Ces utilisateurs ne comprendront jamais pourquoi ils ne peuvent pas utiliser le formulaire
 
WRInaute discret
Digit a dit:
Attention PigeonDeCombat, avec le filtre sur le referrer tu bloques parfois de vrais utilisateurs.
Certains PC sont équipés de systèmes masquant le contenu de l'en-tête HTTP_REFERER
Ces utilisateurs ne comprendront jamais pourquoi ils ne peuvent pas utiliser le formulaire

Oui je le sais bien mais perso ca ne me dérange pas.
 
WRInaute impliqué
Merci pour toutes ses réponses,
Je n'avais pas pensé à toutes ses techniques CAPTCHA, le calcul c'est pas mal, le CSS aussi.
Le HTTP_referrer peut etre modifié donc ce n'est pas une variable auquel il faut faire 100% confiance.

IPToCountry je ne connaissais pas,
Pour info j'ai trouvé cette page qui rassemblent tous les DNSBL http://www.moensted.dk/spam/, faut maintenant que je regarde dans le détail.

Mon approche est plus global que le CAPTCHA, je veux m'attaquer à la source , quelque soit la techno utilisée il y aura toujours une évolution. En gros je souhaite coder pour le long terme, être moins sensible à la techno.

Du spam dans les forums provient très rarement de la machine de l'attaquant, ce sont essentiellement les PC zombies mis à contribution.

D'accord avec l'idée, mais la source qui coordonne les messages provient toujours des proxy.
 
WRInaute impliqué
Attention avec les propositions de modifier la mise en place des CAPTCHA de type "texte".

S'ils sont de type texte, c'est principalement pour des raisons d'accessibilité. Ainsi si vous procédez de tel manière à ce qu'un robot s'y perde car il n'a pas la mise en page "visuelle" vous perdrez aussi l'accessibilité de votre CAPTCHA.
 
WRInaute passionné
Topsitemaker a dit:
Pour info j'ai trouvé cette page qui rassemblent tous les DNSBL http://www.moensted.dk/spam/, faut maintenant que je regarde dans le détail.

Sauf que pour avoir fait un antispam qui utilise les dnsbl, je peux te dire que c'est loin d'être fiable. Non seulement ça laisser passer des spammeurs, mais encore pire, ça bloque beaucoup d'ip qui n'appartiennent pas a des spammeurs.
 
Discussions similaires
Haut