How to Prevent Brute Force Attacks

Hoe u brute force-aanvallen kunt voorkomen: 9 bewezen bedieningselementen

Door Benish Parvaiz·

Om brute force-aanvallen te voorkomen, moet u multi-factor authenticatie vereisen voor elke internetgerichte login, het aantal mislukte pogingen per account, IP en wereldwijd beperken, geschonden wachtwoorden blokkeren, hashes opslaan met Argon2id of bcrypt, en waarschuwen bij abnormale login-fouten. Deze controles zijn gelaagd, omdat niemand elke variant tegenhoudt.

Open het authentificatielogboek van een SSH-server een paar uur nadat deze online is gegaan, en je zult dit zien:

3 okt 02:14:07 web01 sshd[2231]: Mislukt wachtwoord voor root van 203.0.113.45 poort 51022 ssh2
3 okt 02:14:09 web01 sshd[2233]: Mislukt wachtwoord voor beheerder van 198.51.100.17 poort 40318 ssh2
3 okt 02:14:11 web01 sshd[2236]: Mislukt wachtwoord voor ubuntu van 192.0.2.88 poort 33874 ssh2

Drie gebruikersnamen, drie IP's, twee seconden uit elkaar. Niemand typt. Bots testen elke inlogpagina, SSH-poort en API-eindpunt die ze vinden, en één enkele succesvolle gok leidt rechtstreeks naaraccountovername. Hieronder staan ​​negen bedieningselementen gerangschikt op impact, plus hoe je een lopende aanval kunt detecteren en erop kunt reageren.

Hoe brute force-aanvallen te voorkomen: 9 besturingselementen gerangschikt op impact

  1. Dwing meervoudige authenticatie af.Een juiste gok of een gelekt wachtwoord geeft geen toegang meer.

  2. Snelheidslimiet en aanmeldingen beperken.Langzaam raden tot een snelheid die het zinloos maakt.

  3. Volg de NIST SP 800-63B-wachtwoordregels.Geef de voorkeur aan lengte, blokkeer geschonden wachtwoorden, laat gedwongen rotatie achterwege.

  4. Hash wachtwoorden met Argon2id of bcrypt.Een gestolen database mag geen gekraakte database worden.

  5. Voeg CAPTCHA en botdetectie selectief toe.Daag alleen verdacht verkeer uit.

  6. Verbeter SSH-, RDP-, CMS-aanmeldingen en API's.Sluit de services die aanvallers als eerste treffen.

  7. Gebruik IP-reputatie, georegels en een WAF.Onderbreek bekend slecht verkeer vroegtijdig.

  8. Monitor en waarschuw bij authenticatiefouten.Vang op wat voorbij de preventie glipt.

  9. Test je eigen verdediging.Controleer of de besturingselementen werken voordat een aanvaller dat doet.

Weinig tijd? Voer eerst de controles 1, 2 en 8 uit. MFA beperkt de schade, snelheidsbeperking vertraagt ​​de aanval en monitoring vertelt je dat dit gebeurt.

Waarom preventie verschilt per variant

How to Prevent Brute Force Attacks

Elke variant wordt tegengehouden door een andere besturing, dus weet met welke je te maken krijgt.

Variant

Hoe het werkt

Loghandtekening

Beste controle

Simpel brute kracht

Veel gissingen tegen één account

Veel fouten, één gebruikersnaam

Throttling, tijdelijke vergrendeling

Wachtwoord spuiten

Een paar algemene wachtwoorden voor veel accounts

Eén of twee fouten per account

Per-IP en globale limieten, MFA

Credential stuffing

Uitgelekte gebruikersnaam- en wachtwoordparen opnieuw afgespeeld

Hoog volume, roterende IP's

MFA, screening van inbreuken

Offline kraken

Gissen tegen gestolen hashes

Geen op uw systemen

Argon2id of bcrypt, lange wachtwoorden

Het spuiten van nederlagen per account-uitsluitingen omdat elk account bijna geen fouten ziet. Offline cracking laat helemaal geen sporen na, en daarom is hashing van belang, zelfs als uw inlogpagina perfect is.

Controle 1: Multi-Factor Authenticatie afdwingen

How to Prevent Brute Force Attacks

MFA staat op de eerste plaats omdat het een correct wachtwoord onvoldoende maakt. Gerangschikt op sterkte:

  1. Wachtwoorden en FIDO2-sleutels.Phishing-bestendig omdat de inloggegevens gebonden zijn aan het echte domein.

  2. Authenticator-app TOTP.Solide, hoewel een live phishing-proxy de code kan doorgeven.

  3. Push met overeenkomend nummer.Blokkeert blinde goedkeuringen.

  4. SMS-codes.Zwakste, blootgesteld aan SIM-swapping. Alleen als fallback gebruiken.

