Suite à plusieurs attaque de type DOS ces derniers jour, je me suis vu dans l'obligation de remettre en place une protection anti-DOS.
Cette protection n'est pas nouvelle, je l'avais développé il y a plusieurs mois (voir années) suite a de précédentes attaques, malheureusement le système manquait de fiabilité, et il y avait beaucoup trop de problème de faux-positif, des personnes bloquées a tord. C'est la raison pour laquelle, en période d'accalmies, j'avais désactivé ce filtre.
Depuis quelques jours, les attaques reprennent sur nos services, c'est pourquoi j'ai remis en place cette protection, mais cette fois en améliorant la méthode de détection. Après 2jours de service, une dizaine d'attaques ont été bloqué (DOS mais aussi bruteforce), sans aucun faux-positif a signaler ! Je vais donc pouvoir maintenant laisser ce filtre en place sur du long terme
Hors ligne
Fondateur et Administrateur de FR-Minecraft.net depuis 2010
Fondateur et Administrateur de Minecraft.Tools depuis 2014
Fail2ban ?
Hors ligne
The Stupid Content Tracker
## IT Operations Analyst 2nd Level on UNIX/Linux ##
Hum, cela expliquerait le pourquoi des ralentissements du site avant hier :p
Hors ligne
Possible... meme les connections sur les serveurs mettent un peu plus temp...mais on retrouve vite le debit habituelle ensuite
Dernière modification par rediode (26/06/2014 21:25:00)
Fail2ban ?
Nop, un truc fait maison un peu moins violent
Hors ligne
Fondateur et Administrateur de FR-Minecraft.net depuis 2010
Fondateur et Administrateur de Minecraft.Tools depuis 2014
Franchement, respect. J'arrive même pas à coder quoique ce soit, et Tronics nous sort un filtre fait main qui casse la baraque.
Hors ligne
Ne pouvoir apprendre n'est pas honte, mais bien de ne pas vouloir.
Aurélien, dans nos cœurs.
En meme temps il est développeur, donc il a au minimum 3 ans de formation universitaire centré sur l'informatique.
De plus, programmer une telle application n'est pas très difficile, le principe etant de bannir les IP/hosts envoyant trop des requêtes par secondes/minutes.
Je pense que ce genre d'applications c'est faisable en début de 2eme année d'informatique en Univ.
Hors ligne
The Stupid Content Tracker
## IT Operations Analyst 2nd Level on UNIX/Linux ##
programmer une telle application n'est pas très difficile, le principe etant de bannir les IP/hosts envoyant trop des requêtes par secondes/minutes.
Je pense que ce genre d'applications c'est faisable en début de 2eme année d'informatique en Univ.
Si on reprend ton principe, effectivement c'est pas très compliqué, du moins en apparence...
Car dans la réalité c'est quand même pas aussi simple malheureusement, car cela pose un problème majeure : Le risque de s'auto-DOS-isé !
J'explique:
Si je suis ton raisonnement: "bannir les IP/hosts envoyant trop des requêtes par secondes/minutes".
Donc qui dit bannir ceux qui en envoie trop, dit les détecter, et donc enregistre l'activité de toutes les requêtes qui passe, les enregistré, et les analysé en temps réels pour bannir ceux qui font du mal.
Ensuite les bannir c'est une chose, encore faut-il ensuite appliquer ce ban, donc la liste des ban doit être relu a chaque requête pour savoir si la personne est banni ou non. Ça risque de charger pas mal le serveur tout ca, sachant que dans 99.9% des cas ca ne sert a rien, car la connexion est légitime.
Le problème maintenant, si on reçoit une attaque DOS moyenne, cette surcharge de travail sera repercuté sur le serveur a chaque requete, qui va donc s'auto-attaquer par une surcharge encore plus importante de travaille a cause des vérifications !
Donc non ce n'est pas si simple, il faut trouver le juste milieu:
- Ou placer les sondes pour un fonctionnement optimal ?
- Comment intégré cette protection dans le cycle de vie d'une page et dans le fonctionnement du serveur ?
- Comment détecter et bloquer les requetes de manière intelligente pour ne pas faire tomber les serveurs a cause d'une surcharge de travail du à la protection (avant même de tomber a cause de l'attaque) ?
- Comment faire la différence entre une personne qui charge 20 fois la page d'acceuil par seconde, et une personne qui navigue dans la rubrique des skins avec 20 skins par page, en changeant de page chaque seconde? car niveau requêtes, c'est a peut près la même chose, pourtant une est une attaque, l'autre non.
Ce problème d'auto-DOS était une des raisons pour laquel j'avais désactivé le filtre (car c'est un vrai problème), en plus des problèmes de faux-positif.
Ce n'est finalement pas un problème aussi simple qu'il en a l'air justement.
Hors ligne
Fondateur et Administrateur de FR-Minecraft.net depuis 2010
Fondateur et Administrateur de Minecraft.Tools depuis 2014
vachement interessant sérieux :0
En tout cas chapeau, je vois mieux comment cela fonctionne :p
Donc je suppose que pour rejeter la connexion, tu vérifies dans une table MySQL si l'IP est blacklist, et si c'est de cas, tu balances un die() ? :)
Hors ligne
Vous voyez, c'est pour ça que je sais pas coder : je comprend rien à ce que vous dites
Lulu, c'est français, ce que tu dis ?? >.<
Hors ligne
Ne pouvoir apprendre n'est pas honte, mais bien de ne pas vouloir.
Aurélien, dans nos cœurs.
Lulu, c'est français, ce que tu dis ?? >.<
J'utilise quelques termes anglais dans mon dernier message en effet :p
Hors ligne
Sympa :) en effet avant hier le site avait du mal :s
Et du coup Tronics niveau forum et news si un compte post plusieurs foi le même message pour flood le forum ou bien les news ? ça va maintenant l'empêcher ?
M_Patate
Dernière modification par M_Patate83 (27/06/2014 10:28:14)
Hors ligne
Bravo Tronics ;) Je n'ai rien compris de ton explication mais, ça m'a l'air bien !
Hors ligne
Mon sang est de la lave en fusion...
Rose sur le Créa depuis le 31 Octobre 2014! Coincidence? je ne crois pas...
Hummm Je crois comprendre que c'est plutot bien pour nous alors merci =) (Mais un peu langue etrangere pour moi ><)
PS : TroTro essaie de faire un tour section Guide si d'aventure tu as un moment ;)
Hors ligne
Trés belle idée mais est ce que faudra t-il installer un logiciel pour que cette fonctionalitée marche parfaitement ?
Hors ligne
Non ca ne change rien pour les visiteurs, c'est uniquement une evolution technique, c'est pour cela que j'en parle dans le forum "maintenance", ca vous permet d'etre au courant que y'a des changements au niveau de l'infrastructure, et si vous etes ban, vous saurez que c'est suite a ce changement ^^
D'ailleurs pour info pour tout le monde il y a eut 2 problèmes aujourd'hui (cas de faux-positif), donc j'ai amélioré les logs pour pouvoir étudier plus précisement les prochains problèmes, et permettre a terme d'avoir un système parfaitement fiable.
En cas de problème pas d'inquiétude, une adresse email de contact est donnée sur la page d'erreur qui s'affiche. Contactez-moi sur cette adresse en me donnant votre adresse IP, je corrigerai le problème ;) Dans le pire des cas, les bans automatique ne sont que temporaire, donc vous pourrez toujours revenir
Hors ligne
Fondateur et Administrateur de FR-Minecraft.net depuis 2010
Fondateur et Administrateur de Minecraft.Tools depuis 2014
De toute manière il n'y a aucune raison que les visiteurs du sites se fassent bannir, sauf s'ils martellent leur touche F5 sans arrêt. Conaissant le système fail2ban, et le système mis en place par tronics étant moins "sévère", vous ne risquez pas grand chose.
Ce système est mis en place pour lutter contre ceux qui abusent de ces envois de requêtes, qui sont effectués volontairement.
Hors ligne
The Stupid Content Tracker
## IT Operations Analyst 2nd Level on UNIX/Linux ##
Brute force est une attaque de mot de passe souvent réalisé avec Brutus trouvable malheureusement sur internet. Mais le est facilement détectable par le filtre, car il envoie des centaine de requête par seconde, c'est requête son des mot de passe différent.
Hors ligne
J'ai été ban jusqu'à dimanche un faux-positif ou mon comportement?
Hors ligne
Péricles, une fois de plus tu t'amuses à taunt et importuner les gens alors te voila ban jusqu'a dimanche, te restes plus qu'attendre.
Hors ligne
Besoin d'aide Ig ou sur le Forum? Je suis disponible via MP forum ou sur Irc.
Mon post parle du site, rien a voir avec les serveurs de jeu
Hors ligne
Fondateur et Administrateur de FR-Minecraft.net depuis 2010
Fondateur et Administrateur de Minecraft.Tools depuis 2014
Salut à tous encore moi rhho
Je vien de voir hier soir ceci :
Ce ne serait pas une attaque de bot pour saturé les connections au serveur du site? Parce que c'est un pêu impossible autant de personne en invité alors que il n'y a que 8 personnes co sur le site ce soir là.
Qui peut me dire si c'est un bug ou une attaque en rapport avec les récentes attaques??
Cordialement diamond57,
Merci d'avoir lu.
Hors ligne
Non c'est pas une attaque, c'est juste que les visiteurs du site sont également comptabilisé, puisque le site interagit avec le forum (pour l'authentification des visiteurs). Et comme 99% des visiteurs du site en ont rien a faire du forum (il viennent pour les news, contenu, outils, etc.), ça me semble donc tout a fait logique comme chiffre
De plus, qui dit bot ne dit pas forcement attaque, il y a énormement de bot qui navigue sur les sites, sans que ce soit des attaques, c'est nottaemnt le cas de l'ensemble des web crawlers, les robots qui index les sites pour les moteurs de recherche. Et comme chaque moteur de recherche a son propre réseau de bot, ca peut vite faire un grand nombre de bot, sans être des attaques pour autant.
Hors ligne
Fondateur et Administrateur de FR-Minecraft.net depuis 2010
Fondateur et Administrateur de Minecraft.Tools depuis 2014