Pentru a preveni atacurile de forță brută, solicitați autentificare multifactor la fiecare conectare cu acces la internet, limitați rata încercărilor eșuate în funcție de cont, IP și la nivel global, blocați parolele încălcate, stocați hash-uri cu Argon2id sau bcrypt și alertați asupra erorilor anormale de conectare. Stratificați aceste controale, deoarece nimeni nu oprește fiecare variantă.
Deschideți jurnalul de autentificare al oricărui server SSH la câteva ore după ce intră online și veți vedea asta:
3 octombrie 02:14:07 web01 sshd[2231]: parolă eșuată pentru root de la 203.0.113.45 portul 51022 ssh2
3 octombrie 02:14:09 web01 sshd[2233]: parolă eșuată pentru admin de la portul 198.51.100.17 40318 ssh2
Oct 3 02:14:11 web01 sshd[2236]: Parolă eșuată pentru ubuntu din portul 192.0.2.88 33874 ssh2Trei nume de utilizator, trei IP-uri, la două secunde distanță. Nimeni nu tastează. Boții testează fiecare pagină de conectare, port SSH și punct final API pe care le găsesc, iar o singură presupunere reușită duce direct lapreluare cont. Mai jos sunt nouă comenzi clasificate în funcție de impact, plus modul de a detecta și de a răspunde la un atac în desfășurare.
Cum să preveniți atacurile cu forță brută: 9 comenzi clasificate în funcție de impact
Implementați autentificarea cu mai mulți factori.O ghicire corectă sau o parolă scursă nu mai acordă acces.
Limită de rată și autentificare de accelerație.Ghicirea lentă la o viteză care o face inutilă.
Urmați regulile de parolă NIST SP 800-63B.Favorizați lungimea, blocați parolele încălcate, renunțați la rotația forțată.
Hash parolele cu Argon2id sau bcrypt.O bază de date furată nu ar trebui să devină una crăpată.
Adăugați CAPTCHA și detectarea botului selectiv.Provocați numai traficul suspect.
Întăriți conexiunile SSH, RDP, CMS și API-urile.Închideți serviciile atacatorii au lovit primii.
Utilizați reputația IP, regulile geografice și un WAF.Opriți traficul prost cunoscut devreme.
Monitorizează și alertează cu privire la erorile de autentificare.Prindeți ceea ce scapă de prevenire.
Testează-ți propriile apărări.Confirmați că controalele funcționează înainte ca un atacator să o facă.
La scurt timp? Efectuați mai întâi controalele 1, 2 și 8. MFA limitează daunele, limitarea ratei încetinește atacul, iar monitorizarea vă spune că se întâmplă.
De ce diferă prevenirea în funcție de variantă

Fiecare variantă este oprită de un control diferit, așa că știi cu care te confrunți.
Varianta | Cum funcționează | Semnătură jurnal | Cel mai bun control |
|---|---|---|---|
Forță brută simplă | Multe presupuneri împotriva unui singur cont | Multe erori, un singur nume de utilizator | Reglare, blocare temporară |
Pulverizarea parolei | Câteva parole comune în multe conturi | Una sau două eșecuri per cont | Limite per-IP și globale, MFA |
Umplutură de acreditări | Perechile de nume de utilizator și parolă scurse au fost redate | Volum mare, IP-uri rotative | MAE, verificarea încălcării |
Cracare offline | Ghicirea împotriva hashurilor furate | Niciuna pe sistemele dvs. | Argon2id sau bcrypt, parole lungi |
Pulverizarea învinge blocările per cont, deoarece fiecare cont nu vede aproape nicio eșec. Cracking-ul offline nu lasă nicio urmă, motiv pentru care hashing-ul contează, chiar dacă pagina ta de conectare este perfectă.
Control 1: Implementați autentificarea cu mai mulți factori

MFA se află pe primul loc deoarece face ca o parolă corectă să fie insuficientă. Clasat după putere:
Cheile de acces și cheile FIDO2.Rezistent la phishing, deoarece acreditările sunt legate de domeniul real.
Aplicația de autentificare TOTP.Solid, deși un proxy de phishing poate transmite codul.
Apăsați cu potrivirea numărului.Blochează aprobările oarbe.
coduri SMS.Cel mai slab, expus schimbului de SIM. Utilizați numai ca rezervă.
Combate oboseala MFA, în cazul în care atacatorii spam solicită solicitări până când cineva aprobă, cu potrivire a numărului, un plafon pentru solicitări pe oră și alerte după refuzuri repetate. Desfășurați după raza de explozie: panouri de administrare și console cloud, apoi e-mail, VPN și găzduire de cod, apoi toți ceilalți. Blocați și calea de recuperare. Nu lăsați niciodată suportul să dezactiveze MFA numai prin e-mail.
Control 2: Limită de rată și încercări de conectare la accelerație