Ga MFA-vermoeidheid tegen, waarbij aanvallers push-prompts spammen totdat iemand het goedkeurt, met nummermatching, een limiet voor prompts per uur en waarschuwingen na herhaalde weigeringen. Uitrol per explosieradius: beheerderspanelen en cloudconsoles, vervolgens e-mail, VPN en codehosting, en vervolgens alle anderen. Vergrendel ook het herstelpad. Laat de ondersteuning nooit MFA alleen via e-mail uitschakelen.

Controle 2: Aanmeldingspogingen voor snelheidslimiet en gaspedaal

How to Prevent Brute Force Attacks

Een bot die 10.000 wachtwoorden per minuut probeert, is een bedreiging. Gehouden op 5 per minuut, is dat niet het geval. Geef gas voordat u vergrendelt, want met harde uitsluitingen kunnen aanvallers service aan echte gebruikers weigeren.

  • Storingen 1 t/m 3: geen vertraging

  • Storingen 4 en verder: 1, 2, 4, 8 seconden, beperkt tot 60

  • Na 10 mislukkingen: blokkering van 15 minuten plus een e-mail naar de accounteigenaar

Beperking op drie dimensies, omdat elke variant voorbij een andere glipt: per account (10 mislukkingen per 15 minuten), per IP (20 pogingen per minuut) en globaal (waarschuwing boven 3x basislijnfouten).

nginx

limit_req_zone $binary_remote_addr zone=inloggen:10m snelheid=5r/m;

locatie /inloggen {
    limit_req zone=login burst=3 knooppunten;
    limit_req_status 429;
    proxy_pass http://app_backend;
}

Nginx ziet alleen IP's, dus gebruik Redis-tellers of een WAF voor de account- en globale lagen. Pas dezelfde limieten toe op het opnieuw instellen van wachtwoorden, MFA-invoer (een code van zes cijfers heeft slechts 1.000.000 combinaties) en API-inlogroutes.

Controle 3: Wachtwoordregels instellen op basis van NIST SP 800-63B

NIST heeft de oude complexiteitsregels vervangen door richtlijnen die zijn gebaseerd op de manier waarop aanvallers raden.

  • Vereist minimaal 8 tekens met MFA en 15 of meer voor beheerdersaccounts. Sta 64 of meer toe.

  • Laat geforceerde combinaties van symbolen en cijfers vallen.juiste paardenbatterijnietjekloptP@ssw0rd!.

  • Controleer nieuwe wachtwoorden met de Have I Been Pwned Pwned Passwords API, die k-anonimiteit gebruikt, zodat het volledige wachtwoord uw systeem nooit verlaat.

  • Geplande rotatie beëindigen. Forceer een reset alleen bij bewijs van een compromis, zoals een match gevonden viadarkweb-monitoring.

  • Sta plakken toe zodat wachtwoordmanagers werken.

Als een auditor nog steeds rotatie eist, documenteer dan de NIST-grondgedachte en pas de strengere regel alleen toe als een raamwerk dit vereist.

Controle 4: Hash-wachtwoorden om offline aanvallen te stoppen

Snelheidslimieten doen niets zodra een aanvaller uw database in handen heeft. Een moderne GPU test miljarden MD5-gissingen per seconde, zodat snelle hashes binnen enkele uren vallen. Dit is waarbegrijpen hoe hashen werktloont. Gebruik een langzaam, geheugenhard algoritme:

  1. Argon2id.De huidige OWASP-aanbeveling.

  2. crypt.Sterk alternatief.

  3. bcrypt.In de praktijk getest, kostenfactor 12 of hoger.

  4. PBKDF2.Alleen waar compliance dit vereist, bij 600.000 of meer iteraties.

Gebruik MD5, SHA-1 of SHA-256 nooit alleen. Bibliotheken verzorgen het zouten, dus schrijf het nooit zelf. Stem de werkfactor af op ongeveer 250 tot 500 ms per hash en hash opnieuw bij de volgende login wanneer de instellingen verbeteren.

python

van argon2 importeer WachtwoordHasher
ph = WachtwoordHasher(time_cost=2, memory_cost=19456, parallellisme=1)
opgeslagen = ph.hash(wachtwoord)
ph.verify(opgeslagen, wachtwoord) # verhoogt bij mismatch

Bevestig de parameters aan de hand van het huidige OWASP-spiekbriefje voor wachtwoordopslag voordat u het verzendt.

Controle 5: CAPTCHA en botdetectie selectief toevoegen

