Dotclear 1, Free et SPAM

Petit guide de survie d'un blog Dotclear 1 hébergé par Free

Depuis quelques temps, les responsables de l'hébergement des pages web chez Free ont adopté une politique plutôt agressive vis à vis de la présence de SPAM dans les bases de données[1]. Quand je dis agressive ce n'est pas péjoratif, mais simplement parce que l'action choisie a un impact direct sur le fonctionnement des blogs. En effet, soit ils renomment la table contenant les éléments visés[2], soit ils la suppriment directement. Notez que ceci se fait sans avis préalable.

Quelles sont les attitudes raisonnables à avoir pour éviter — autant que faire se peut, les garanties à ce sujet ne sont pas nombreuses — une réaction de ce type sur votre blog ?

Changer d'hébergeur

La première solution évidente est de changer d'hébergeur. Cela impliquera une nouvelle installation, une importation de la base de données et la mise en place d'une redirection permanente sur votre ancien hébergement. Cette solution est radicale et a l'avantage d'être assez facile à mettre en œuvre pour autant que vous ayez repéré celui qui deviendra votre nouvel hébergeur[3].

Fermer commentaires et rétroliens

La deuxième solution, encore plus facile à mettre en place, est de fermer la possibilité de déposer des commentaires et de faire des rétroliens sur votre blog. Techniquement cela ne pose aucun problème, par contre, à mon sens, cela dénature complètement ce qui fait qu'un blog est vivant et dynamique ! Retirer cette interaction transforme le blog en vitrine plus ou moins heureuse et surtout assez stérile.

Filtrer le bon grain de l'ivraie

La troisième et dernière solution implique d'installer et de configurer un ou plusieurs plugins qui auront la lourde tâche d'intercepter le SPAM et si possible d'empêcher son stockage dans la base de données. Je ne vais pas entrer dans le détail des installations, par contre je vais vous expliquer comment fonctionne, en ce moment, le filtrage que j'ai chez moi.

Les plugins disponibles

Il existe un certain nombre de plugins disponibles pour protéger votre blog des SPAM qui viendront immanquablement le polluer un jour ou l'autre[4]. Sachez que le trafic associé à ces SPAM n'est pas bénin, il représente chez moi plus de 15% des connections !

Parmi ces plugins, vous trouverez différentes techniques mises en œuvre qui vont de l'analyse du contenu (SpamClear, Spamplemousse) au contrôle des émetteurs via leur adresse IP (Spamplemousse) en passant par les captcha — petits tests ajoutés dans le formulaire de soumission des commentaires et qui font normalement la différence entre humain et robot — (Captcha) fréquemment rencontrés ici et là, ou bien encore par l'utilisation d'URL de rétrolien dont la validité est limitée dans le temps (Spam Time Out).

Ceux que j'ai installés et les modifications apportées

J'ai installé et configuré ces deux plugins :

Le premier, SpamClear, est un filtre bayesien, qui se base sur la fréquence d'apparition de certains mots dans les SPAM pour en déterminer le statut. Une fois bien entraîné, comme chez moi, il est capable de filtrer avec une excellente fiabilité les SPAM qui arrivent. Ce plugin est de plus muni d'une option de suppression automatique ce qui permet d'éviter autant que possible le stockage des SPAM dans la base de données. Cette option est active chez moi depuis plus de 6 mois et ne m'a encore posé aucun problème.

Le deuxième, Spamplemousse, utilise deux techniques différentes. La première consiste à interroger des serveurs de blacklist qui répertorient les adresses IP des émetteurs de SPAM. La deuxième technique s'appuie sur une reconnaissance sommaire du contenu du commentaire ou du rétrolien. Cette technique utilise une liste de mots interdits configurable avec le plugin. J'ai choisi de désactiver cette deuxième partie — il suffit pour cela de supprimer tous les mots interdits de la liste — et de laisser à SpamClear le soin de s'occuper du contenu pour lequel il est beaucoup plus efficace.