Un bot care încearcă 10.000 de parole pe minut este o amenințare. Menținută la 5 pe minut, nu este. Accelerați înainte de a vă bloca, deoarece blocările puternice permit atacatorilor să refuze serviciul utilizatorilor reali.
Eșecuri de la 1 la 3: fără întârziere
Eșecuri 4 în continuare: 1, 2, 4, 8 secunde, plafonat la 60
După 10 erori: blocare de 15 minute plus un e-mail către proprietarul contului
Limită la trei dimensiuni, deoarece fiecare variantă trece peste una diferită: per cont (10 eșecuri la 15 minute), per IP (20 de încercări pe minut) și global (alertă peste 3x eșecuri de bază).
nginx
limit_req_zone $binary_remote_addr zone=login:10m rate=5r/m;
locație /login {
limit_req zone=login burst=3 nodelay;
limit_req_status 429;
proxy_pass http://app_backend;
}Nginx vede doar IP-uri, așa că utilizați contoare Redis sau un WAF pentru cont și straturile globale. Aplicați aceleași limite pentru resetarea parolei, introducerea MFA (un cod din 6 cifre are doar 1.000.000 de combinații) și rutele de conectare API.
Control 3: Setați regulile de parolă pe baza NIST SP 800-63B
NIST a înlocuit vechile reguli de complexitate cu îndrumări bazate pe modul în care atacatorii ghicesc.
Sunt necesare minimum 8 caractere cu MFA și 15 sau mai mult pentru conturile de administrator. Permiteți 64 sau mai mult.
Aruncă amestecuri forțate de simboluri și numere.
capsă corectă a bateriei de caibateP@ssw0rd!.Verificați parolele noi cu API-ul Have I Been Pwned Pwned Passwords, care utilizează anonimatul k, astfel încât parola completă să nu părăsească niciodată sistemul dvs.
Încheiați rotația programată. Forțați o resetare numai pe dovezi de compromis, cum ar fi o potrivire găsită prinmonitorizare dark web.
Permite lipire astfel încât managerii de parole să funcționeze.
Dacă un auditor încă solicită rotație, documentați rațiunea NIST și aplicați regula mai strictă numai acolo unde un cadru o cere.
Controlul 4: Hash parolele pentru a opri atacurile offline
Limitele de rată nu fac nimic odată ce un atacator vă deține baza de date. Un GPU modern testează miliarde de ipoteze MD5 pe secundă, așa că hashe-urile rapide cad în câteva ore. Aici esteînțelegerea modului în care funcționează hashingulplătește. Folosiți un algoritm lent, greu de memorie:
Argon2id.Recomandarea actuală OWASP.
cripta.Alternativă puternică.
bcrypt.Testat în luptă, factor de cost 12 sau mai mare.
PBKDF2.Doar acolo unde conformarea o cere, la 600.000 sau mai multe iterații.
Nu utilizați niciodată MD5, SHA-1 sau SHA-256 singur. Bibliotecile se ocupă de sărare, așa că nu o scrieți niciodată singur. Reglați factorul de lucru la aproximativ 250 până la 500 ms per hash și re-hash la următoarea conectare când setările se îmbunătățesc.
piton
din argon2 import PasswordHasher
ph = PasswordHasher(time_cost=2, memory_cost=19456, paralelism=1)
stocat = ph.hash(parolă)
ph.verify(stocat, parola) # ridică la nepotrivireConfirmați parametrii față de fișa de cheat pentru stocarea parolei OWASP actuală înainte de expediere.
Controlul 5: Adăugați CAPTCHA și detectarea botului selectiv
CAPTCHA adaugă frecare, nu un perete. Serviciile de rezolvare vând provocările rezolvate de oameni ieftin, iar modelele AI înving acum multe puzzle-uri de imagine. Declanșează provocări cu privire la risc: trei sau mai multe erori, un dispozitiv sau o țară nouă, IP-uri ale furnizorului de găzduire sau semnături de browser fără cap. Cloudflare Turnstile, hCaptcha și reCAPTCHA v3 riscă în mod invizibil. Asociați-le cu amprenta dispozitivului și analiza temporizării și oferă o alternativă accesibilă pentru utilizatorii care nu pot îndeplini provocările vizuale.
Controlul 6: Întărește serviciile pe care atacatorii au lovit cei mai mulți
SSH.Eliminați parola și forța brută nu are nimic de ghicit.
PasswordAuthentication nr
PermitRootLogin nr
AllowUsers implementează admin
MaxAuthTries 3Generați chei cussh-keygen -t ed25519, confirmați autentificarea cu cheie într-o a doua sesiune, apoi reîncărcațisshd. Adăugați Fail2ban ca strat suport. Schimbarea portului reduce zgomotul de jurnal, dar nu este un control.
RDP.Nu expuneți niciodată portul 3389. Puneți-l în spatele unui VPN sau gateway (vedeți cumZTNA și VPN se potrivesc strategiilor moderne de securitate), activați autentificarea la nivel de rețea, solicitați MFA și setați o politică de blocare de 5 erori timp de 15 minute.
WordPress și CMS.Limitați încercările de conectare, blocați/xmlrpc.php(sistemul său.multicallmetoda testează sute de parole per cerere), restricționează/wp-login.phpprin IP și să impună MFA administrativ.
API-uri.Setați limite per-cheie și per-IP cu429răspunsuri, utilizați chei aleatoare de 332 de octeți sau mai lungi, expiră token-urile într-o oră și returnează erori identice pentru nume de utilizator greșite și parole greșite.
Control 7: Utilizați reputația IP, regulile geografice și un WAF
Filtrarea marginilor este un pre-filtru, nu o apărare primară. Atrageți feeduri de reputație, cum ar fi AbuseIPDB și Spamhaus DROP, contestați intervalele furnizorilor de găzduire și nodurile de ieșire Tor pe rutele de conectare și aplicați regulile geografice în care sunt concentrați clienții dvs. Folosiți MFA step-up în loc de blocuri dure, astfel încât călătorii să nu fie blocați. Implementați reguli WAF bazate pe rate (Cloudflare, AWS WAF sau ModSecurity), începând în modul de numărare înainte de a trece la blocare. Rețelele proxy rezidențiale rotesc IP-urile de acasă reale și eludează toate acestea, astfel încât MFA și limitarea per cont încă poartă sarcina.
Control 8: Monitorizare și alertă privind eșecurile de autentificare