CAPTCHA voegt wrijving toe, geen muur. Oplosserdiensten verkopen door mensen opgeloste uitdagingen goedkoop, en AI-modellen verslaan nu veel beeldpuzzels. Activeer uitdagingen op risicogebied: drie of meer storingen, een nieuw apparaat of land, IP-adressen van hostingproviders of headless browserhandtekeningen. Cloudflare Turnstile, hCaptcha en reCAPTCHA v3 scoren onzichtbaar risico. Koppel ze aan apparaatvingerafdrukken en timinganalyse en bied een toegankelijk alternatief voor gebruikers die geen visuele uitdagingen aankunnen.

Controle 6: Versterk de services die aanvallers het meest raken

SSH.Verwijder het wachtwoord en brute kracht hoeft niets te raden.

WachtwoordAuthenticatienr
VergunningRootLogin nr
AllowUsers implementeren admin
MaxAuthTries 3

Genereer sleutels metssh-keygen -t ed25519, bevestig de sleutelaanmelding in een tweede sessie en laad vervolgensopnieuw sshd. Voeg Fail2ban toe als ondersteunende laag. Het wijzigen van de poort vermindert de logruis, maar is geen controle.

RDP.Stel poort 3389 nooit bloot. Plaats deze achter een VPN of gateway (zie hoeZTNA en VPN passen bij moderne beveiligingsstrategieën), schakel authenticatie op netwerkniveau in, vereist MFA en stel een lockout-beleid in van 5 fouten gedurende 15 minuten.

WordPress en CMS.Beperk inlogpogingen, blokkeer/xmlrpc.php(het issystem.multicallmethode test honderden wachtwoorden per verzoek), beperk/wp-login.phpper IP, en beheer-MFA afdwingen.

API's.Stel limieten per sleutel en per IP in met429antwoorden, gebruik willekeurige sleutels van 332 bytes of langere, verlopen tokens binnen een uur en retourneren identieke fouten voor verkeerde gebruikersnamen en verkeerde wachtwoorden.

Controle 7: Gebruik IP-reputatie, geografische regels en een WAF

Randfiltering is een voorfilter, geen primaire verdediging. Gebruik reputatiefeeds zoals AbuseIPDB en Spamhaus DROP, daag de reeksen van hostingproviders en Tor-exitknooppunten uit op inlogroutes en pas georegels toe waar uw klanten geconcentreerd zijn. Gebruik step-up MFA in plaats van harde blokken, zodat reizigers niet buitengesloten worden. Implementeer op tarieven gebaseerde WAF-regels (Cloudflare, AWS WAF of ModSecurity), beginnend in de telmodus voordat u overschakelt naar blokkeren. Residentiële proxynetwerken roteren echte thuis-IP's en omzeilen dit allemaal, zodat MFA en beperking per account nog steeds de last dragen.

Controle 8: Monitoren en waarschuwen bij authenticatiefouten

How to Prevent Brute Force Attacks

Preventie mislukt uiteindelijk en zonder toezicht ziet een succesvolle brute force login er normaal uit. Goedcyberveiligheidsmonitoringbegint met de juiste logboeken: Windows-gebeurtenis-ID's 4625, 4624 en 4740; SSHauth.log401-pieken bij aanmeldingen op internet en aanmeldingslogboeken van identiteitsproviders. Log nooit wachtwoorden in.

Schrijf één detectie per variant:

  • Brute kracht:meer dan 10 fouten voor één account in 5 minuten

  • Sproeien:één IP mislukt voor meer dan 15 gebruikersnamen in 30 minuten

  • Vulling:inlogvolume boven 3x de basislijn met een hoog foutpercentage

  • Compromis:een succesvolle login na een mislukte burst. Roep iemand op voor deze.

  • MFA-misbruik:drie of meer geweigerde push-prompts

index=wineventlog GebeurtenisCode=4625
| bak_tijdspanne=30m
| statistieken dc(TargetUserName) als gebruikers op _time, IpAddress
| waar gebruikers > 15

Wazuh is een gratis startpunt met ingebouwde SSH- en brute force-regels. Voer waarschuwingen een week lang uit in de alleen-rapportmodus en stem deze af op uw eigen basislijn.

Controle 9: Test je eigen verdediging

Een niet-geteste controle is een aanname. Test alleen systemen waarvan u de eigenaar bent of waarvoor u schriftelijke toestemming heeft om te testen, met behulp van een speciaal testaccount. Hydra, Medusa en Burp Intruder behandelen inlogformulieren en -diensten, en Hashcat test de offline weerstand tegen een kopie van je eigen hashes in een laboratorium. Dit vouwen in een brederepenetratietesten en kwetsbaarheidsbeoordelingprogramma houdt het op schema.

Controleer of 15 snelle fouten vertragingen veroorzaken, één wachtwoord voor 30 accounts de detectie van spray-detectie activeert, een correct wachtwoord zonder MFA wordt geweigerd, SSH wachtwoorden afwijst en een mislukte mislukking gevolgd door succes uw pager bereikt. De waarschuwingstest is net zo belangrijk als de bloktest. Test elk kwartaal opnieuw en na elke authenticatiewijziging.