J'ai ensuite modifié le code du plugin pour qu'il n'enregistre plus les commentaires et rétroliens considérés par lui comme du SPAM. De cette manière j'évite l'enregistrement de SPAM par le plugin dans la base de données. Notez que le traitement effectué par Spamplemousse intervient avant celui effectué (éventuellement) par SpamClear, ceci afin de limiter les accès à a base de données.

Enfin j'ai modifié le plugin Gallery que j'utilise sur mon blog pour que les commentaires postés sur les images soient également traités par Spamplemousse et SpamClear.

Ceux que je n'ai pas installés

Une des recommandations de Free pour la lutte contre le SPAM sur les blogs est d'installer un captcha sur les formulaires de soumission de commentaire. Je ne l'ai pas fait chez moi pour la raison essentielle que le SPAM arrive essentiellement (quasiment 100%) sous forme de rétroliens, pour lesquels cette technique est inopérante.

Autres protections

Il m'arrive aussi, de temps en temps, d'ajouter un filtre dans le fichier .htaccess présent dans le répertoire principal de mon hébergement. Cela me permet de refuser l'accès à une machine un peu trop envahissante. Voilà ce qu'il faut rajouter dans le fichier :

# IP Bannies
Deny from 123.45.67.89

En remplaçant 123.45.67.89 par l'adresse IP de celui qui vous importune. Cette adresse est enregistrée entre autre par SpamClear ou par Dotclear dans la table journal (voir le plugin Syslog présent dans toutes les installations Dotclear 1). Vous pouvez bien sûr rajouter autant de lignes Deny from … que nécessaire.

Conclusion

Cette conjonction de moyens me permet d'assurer une protection plutôt satisfaisante — en tout cas pour moi — vis à vis de ce fléau. De temps en temps je vois arriver une nouvelle vague de SPAM dont la structure est suffisamment différente des précédentes pour tromper SpamClear, mais après l'avoir éduqué sur un exemple, le soucis est vite écarté. Cette configuration me permet d'éviter autant que possible la présence de SPAM dans la base de données.

Il n'est absolument pas garanti que ces techniques permettent d'éviter la sanction, surtout lorsqu'une nouvelle vague de SPAM arrive à forcer les barrages, par contre je suppose qu'en gardant un œil régulier sur ce qui arrive chez vous, vous devriez être capable de pallier ce désagrément.

Un dernier conseil avant de terminer : sauvegardez régulièrement votre base de données afin d'être capable de la restaurer si besoin. Personnellement elle l'est une fois par jour en utilisant la fonction proposée par Free à cette adresse. Vous pouvez même automatiser cette sauvegarde à l'aide d'un petit script lancé à intervalle régulier.

Notes

[1] L'argument souvent évoqué dans les newsgroups à ce sujet par certains qui indiquent que les SPAM présents dans la base sont marqués comme tel n'est pas suffisant pour empêcher la réaction. Pas plus d'ailleurs que celui de dire que le nombre de SPAM est insignifiant par rapport au nombre de commentaires légitimes présents dans la base.

[2] Vous avez alors l'occasion de remédier (rapidement) au problème en supprimant les SPAM de la table et en installant si nécessaire une ou plusieurs protections efficaces.

[3] Ceci dit cela revient à reporter le problème à une date ultérieure car rien ne garantit que le futur hébergeur n'adoptera pas un comportement identique dans ces cas là !

[4] Vous trouverez tous les plugins dont je parle ici sur cette page du wiki de Dotclear. Il suffit de faire une recherche sur le mot spam dans la page pour les retrouver quasiment tous.

Ajouter un commentaire

Les champs suivis d'un * sont obligatoires

Les commentaires peuvent être formatés en utilisant la syntaxe Markdown Extra.

Ajouter un rétrolien

URL de rétrolien : https://open-time.net/trackback/3150

Haut de page