Filtrage web et Honey Pot

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é.

2 commentaires

  1. Nicolas  •  31 Aug 2011 @23:25

    * fail2ban est probablement le package que j’installe en premier sur un serveur tout frais , j’ajoute knockd pour les serveurs connectés à internet, la porte est fermée par défaut et non l’inverse.

    * Ah! l’éternel dilemme de se baser sur les RBL des autres
    pour honeyport, tout se fait-il sur le serveur web ou utilises-tu une règle iptable pour rediriger tes “indésirables” ?

    Et ca marche très bien, je confirme , par une belle journée de juin j’étais banni de ton site depuis le bureau, bon il est vrai que j’ai un peu 3000 utilisateurs furieux derrière cette ip , ca aide pas à la réputation de ladite ip.
    J’ai mis quelques temps à comprendre que ce n’était pas les squid qui s’emmêlaient les inodes .. c’était bien ton site qui revoyait une page welcome / login pour piéger les bots , efficace pour les bots, mais, tu as combien de faux positifs qui arrivent à te joindre pour se faire déblacklister ( à part mes admins ) ?
    A+

  2. Alex  •  1 Sep 2011 @10:00

    Salut Nicolas,

    Pour les faux positifs, je ne sais pas vraiment, mais pas d’impact ni sur le taux de conversion ni sur le CA, donc pas d’inquiétude de ce côté. Le nombre de pris dans les filets reste faible, mais c’est plus fin dans le filtrage que des entrées dans iptable sur des range CIDR complets, notamment pour notre marché français.

    Le filtrage site est effectué directement dans le code PHP, pas d’interaction pour l’instant avec le parefeu, mais cela pourrait être fait (intérêt ?), nous ne traitons pas pour le moment le rating des IP, donc il suffit d’avoir 1 pour être interdit, mais la page dispose d’un numéro de téléphone au cas où.

    Avec toutes les adresses IP que tu as, tu ne peux pas en prendre une rien que pour toi ?

Laisser un commentaire



Photo of Alexandre Chauvin-HameauAlexandre Chauvin-Hameauach@meta-x.org
Work(Preferred): +33 426 903 783
Cell: +33 609 573 932
130 Rue Duguesclin
Lyon, 69006 France