ZeSword
Bruxelles, Belgique

AVATAR
Mots de passe
le 24/04/2021 17:55
J'ouvre un nouveau sujet pour discuter des différentes tactiques de mots de passe. La discussion a été historiquement lancée sur le fil "Forge" par le post suivant, j'en recopie le début pour pouvoir suivre.

Skoyatt a écrit :
Bonjour. Je viens de créer mon compte et j'ai trouvé un peu dommage qu'il n'y ait aucun caractère spécial d'autorisé pour les mots de passe. Si vous avez la possibilité d'en autoriser quelques uns (voire carrément les 46 facilement utilisables sur un clavier Windows), je pense que ce serait top. ^^
Et au passage, si vous pouviez autoriser aussi un peu plus que 15 caractères maximum, ce serait génial, même si 15 c'est déjà bien.
haut de page - Les forums de MV >> Général >> Discussion : page 1 | 2
ZeSword
Bruxelles, Belgique

AVATAR
le 27/04/2021 14:38
Madmox a écrit :
Ce n'est d'ailleurs pas si simple de se protéger contre ce type d'attaque pour le propriétaire du site non plus :
- S'il bloque l'adresse IP qui échoue trop de fois à la suite, il risque de bloquer toute une entreprise dans laquelle tous les employés partagent l'IP du proxy. En plus, l'attaquant a toujours la possibilité de lancer son attaque de manière distribuée (botnet) et donc d'ignorer le blocage si son réseau est suffisamment grand.
- S'il bloque le compte, l'attaquant peut choisir de lisser son attaque sur plusieurs comptes en même temps s'il ne cherche pas à en pirater un en particulier, voire d'exploiter ce mécanisme de blocage pour bloquer l'accès au site à ses utilisateurs légitimes.
- etc.

Je n'avais pas pensé aux conséquences pénibles pour l'utilisateur légitime. Partons du principe qu'on soit vraiment parano mais "qu'en même temps" (au moins pour 1 an encore...) on veuille éviter à nos utilisateurs d'être bloqués :

* 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 ?

