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.
1 De KaG -
Voilà des détails intéressants !
Pour ma part, j'ai quitté Free pour différentes raisons dont leur facheuse habitude d'agir sans concertation.
Par exemple,il faut savoir qu'un plugin de stats (comme Spongestats) ne leur plait pas : parce qu'ils ont leur propre système de stats (et je crois qu'il y a la notion de conservation de données qui est interdite au delà d'une certaine date). Ils ont ainsi bloqué l'accès à 2 de mes blogs hébergés chez Free et supprimé les tables de statistiques sans avertissement. Après avoir zyeuté, j'ai l'impression que ça a été fait lorsque les tables avaient un an.
2 De Groumphy -
Excellent résumé. Un petit lien externe pour donner des explications sur le terme "bayesien".
;)
3 De Franck -
KaG, je suis au courant et c'est d'ailleurs le cas depuis pas mal de temps. Ils n'aiment ni le spam, ni les stats dans les bases de données et pas non plus le stockage considéré comme tel.
4 De Franck -
Groumphy, merci pour le lien. J'avais envisagé pendant un temps rajouter toutes ces références et puis je me suis ravisé pour ne pas surcharger les explications déjà nombreuses.
Si nécessaire, je reviendrai sur chaque détails de mon implémentation si cela intéresse quelqu'un.
5 De Akynou -
J'avais moi aussi Spamplemousse sur tous mes blogs et spamclear sur tous sauf un, qui ne générait pas trop de traffic). Je l'ai oublié quand j'ai installé Spamclear, et c'est à cause de cela (et du fait qu'à cause de mon déménagement et de ma non possibilité de connexion pendant une quinzaine de jour), j'ai été bloquée une fois puis carrément foutue dehors.
parce que lorsque tu parles de politique agressive, tu oublies de mentionner que Free bloque les comptes aussi. Une première fois pendant 24 heures, une seconde fois pendant 72 heures et la troisième définitivement.
Donc, pour moi, le seul conseil valable, c'est foutre le camp. Parce qu'on ne sait pas ce que l'avenir nous réserve et qu'on ne peut pas prévoir, parfois, l'impossibilité de connexion qui fait surveiller les blogs. Si Brol n'avait pas été là, je perdais mes cinq blogs (enfin, j'avais quand même fait des sauvegarde et lui aussi car nous avions senti le boulet venir. Mais je n'avais pas eu le temps de déménager avant).
6 De Franck -
Je sais Akynou pour tes mésaventures, mais malheureusement Spamplemousse ne suffit pas s'il est installé tel quel. Le problème chez Free est moins de filtrer le SPAM que d'empêcher son stockage dans la base de données. C'est pour cette raison que j'ai modifié ce plugin.
Quand à la politique de Free en ce qui concerne la gestion des comptes, je suppose que cela vient du peu de ressources humaines affectées à ce service. Il me semble qu'une seule personne soit chargée des Pages perso chez Free, ce qui fait peu pour quelques millions de sites et explique (sans la justifier) l'agressivité de la réaction en cas d'écart de conduite par rapport aux règles écrites ou tacites — pas simple d'ailleurs d'en faire une liste précise et exhaustive.
7 De Lomalarch -
Ils deviennent un brin décevants, chez Free, il faut le reconnaître. Leur nouvelle idée de génie de coller une bannière de pub sur les pages d’Index de répertoires (mon share est défigurééééé :'( ) va finir par me convaincre de chercher ailleurs :-/
8 De obni -
Le .htaccess à la racine te donc permet de bloquer les IP indésirables sur toutes les directories y compris celle du blog ?
9 De jid -
tu me fais peur avec ta sauvegarde sql chez Free, celle de Dotclear n'est pas suffisante?
10 De Franck -
Lomalarch, oui je sais, c'est envahissant !
obni, il me semble que oui, mais à te lire je suis pris d'un doute. Il va falloir que je tire ça au clair dès demain matin …
jid, celle de Dotclear est suffisante, je l'utilise régulièrement (j'aime bien ne pas mettre tous mes œufs dans le même panier), ceci dit, celle de Free peut-être automatisée, donc je ne me suis pas gêné pour le faire.
11 De obni -
Je te dis ça parce que par exemple j'ai mis le fichier kivabien pour empêcher les indexations des robots, et je me suis aperçu qu'il fallait le positionner dans chacune des directories pour que ça soit vraiment efficace.
Et comme c'est un peu le même fonctionnement…
12 De obni -
Tiens ! Mon avatar ne passe plus ni ici, ni ailleurs ! Étrange… Quelqu'un sait s'il y a un problème plus général sur ça ?
13 De Franck -
obni, je viens de vérifier à propos de l'usage des fichiers
.htaccess
. Un fichier de ce type est valable pour le répertoire où il se trouve et pour tous les répertoires qu'il contient.Une exception à cela, les redirections qui sont valables quelques soient l'endroit où elles sont écrites.
On peut avoir plusieurs fichiers à des niveaux différents de l'arborescence et les règles des répertoires parents sont valables sauf si elles sont réécrites dans le fichier du répertoire considéré.
Quand à l'affichage des gravatars ici, c'est normalement actif, d'ailleurs le mien et celui de Lomalarch s'affichent bien. Peut-être un soucis chez eux ?
14 De obni -
Au fait, pour le bannissement d'une adresse IP, est-ce que le fichier qui suit est correct, selon toi :
- Bloquage d'ip de spam
Où les xx.xxx.xx.xxx et yy.yyy.yy.yy sont 2 adresses IP saisies.
Si je tape tel quel :
- IP Bannies
ou même
- Bloquage d'ip de spam
Plus personne n'accède au répertoire…
Ce fichier .htaccess me pose toujours quelques problèmes.
15 De obni -
Oups ! Mauvais formatage… Du commentaire…
16 De Franck -
Chez moi, en fait chez Free, un simple :
suffit.
17 De LoloWood -
Bonjour
Merci beaucoup pour cet article.
Bien que débutant Dotclear, je me suis lancé dans l'installation de Spamclear et de Spamplemmousse.
Dommage de n'avoir pas indiqué les modifications apportées au code du plugin pour qu'il n'enregistre plus les commentaires et rétroliens.
Cela m'aurait été très utile.
18 De Franck -
Si ce n'est que ça, je ferai un petit billet la-dessus rapidement.
19 De Cogito -
Salut,
J'ai voulu mettre un fichier .htaccess mais il s'avère que l'adresse IP récupérée par le Syslog et spamclear soit celle d'un des serveurs de mon hôte. Donc impossible de bloquer par ce moyen. Mais bon, Spamclear fait bien son boulot, donc ça va.
Cogito.
20 De Off the record -
Spam et hébergement free.fr
Juste un rapide article pour signaler que free adopte désormais une politique agressive pour contrôler les spams sur les blogs, sous dotclear en particulier. En pratique, si vous avez dotclear 1.x et un antispam tel que spamplemousse qui redirige