La sécurité des sites web est un véritable enjeu pour la stabilité des plates-formes, en tant qu’artisan du web, c’est également un challenge vu le temps que l’on peut y consacrer en plus de l’activité quotidienne. Pour bikeo.fr nous sommes très vigilent sur ce point, d’une part nous manipulons des données sensibles pour nos clients avec des adresses postales et des adresses de courriels, d’autre part un arrêt du service aurait un impact direct sur l’activité de la boutique : pas de site, pas de commande. C’est basique.
Donc analyse régulière des logs sur les serveurs, notamment sur deux points importants : les accès SSH avec des attaques dictionnaires en permanence d’une part, les accès par robot sur le serveur web d’autre part.
Pour le premier un fail2ban rend bien des services, il analyse le fichier des authentifications et lorsqu’il constate plusieurs tentatives infructueuses consécutives, il bloque alors l’adresse IP source au niveau du pare-feu. Efficace. En analysant les statistiques du nombre de bannis pour nos serveurs, nous tournons en permanence entre 10 et 15, c’est toujours cela de moins.
Pour la partie web, nous avons mis en place deux stratégies, la première basée sur un fail2ban également analyse les requêtes sans objet avec notre système (recherche par des robots) et banni directement les assaillants. En général, 5 à 10 bannis en permanence dans le système, c’est toujours cela de moins.
La seconde opération est plus intéressante à mon sens puisqu’elle permet de filtrer les visiteurs du site sur la base d’un comportement passé constaté sur d’autres sites. En participant au projet Honey Pot (http://www.projecthoneypot.org), ce principe est très simple à mettre en place. En deux mots : on instrumente les pages du site avec un lien fictif (non visible) pointant sur une page spécifique construite par le projet. Un visiteur traditionnel n’ira pas suivre ce lien puisqu’il ne lui est pas affiché (quid des accélérateurs ?), en revanche un robot pourra analyser l’ensemble des liens et donc aller sur la page en question. A ce niveau, le script analyse, tri les moteurs de recherche et autre robots connus, pour les autres, ils sont mis en base. Si le comportement d’un robot est répétitif sur plusieurs sites alors il devient banni, sa note de pondération monte et on peut alors décider de lui interdire l’accès. Il ne reste plus qu’à mettre en place la solution de filtrage basée sur les informations collectées par l’ensemble des utilisateurs, le DNS est le support des interrogations, il est donc simple d’intégrer cela à l’entrée du site. Pour chaque enregistrement dans le DNS on récupère également le niveau de criticité associé à l’adresse, donc on peut placer le curseur plus ou moins haut dans son analyse de filtrage.
Depuis la mise en place de ce système sur notre boutique, c’est un nombre important de visiteurs supprimés en provenance de tous les pays, mais aussi de France, donc l’objectif est atteint.
Si vous avez l’occasion de regarder ce projet, je pense que c’est intéressant, en tout cas pour nous c’est en production et semble efficace, sans impact sur l’activité.