Wat te doen tijdens een actieve aanval

  1. Bevestig het bereik.Identificeer gerichte accounts, bron-IP's en eventuele successen na een mislukking.

  2. Blokkeer de bron.Gebruik firewall- of WAF-regels, of blokkeer via ASN of vraag een patroon aan als IP's roteren. Schakel de regels voor de telmodus naar blokkeren.

  3. Vergrendel gecompromitteerde accounts.Reset wachtwoorden, trek sessies in en verifieer het MFA-eigendom via een ander kanaal.

  4. Tijdelijk aanspannen.Verlaag de drempels en vereis een MFA-stap-up, en verwijder vervolgens de maatregelen na de aanval.

  5. Jaag op activiteiten na een compromis.Zoek naar nieuwe MFA-apparaten, regels voor het doorsturen van mailboxen, API-sleutels en OAuth-toelagen.

  6. Document.Leg vast welke controle dit had moeten stoppen en repareer het gat. Controleer de deadlines voor het melden van inbreuken als er toegang tot gegevens is verkregen.

Controlelijst voor preventie van brute kracht

Vandaag doen

  • Lijst van alle internetgerichte logins

  • Schakel MFA in voor beheerders-, e-mail- en cloudaccounts

  • Schakel SSH-wachtwoorden uit en sluit de openbare RDP

Doe deze week

  • Voeg login-, reset- en MFA-eindpuntsnelheidslimieten toe

  • Wachtwoorden screenen op inbreuklijsten

  • Waarschuwingen instellen voor succes na mislukkingen

Doe dit kwartaal

  • Voer een geautoriseerde test uit voor elke controle

  • Waarschuwingsdrempels afstemmen

  • Herbenchmark hash-werkfactoren

Kortom

Brute force-aanvallen zijn geautomatiseerd en constant, dus de verdediging moet ook automatisch zijn. Geef prioriteit aan MFA, gelaagde snelheidsbeperking, sterke hashing met inbreukscreening en waarschuwingen over succes na mislukking. Samen verhogen ze de kosten om u aan te vallen boven wat de meeste bots zullen uitgeven.

Volgende stap vandaag:vermeld elke internetgerichte login en markeer welke geen MFA en snelheidsbeperking hebben. Repareer eerst de beheerderspanelen, e-mail en externe toegang.

Veelgestelde vragen

Wat is de meest effectieve manier om brute force-aanvallen te voorkomen?

Phishing-bestendige MFA zoals wachtwoordsleutels of FIDO2-sleutels. Het maakt een correct wachtwoord onvoldoende, waardoor gissen, opvullen en phishing-gegevens samen worden geneutraliseerd. Combineer het met snelheidsbeperking.

Houdt accountblokkering brute force-aanvallen tegen?

Het stopt het gissen naar één account, maar aanvallers kunnen lock-outs activeren om echte gebruikers te blokkeren, en het doet niets tegen het verspreiden van wachtwoorden. Gebruik progressieve vertragingen plus limieten per IP en globale limieten.

Hoe lang duurt het om een ​​wachtwoord bruut te forceren?

Het hangt af van de lengte, tekenset en hash-type. Lengte is het belangrijkst, en snelle hashes zoals MD5 vallen veel sneller dan Argon2id. Test je eigen hashes in een laboratorium in plaats van op een algemeen cijfer te vertrouwen.

Kan een VPN of het wijzigen van de standaardpoort brute force-aanvallen stoppen?

Een VPN verwijdert publieke blootstelling, dus aanvallers moeten eerst de authenticatie passeren. Het wijzigen van de poort vermindert alleen het scannergeluid en is binnen enkele minuten gevonden.

Wat is het verschil tussen brute kracht en credential stuffing?

Brute kracht raadt wachtwoorden. Credential stuffing herhaalt echte gelekte paren, waarbij wordt ingezet op hergebruik. Unieke wachtwoorden, screening op inbreuken en MFA stoppen het opvullen.

Hoe weet ik of ik bruut gedwongen wordt?

Let op mislukte aanmeldingspieken, één IP-adres dat voor veel gebruikersnamen mislukt, één wachtwoord dat voor veel accounts wordt geprobeerd en uitsluitingsoverstromingen. Een succes direct na een mislukking is het ernstigste teken.

Is Fail2ban voldoende om SSH te beschermen?

Nee. Gedistribueerde aanvallen blijven onder de drempelwaarden. Schakel wachtwoordauthenticatie uit en eis sleutels, en behoud Fail2ban als ondersteunende laag.

Klaar om beschermd te worden?

Begin vandaag nog met uw beveiligingstraject

Ontvang een gratis adviesgesprek met onze cybersecurity-experts. Geen verplichting vereist.