Rate limiting og forsvar med kontolåsning
Undersøg forsvar på serversiden og protokolniveau, der i praksis gør brute force-angreb urealistiske.
Rate limiting og forsvar med kontolåsning er en gratis Cryptology Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Cryptology Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Cryptology Academy-kurset indeholder 4 lektioner i alt.
Online- og offline-brute force
Online-brute force-angreb autentificerer mod aktive systemer over et netværk. Hvert forsøg tager mindst én tur-retur-kommunikation, typisk 50-500 ms, hvilket højst begrænser angriberen til nogle få tusinde forsøg pr. minut. Det er langt langsommere end offline-knækning af hashes. Hastighedsbegrænsning og kontolåsning udnytter denne begrænsning til at gøre online-brute force praktisk umuligt inden for et realistisk tidsrum.
Kontolåsning efter N mislykkede forsøg
Det enkleste forsvar mod online-brute force er at låse en konto efter et fastsat antal på hinanden følgende mislykkede loginforsøg, typisk 5 til 10. Kontoen kan låses i et fast tidsrum, f.eks. 15 minutter, eller indtil en administrator låser den op manuelt. Kontolåsning forvandler et online-brute force-angreb fra et forsøg på at knække adgangskoden til et udmattelsesangreb, der gør kontoen utilgængelig.
Risiko for tjenestenægtelsesangreb ved kontolåsning
Kontolåsning skaber en sårbarhed over for tjenestenægtelsesangreb: En angriber, der kender gyldige brugernavne, kan låse alle konti ved at sende 5 mislykkede forsøg for hver konto. Det er en uundgåelig afvejning ved kontolåsningspolitikker. Nogle systemer bruger midlertidig kontolåsning i 5 minutter i stedet for permanent låsning for at begrænse virkningen af tjenestenægtelsesangreb. Andre låser slet ikke konti, men bruger i stedet eksponentisk ventetid til at bremse angribere uden at muliggøre tjenestenægtelsesangreb.
CAPTCHA som værn mod botter
CAPTCHA (fuldautomatisk offentlig Turing-test til at skelne mellem computere og mennesker) kræver, at du løser en visuel eller lydlig udfordring, som er let for mennesker, men vanskelig for automatiserede botter. Google reCAPTCHA v3 bruger adfærdsanalyse i stedet for eksplicitte udfordringer og tildeler en risikoscore baseret på musebevægelser, tidsmønstre og browserhistorik. CAPTCHA gør automatiserede brute force-angreb væsentligt langsommere uden at låse konti.
Eksponentiel ventetid efter mislykkede forsøg
Eksponentiel ventetid øger ventetiden mellem tilladte loginforsøg efter hver fejl: 1 sekund efter den første fejl, 2 sekunder efter den anden, 4 sekunder efter den tredje og så videre. Efter 10 fejl er ventetiden over 17 minutter. Det gør brute force ekstremt langsomt uden at låse kontoen helt, så du undgår risikoen for tjenestenægtelsesangreb og stadig afskrækker automatiserede angreb.
IP-baseret hastighedsbegrænsning
IP-baseret hastighedsbegrænsning blokerer loginforsøg fra IP-adresser eller kræver en ekstra udfordring, når antallet af fejl overskrider en grænse pr. tidsenhed. Hvis en IP-adresse sender 50 mislykkede loginforsøg på ét minut, blokeres efterfølgende forsøg fra denne IP-adresse i en time. Distribuerede angreb, der bruger botnet med tusindvis af forskellige IP-adresser, kan omgå simple begrænsninger pr. IP-adresse. Derfor kræves mere avanceret registrering af angrebshastighed på tværs af flere signaler.
TOTP som værn mod brute force
Tidsbaserede engangsadgangskoder (TOTP, som bruges i Google Authenticator og lignende apps) genererer en 6-cifret kode, der er gyldig i 30 sekunder. Selv hvis en angriber finder den korrekte adgangskode ved brute force, skal angriberen også bruge den aktuelle TOTP-kode. Der findes kun 1 million mulige 6-cifrede koder, og med et tidsvindue på 30 sekunder er det praktisk mulige tidsrum for brute force mod TOTP meget lille. Multifaktorautentificering eliminerer reelt brute force mod adgangskoder som en brugbar angrebsvektor.
bcrypts arbejdsfaktor gør hashberegning langsommere
bcrypt er en hashfunktion til adgangskoder med en konfigurerbar omkostningsfaktor. Ved omkostningsfaktor 10 tager bcrypt cirka 100 ms at hashe en enkelt adgangskode. Ved omkostningsfaktor 12 tager det cirka 400 ms. Det betyder, at en angriber, der knækker bcrypt-hashes offline, højst kan afprøve nogle få hundrede adgangskoder i sekundet på en GPU, sammenlignet med milliarder i sekundet for MD5. Arbejdsfaktoren kan øges, efterhånden som hardwaren bliver bedre, så knækningssværhedsgraden forbliver konstant.
Argon2s hukommelseskrævende beregning
Argon2 vandt Password Hashing Competition i 2015 og er den aktuelle anbefaling til nye systemer. Den vigtigste egenskab er, at beregningen kræver meget hukommelse: Den kræver en konfigurerbar mængde RAM, typisk fra 64 MB til 1 GB. Det forhindrer acceleration med GPU'er og ASIC'er, fordi disse enheder har begrænset hukommelsesbåndbredde. En angriber med en GPU, der kan køre tusindvis af bcrypt-beregninger parallelt, kan kun køre en håndfuld Argon2-beregninger på grund af hukommelsesbegrænsningerne.
WAF-regler mod genbrugte loginoplysninger
Webapplikationsfirewalls kan registrere angreb med genbrugte loginoplysninger ved at identificere mønstre i trafik med mislykkede loginforsøg: store mængder fra enkelte IP-adresser, forsøg med almindelige brugernavnelister, unormal geografisk fordeling af loginforsøg og tidsmønstre, der passer med automatiserede værktøjer. WAF-regler kan blokere, udfordre eller sænke hastigheden for mistænkelig trafik, før den når applikationen. Moderne WAF'er integrerer feeds med trusselsdata om kendte botnetters IP-intervaller.
HIBP API til adgangskoder fra kendte databrud
Ved at integrere Have I Been Pwned API i forløb til ændring af adgangskoder kan du forhindre brugere i at angive adgangskoder, der findes i databaser over kendte databrud. API'et bruger k-anonymitet: Kun de første 5 hexadecimale tegn af SHA-1-hashen sendes, hvilket beskytter brugernes privatliv og samtidig gør det muligt at sammenligne med 850 millioner adgangskoder fra kendte databrud. Blokering af adgangskoder fra databrud ved oprettelse af en konto fjerner en betydelig del af sårbarheden over for angreb med genbrugte loginoplysninger.
Kontolåsning
Hvad er den største sikkerhedsrisiko ved strenge politikker for kontolåsning, der låser konti permanent?
Hastighedsbegrænsning og kontolåsning: Vigtigste pointer
Online-brute force begrænses af netværksforsinkelse, og hastighedsbegrænsning og kontolåsning udnytter dette. Kontolåsning stopper brute force, men muliggør tjenestenægtelsesangreb. Eksponentisk ventetid og CAPTCHA begrænser begge risici. IP-baseret hastighedsbegrænsning registrerer angreb fra én kilde. TOTP-baseret multifaktorautentificering besejrer effektivt brute force mod adgangskoder. bcrypt og Argon2 gør offline-knækning af hashes langsommere. HIBP API blokerer adgangskoder fra kendte databrud ved oprettelse af en konto.
Lær Cryptology Academy med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 67
- Lektioner
- 261
Ofte stillede spørgsmål
Er lektionen “Rate limiting og forsvar med kontolåsning” gratis?
Ja — hele teksten til “Rate limiting og forsvar med kontolåsning” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Cryptology Academy-kurset, skal du opgradere til CoddyKit PRO. Cryptology Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Rate limiting og forsvar med kontolåsning”?
Undersøg forsvar på serversiden og protokolniveau, der i praksis gør brute force-angreb urealistiske. Du øver dig i Cryptology Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Cryptology Academy?
Der kræves ingen tidligere erfaring. Cryptology Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.
Hvor lang tid tager lektionen “Rate limiting og forsvar med kontolåsning”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Cryptology Academy-lektion?
Ja. Alle Cryptology Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Sådan fungerer brute force-angreb
- Ordbogsangreb og rainbow tables
- Hvorfor kryptografisk nøglelængde er vigtig
- Rate limiting og forsvar med kontolåsning