Prevenirea eșuează în cele din urmă și, fără monitorizare, o conectare cu forță brută de succes pare normală. Bunmonitorizarea securității ciberneticeîncepe cu jurnalele potrivite: ID-uri de evenimente Windows 4625, 4624 și 4740; SSHauth.log401 vârfuri la autentificarea pe web și a jurnalelor de conectare a furnizorilor de identitate. Nu înregistrați niciodată parole.
Scrieți câte o detecție pentru fiecare variantă:
Forța brută:mai mult de 10 erori pentru un cont în 5 minute
Pulverizare:un IP eșuează împotriva a mai mult de 15 nume de utilizator în 30 de minute
Umplutura:volum de conectare peste valoarea de referință de 3x cu un raport de eșec ridicat
Compromite:o conectare cu succes după o explozie de eșec. Pune pe cineva pentru asta.
Abuz MAE:trei sau mai multe solicitări push refuzate
index=wineventlog EventCode=4625
| bin _time span=30m
| statistici dc(TargetUserName) ca utilizatori după _time, IpAddress
| unde utilizatorii > 15Wazuh este un punct de plecare gratuit cu SSH încorporat și reguli de forță brută. Rulați alerte în modul doar de raportare timp de o săptămână și ajustați-vă pe propria dvs. valoare de bază.
Controlul 9: Testează-ți propriile apărări
Un control netestat este o presupunere. Testați numai sistemele pe care le dețineți sau aveți autorizație scrisă de testare, folosind un cont de testare dedicat. Hydra, Medusa și Burp Intruder acoperă formulare și servicii de conectare, iar Hashcat testează rezistența offline împotriva unei copii a propriilor hashe-uri într-un laborator. Plierea acestui lucru într-unmai larg testarea de penetrare și evaluarea vulnerabilitățiiprogramul îl menține într-un program.
Verificați că 15 eșecuri rapide declanșează întârzieri, o parolă în 30 de conturi declanșează detectarea spray-ului, o parolă corectă fără MFA este refuzată, SSH respinge parolele și o explozie de eșec urmată de succes ajunge la paginatorul dvs. Testul de alertă contează la fel de mult ca și testul de bloc. Retestați trimestrial și după orice modificare de autentificare.
Ce să faci în timpul unui atac activ
Confirmați domeniul de aplicare.Identificați conturile vizate, IP-urile sursă și orice succes după o explozie de eșec.
Blocați sursa.Utilizați firewall sau reguli WAF sau blocați prin ASN sau solicitați model dacă IP-urile se rotesc. Comutați regulile modului de numărare la blocare.
Blocați conturile compromise.Resetați parolele, revocați sesiuni și verificați calitatea de proprietar MFA prin alt canal.
Strângeți temporar.Scădeți pragurile și necesită creșterea MFA, apoi eliminați măsurile după atac.
Activitate de vânătoare post-compromis.Căutați noi dispozitive MFA, reguli de redirecționare a cutiei poștale, chei API și granturi OAuth.
Document.Înregistrați ce control ar fi trebuit să oprească acest lucru și remediați decalajul. Verificați termenele limită de notificare a încălcării dacă au fost accesate date.
Lista de verificare pentru prevenirea forței brute
Fă azi
Listați fiecare conectare cu acces la internet
Activați MFA pe conturile de administrator, e-mail și cloud
Dezactivează parolele SSH și închide RDP public
Faceți săptămâna aceasta
Adăugați limite de rată de conectare, resetare și MFA pentru punctele finale
Ecranează parolele împotriva listelor de încălcări
Setați alerte pentru succes după explozii de eșec
Faceți acest trimestru
Efectuați un test autorizat pentru fiecare control
Reglați pragurile de alertă
Reevaluați factorii de lucru hash
Concluzie
Atacurile cu forță brută sunt automate și constante, așa că și apărarea trebuie să fie automată. Prioritizează MFA, limitarea ratei stratificate, hashing puternic cu screening-ul de încălcare și alerte cu privire la succes după eșec. Împreună, ei cresc costul atacului, peste ceea ce vor cheltui majoritatea roboților.
Următorul pas astăzi:enumerați fiecare autentificare cu acces la internet și marcați care dintre ele nu au MFA și limitarea ratei. Remediați mai întâi panourile de administrare, e-mailul și accesul de la distanță.
Întrebări frecvente
Care este cel mai eficient mod de a preveni atacurile cu forță brută?
MFA rezistent la phishing, cum ar fi cheile de acces sau cheile FIDO2. Face ca o parolă corectă să fie insuficientă, ceea ce neutralizează împreună acreditările de ghicire, umplerea și phishing. Asociați-l cu limitarea ratei.
Blocarea contului oprește atacurile cu forță brută?
Oprește ghicitul cu un singur cont, dar atacatorii pot declanșa blocări pentru a bloca utilizatorii reali și nu face nimic împotriva pulverizării parolelor. Utilizați întârzieri progresive plus limite per-IP și globale.
Cât timp durează o parolă cu forța brută?
Depinde de lungime, setul de caractere și tipul hash. Lungimea contează cel mai mult, iar hashe-urile rapide precum MD5 cad mult mai repede decât Argon2id. Testează-ți propriile hashes într-un laborator, în loc să ai încredere într-o cifră generică.
Poate un VPN sau schimbarea portului implicit să oprească atacurile cu forță brută?
Un VPN elimină expunerea publică, astfel încât atacatorii trebuie să-și treacă mai întâi autentificarea. Schimbarea portului reduce doar zgomotul scanerului și este găsit în câteva minute.
Care este diferența dintre forța brută și umplutura de acreditări?
Forța brută ghicește parolele. Umplutura de acreditări redă perechi reale scurse, pariând pe reutilizare. Parolele unice, filtrarea încălcării și MFA opresc încărcarea.
Cum știu dacă sunt forțat brutal?
Căutați vârfuri de conectare nereușite, un IP eșuat în multe nume de utilizator, o parolă încercată în multe conturi și inundații de blocare. Un succes imediat după o explozie de eșec este cel mai grav semn.
Este Fail2ban suficient pentru a proteja SSH?
Nu. Atacurile distribuite rămân sub pragurile sale. Dezactivați autentificarea prin parolă și solicitați cheile și păstrați Fail2ban ca strat de suport.
