Citation :
faire des stats sur le nombre de connexions habituelles, et bloquer le site intégralement aux nouvelles connexions quand on détecte quelque chose d'anormal ? Nécessite une intervention manuelle du proprio du site, ça doit être faisable ?
Tel quel ça me semble un peu problématique, trop facilement exploitable pour créer un déni de service sur le site.
En poussant le concept un peu plus loin, tu as justement les Web Application Firewall, des machines placées entre l'utilisateur et le serveur applicatif dédiées à la prévention des attaques, et il est possible qu'elles utilisent des heuristiques couplées à des mécanismes de blocage un peu plus puissants que le simple blocage d'adresse IP (système de réputation, listes blanches/noires, blocage de plages d'IP entières, etc.).
Mais ça coûte cher, ça demande des compétences assez précises pour la mise en place et la maintenance, et ça crée un goulot d'étranglement supplémentaire pour les performances du site.
Citation :
stocker pour un utilisateur donné l'ensemble des adresse IP desquelles il se connecte ? Bloquer quand un utilisateur essaye de se connecter depuis trop d'adresse IP différentes, et alors n'autoriser l'utilisateur à se connecter que depuis une adresse IP déjà utilisée avec succès
Un blocage strict me semble utopique à l'ère de la navigation sur smartphone et de la mobilité en général.
Cela-dit les gros sites comme les GAFA ont mis en place des systèmes de blocage "doux" basés sur la détection des "périphériques connus" (adresse IP, couplée à d'autres mécanismes d'identification comme le user agent et/ou les cookies). En cas de connexion depuis un périphérique inconnu, le site t'envoie une alerte mail (vu chez Facebook, Google...), t'impose la saisie d'un captcha (vu chez Facebook pour certaines IP blacklistées comme les nœuds Tor), t'envoie un code de connexion complémentaire par email ou SMS (vu chez Twitch), etc.
Ça peut néanmoins être plus contraignant qu'utile sur un petit site ou un site qu'on utilise peu souvent, et décourager voire bloquer complètement certains utilisateurs pas très habitués du web. Envisageable au cas par cas donc... sans être complètement imperméable.
Citation :
rajouter un 2e moyen autre que le mdp dans le cas où ça arrive ?
Si le mécanisme de blocage se fait au niveau du compte et pas de seulement de l'adresse IP ça peut fonctionner, mais attention à ne pas créer une porte dérobée. Cela-dit ça ne résout pas tous les problèmes évoqués (attaque multi-comptes, etc.). En fait ce genre de système existe déjà sur certains sites, mais c'est généralement plutôt utilisé en préventif avec de la détection de périphérique (cf. code de connexion Twitch ou Github).
-------------
Pour protéger efficacement la connexion aux comptes d'un site contre les attaques par force brute je connais deux méthodes : les
captchas et l'
authentification multi-facteurs.
Le captcha est le plus "léger" des deux systèmes pour le développeur et pour l'utilisateur, mais il est moins robuste (certains bots savent résoudre des captchas). Les
captchas dernière génération de Google sont même complètement transparents pour l'utilisateur (basés sur une analyse des interactions de l'utilisateur avec le site) et peuvent être couplés en cas de score trop faible à une vérification par email (à la Twitch). Après il faut vouloir dépendre d'une API Google sur son site (RGPD, protection des données, tout ça). Les captchas "libres" sont nettement moins efficaces et souvent plus contraignants pour l'utilisateur. Et le captcha ne protège pas contre les attaques humaines (non automatisées).
L'authentification multi-facteurs c'est puissant, très robuste (y a des failles mais ça demande des ressources très poussées voire un accès physique à un composant du réseau), mais vraiment pénible pour l'utilisateur. Les codes de vérification en cas de périphérique inconnu dont j'ai parlé plus haut sont une forme de double authentification conditionnelle, c'est peut-être le meilleur compromis pour un site qui requiert ce niveau de protection. Mais la double authent sur les systèmes critiques (comme l'admin du compte OVH de MV) c'est toujours une bonne idée.
Au final, pour un site de l'envergure de MV, je ne pense pas qu'il soit souhaitable d'aller plus loin qu'un simple blocage temporaire d'adresse IP après X tentatives échouées (faisable en pur applicatif, ou au niveau pare-feu avec un logiciel tiers comme
fail2ban). Ça protège déjà contre une bonne partie des attaques "en ligne".