* 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 (Terme imprimé sur certaines cartes anciennes. En général, les cartes qui faisaient référence à un sort « lancé avec succès » ont reçu un errata dans l'Oracle et font maintenant simplement référence à un sort qui a été « lancé. » ) ?

* rajouter un 2e moyen autre que le mdp dans le cas où ça arrive ? Connexion via code envoyé à l'adresse de courriel fournie au préalable ? et/ou à un numéro de téléphone fourni au préalable ?
xbod
Modérateur section EDH
Géant
le 27/04/2021 14:41
Citation :
* rajouter un 2e moyen autre que le mdp dans le cas où ça arrive ? Connexion via code envoyé à l'adresse de courriel fournie au préalable ? et/ou à un numéro de téléphone fourni au préalable ?


ça c'est le double facteur d'identification mis en place dans plein de trucs déjà
Madmox
I guess Warhol wasn't wrong, Fame fifteen minutes long

Légende
le 27/04/2021 17:13
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".
Marseille, Grèce

Légende
le 27/04/2021 17:30
Juste une info de plus que vous allez stocker inutilement dans vos cerveaux, je me suis connecté au serveur hier en début de matinée. À l'instant, je me connecte, et il m'écrit :

There were 1365 failed login attempts since the last successful login.
xbod
Modérateur section EDH
Géant
le 27/04/2021 17:39
What ?
Madmox
I guess Warhol wasn't wrong, Fame fifteen minutes long

Légende
le 27/04/2021 17:42
Tu parles de l'accès SSH au dédié ou l'accès à l'interface web d'administration ? Si tu parles de l'accès SSH, c'est assez "normal". J'espère que tu as mis en place un fail2ban ou un truc équivalent... Perso j'en pouvais plus sur mon dédié, j'étais la cible d'un botnet, mon pare-feu devait contenir plusieurs dizaines de milliers d'IP bannies. J'ai fini par activer le filtrage IP au niveau du pare-feu du serveur sur les ports "système" (SSH, FTP), en n'autorisant que l'IP de chez moi + un backup chez un ami. Heureusement j'avais une IP fixe à l'époque.
Marseille, Grèce

Légende
le 27/04/2021 18:30
Honnêtement, ça me tente de plus en plus de bannir la Chine et la Russie, à la louche ça doit être 99% des tentatives.
zombie33

Légende
le 27/04/2021 18:32
Mais Depardieu ne pourra plus se connecter sur MV ! O_O
Darkent

le 27/04/2021 20:46
Citation :
Honnêtement, ça me tente de plus en plus de bannir la Chine et la Russie, à la louche ça doit être 99% des tentatives.


FÉE LE !
antho63
Benaud , france
le 27/04/2021 22:15
Ça voudrais dire que je peux plus me connecter quand je suis en vacances ?
Madmox
I guess Warhol wasn't wrong, Fame fifteen minutes long

Légende
le 28/04/2021 11:30
Citation :
Honnêtement, ça me tente de plus en plus de bannir la Chine et la Russie, à la louche ça doit être 99% des tentatives.
J'avais moi aussi 99% d'attaques issues de CHINANET & co... jusqu'à ce que ce ne soit plus le cas. Attention quand-même à ne pas faire trop confiance à la solidité de ton mot de passe : c'est pas parce que les attaques continuent que tu n'as pas déjà été piraté. Les bots n'ont pas tous comme finalité le ransomware ou le déni de service, il peuvent par exemple se contenter de récupérer les données du serveur (et de la BDD de MV) et/ou t'inclure dans leur botnet.

Tu l'as peut-être déjà fait, mais la 1ère étape c'est de réduire la surface d'attaque en désactivant le compte root (installer sudo et mettre un autre compte dans le groupe sudo) et l'authentification par mot de passe (activer l'authentification par clé publique à la place). Et utiliser SFTP plutôt que FTP pour les transferts de fichiers (+ désactiver FTP ou le limiter à certains comptes moins critiques).

Ensuite il vaut quand-même mieux avoir un mécanisme de blocage IP. J'ai commencé avec un simple fail2ban branché sur les services SSH et FTP, configuré pour bannir temporairement les IP qui échouent à se connecter : ça fait le taf, mais c'est un peu bruyant. Au final je recommande plutôt le filtrage IP par liste blanche : c'est potentiellement plus facile à maintenir*, moins bruyant, et ça gère aussi les attaques distribuées. La technique de la liste noire "bannir la Chine et la Russie", c'est pas très carré, mais ça peut faire le taf en attendant mieux.

*Si tu as plusieurs IP fixes depuis lesquelles tu peux accéder au serveur c'est très simple à mettre en place (commande iptables). Sinon, y a moyen de coupler ça à un logiciel type DynDNS + un script CRON qui va mettre à jour ton iptables toutes les 10 minutes. Et toujours avoir plusieurs IP autorisées dans la liste blanche... T'es pas à l'abri d'un oubli de ta part suite à un changement de FAI / déménagement, ou d'un souci avec ton FAI (j'avais une IP fixe chez Free, qu'ils ont quand-même fait sauter une fois suite à des travaux sur leur infra au niveau du NRA).
Ant1
le 03/05/2021 8:01
ZeSword
Bruxelles, Belgique

AVATAR
le 03/05/2021 8:20
J'ai choisi le 42e, il correspondait à ma personnalité. Fais-moi savoir si jamais ils font une mise à jour du contenu, on ne sait jamais quand même, depuis 2014, des gens mal intentionnés auraient pu avoir vent de l'information. Même si bon, s'ils sont efficaces, on s'attend à ce qu'ils soient quand même inviolés pendant une dizaine d'années.
Ant1
le 03/05/2021 20:26
:-)
haut de page - Les forums de MV >> Général >> Discussion : page 1 | 2
Vous devez être identifié pour pouvoir poster sur les forums.