Quali sono i modi migliori per prevenire attacchi brute force distribuiti sul mio sito web?
I pensa (non sono sicuro che se qualcuno mi può assicurare grazie !) il mio sito è protetto contro i normali attacchi di forza bruta mentre sto seguendo il seguente schema per accelerare continuamente tentativi di accesso per un singolo nome utente :
X = Failed Login Attempts
Y = Time, since the last login attempt, for which next login attempt will not be accepted (in minutes)
if X is a multiple of 5
Y = 2^(X/5)
Aumenta il ritardo di alcuni esponenti di 2 per ogni successivo tentativo di accesso errato.
Poi ho pensato a me stesso, cosa succede se qualcuno cerca di distribuire questo attacco di forza bruta su più nomi utente / account per la stessa password ? Ò.ò
Il mio primo istinto era di cercare su internet le pratiche comuni. Ho cercato e trovato diverse soluzioni. Ogni soluzione ha avuto i suoi svantaggi, mentre la maggior parte di essi erano troppo complicati.
E poi whaaam! Questa idea selvaggia mi ha attraversato la mente:
It doesn't matter if you provide wrong or right credentials, the login script will sleep for 1 second while verifying your credentials.
Se ho usato questo metodo, ci vorrebbero circa 14 ore per provare una password su account 50k o viceversa e quindi rendere la
Da quando questa è la mia prima app Web , sono quasi certo che questo metodo va bene da utilizzare. Non sono sicuro che causerà troppo carico del server o se è addirittura sicuro. Questo metodo offre un buon compromesso tra tempo e costo delle risorse, rispetto alla sicurezza aggiunta?
Se qualcuno può aiutarmi a capire se questo è il metodo giusto e aiutarmi a imroving e / o suggerire un metodo pratico (nel caso in cui questo non è a posto), forse posso offrirti un cookie aggiuntivo se mai ci incontriamo?