Cloud & IT Cert Prep · Lektion

Lösenordspolicyer och multifaktorautentisering

Förstå krav på starka lösenord, MFA-faktorer (något du vet, har eller är) och varför flera lager av faktorer kraftigt minskar risken för kontokapning.

Lektion 1 av 413 steg

Lösenordspolicyer och multifaktorautentisering är en gratis lektion i Cloud & IT Cert Prep på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Cloud & IT Cert Prep, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Cloud & IT Cert Prep innehåller totalt 4 lektioner.

Lösenord: den svagaste länken

Lösenord är fortfarande den vanligaste autentiseringsmekanismen, trots att de är det som oftast komprometteras. Angripare stjäl lösenord genom nätfiske, credential stuffing (återanvändning av läckta inloggningsuppgifter), brute force-attacker och keyloggers. Även ett "starkt" lösenord ger begränsat skydd om en angripare kan fånga upp det i hemlighet. Lösenordspolicyer anger minimikrav för komplexitet och byte av lösenord för att minska risken, men den mest effektiva säkerhetsförbättringen är att lägga till en andra faktor — eftersom det inte längre räcker att känna till lösenordet för att få åtkomst.

Krav på lösenordskomplexitet

Effektiva policyer för lösenordskomplexitet anger minimistandarder som gör lösenord svårare att knäcka. Traditionella krav omfattar: minsta längd (minst 12–16 tecken; längden är viktigare än komplexiteten), krav på olika teckentyper (versaler, gemener, siffror, symboler), förbud mot vanliga lösenord (lösenordsordlistor) samt förbud mot att inkludera användarnamnet eller organisationens namn i lösenordet. Riktlinjerna i NIST SP 800-63B, som uppdaterades 2017, rekommenderar att längd prioriteras framför godtyckliga komplexitetsregler och att lösenord kontrolleras mot databaser med läckta inloggningsuppgifter i stället för att kräva frekventa byten.

# Check if a password appears in known breach databases
# NIST recommends this approach vs forced periodic rotation

# Example: Using Have I Been Pwned (HIBP) API
# Hash the password first (k-anonymity model - sends only first 5 chars of SHA-1)
echo -n 'mysecretpassword' | sha1sum
# Returns: e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4  -

# Send first 5 chars to HIBP API:
# GET https://api.pwnedpasswords.com/range/E5E9F
# Response includes suffix of any matching hashes
# If found: this password is compromised - reject it

Modern lösenordsvägledning i NIST SP 800-63B

NIST SP 800-63B (Digital Identity Guidelines) reviderade i grunden bästa praxis för lösenord. Viktiga uppdateringar: kräv inte periodiska byten om det inte finns tecken på att lösenordet har komprometterats — tvingade byten leder till att användare gör förutsägbara ändringar (Password1! → Password2!); kontrollera mot databaser över läckta inloggningsuppgifter när lösenord skapas och låt användare se lösenordet medan de skriver; tillåt långa lösenordsfraser på upp till 64 tecken; ta bort godtyckliga komplexitetsregler som leder till förutsägbara mönster; och implementera kontolåsning eller strypning för att förhindra brute force-attacker i stället för att enbart förlita sig på komplexitet.

De tre autentiseringsfaktorerna

Autentisering bygger på en eller flera av tre faktortyper. Något du vet (kunskapsfaktor): lösenord, PIN-koder, säkerhetsfrågor, lösenordsfraser. Något du har (innehavsfaktor): fysisk token, smartphone med autentiseringsapp, smartkort, hårdvarunyckel (YubiKey). Något du är (biometrisk faktor): fingeravtryck, näthinneskanning, ansiktsigenkänning, röstprofil, beteendebiometri. En fjärde kategori — någonstans du befinner dig (position) — läggs ibland till. Att använda en faktor från två eller fler kategorier är multifaktorautentisering (MFA). Två faktorer från samma kategori (till exempel två lösenord) är inte MFA.

Varför MFA är så effektivt

Multifaktorautentisering (MFA) är en av de mest effektiva säkerhetsåtgärderna som finns. Enligt Microsofts forskning blockerar MFA 99,9 % av alla attacker som syftar till att kompromettera konton. Anledningen är att nätfiske eller stulna inloggningsuppgifter ger angriparen "något du vet" (lösenordet), men angriparen kan vanligtvis inte också få tag på den andra faktorn (en engångskod i en smartphone eller en hårdvarunyckel). Även om en användares lösenord publiceras i en databas över läckta inloggningsuppgifter förblir kontot skyddat om MFA är aktiverat. Organisationer som har infört MFA förekommer sällan i rapporter om dataintrång där konton tas över med hjälp av inloggningsuppgifter.

SMS OTP och dess svagheter

SMS-baserade engångslösenord (OTP) är den vanligaste MFA-metoden — en sexsiffrig kod som skickas via SMS. De är bättre än ingen MFA alls, men har dokumenterade svagheter. SIM-kapningsattacker: angripare utger sig för att vara offret inför mobiloperatören och överför telefonnumret till sitt eget SIM-kort, så att de kan fånga upp framtida OTP-koder. Sårbarheter i SS7-protokollet: telefonnätets signaleringsprotokoll har kända brister som gör det möjligt att fånga upp SMS. Nätfiske i realtid: avancerade nätfiskeproxier vidarebefordrar OTP-koder i realtid och kringgår därmed skyddet. NIST SP 800-63B har begränsat SMS-OTP till statusen "begränsad autentiseringsmetod". Autentiseringsappar eller hårdvarutoken föredras.

TOTP: tidsbaserade engångslösenord

TOTP (Time-Based One-Time Passwords) — standardiserat i RFC 6238 — genererar sexsiffriga koder från en delad hemlighet och den aktuella tiden. Appar som Google Authenticator, Authy och Microsoft Authenticator implementerar TOTP. Koden ändras var 30:e sekund och är endast giltig för ett autentiseringsförsök. Till skillnad från SMS-OTP går TOTP inte via telefonnätet och är därför immunt mot SIM-kapning och SS7-attacker. Den delade hemligheten utväxlas en gång (via en QR-kod vid konfigurationen) och lagras i autentiseringsappen — vilket innebär att fysisk åtkomst till den registrerade enheten krävs för att generera koder.

# TOTP algorithm (RFC 6238) conceptual implementation
import hmac, hashlib, time, struct, base64

def totp(secret_b32, digits=6, interval=30):
    # Decode the base32 secret
    secret = base64.b32decode(secret_b32, True)
    # Time counter: number of 30-second intervals since epoch
    counter = int(time.time()) // interval
    # HMAC-SHA1 of counter with secret
    msg = struct.pack('>Q', counter)
    digest = hmac.new(secret, msg, hashlib.sha1).digest()
    # Dynamic truncation to get 6 digits
    offset = digest[-1] & 0xf
    code = struct.unpack('>I', digest[offset:offset+4])[0] & 0x7fffffff
    return str(code % (10**digits)).zfill(digits)

FIDO2 och WebAuthn: nätfiskeresistent MFA

FIDO2 (Fast Identity Online 2) och dess webbaserade implementation WebAuthn utgör den mest nätfiskeresistenta autentiseringsstandard som finns. FIDO2 använder kryptografi med publika nycklar på enhetsnivå — autentiseringsenheten (en hårdvarunyckel som YubiKey eller en biometrisk funktion i enheten, som Windows Hello) lagrar en privat nyckel som aldrig lämnar enheten. Autentiseringen binds kryptografiskt till den specifika origin-adressen (webbplatsen), vilket gör metoden immun mot nätfiske: även om en användare luras att besöka en falsk webbplats misslyckas autentiseringsutmaningen eftersom origin-adressen inte stämmer. FIDO2 är den gyllene standarden för autentisering med höga säkerhetskrav.

Hårdvarutoken: HOTP och smartkort

Fysiska hårvarutoken ger "något du har" och är oberoende av smartphones. HOTP (HMAC-based OTP) — standardiserat i RFC 4226 — genererar en kod från en räknare och en delad hemlighet; räknaren ökas varje gång knappen trycks ned. Till skillnad från TOTP upphör HOTP-koder inte att gälla efter en viss tid, men de måste användas i rätt ordningsföljd. Smartkort (som PIV-kort, vilka används av amerikanska myndighetsanställda) lagrar privata nycklar i manipulationssäkra komponenter och kräver en PIN-kod för att låsas upp. Därmed kombineras "något du har" (kortet) med "något du vet" (PIN-koden). Smartkortsautentisering är standard för privilegierad åtkomst i miljöer med höga säkerhetskrav.

Lösenordshanterare: lösningen på det mänskliga problemet

Lösenordshanterare löser människans benägenhet att återanvända lösenord genom att generera och lagra unika, slumpmässiga lösenord för varje webbplats. Huvudlösenordet låser upp ett krypterat valv som innehåller alla inloggningsuppgifter. Lösenordshanterare för företag (1Password Teams, Bitwarden Business, CyberArk) har funktioner som centraliserad policytillämpning, granskningsloggar, säker delning och nödåtkomst. Säkerhetsteam bör aktivt uppmuntra eller kräva att lösenordshanterare används — det är en ovanlig säkerhetsåtgärd som förbättrar både säkerheten (unika lösenord överallt) och användarvänligheten (ni behöver inte komma ihåg dussintals lösenord). Tillsammans med MFA minskar lösenordshanterare risken för att konton komprometteras genom stulna inloggningsuppgifter avsevärt.

Kontolåsning och strypning

Kontolåsning inaktiverar ett konto efter ett angivet antal misslyckade inloggningsförsök och förhindrar brute force-attacker. Vanliga policyer låser ett konto efter 3–10 misslyckade försök, med en låsningsperiod från en fast tidsperiod (30 minuter) till att en administratör måste låsa upp kontot. Strypning är ett mildare alternativ: i stället för att låsa konton ökas fördröjningen mellan inloggningsförsöken successivt. Då tar brute force-attacker år i stället för minuter, utan den påverkan på användarupplevelsen som kontolåsning medför. Webbapplikationer bör implementera båda — hastighetsbegränsning på API-nivå och strypning på kontonivå — för att förhindra automatiserade attacker med inloggningsuppgifter.

# Configure account lockout policy via Windows Group Policy
# Computer Configuration > Windows Settings > Security Settings
# > Account Policies > Account Lockout Policy
#
# Account lockout threshold:     5 invalid logon attempts
# Account lockout duration:      30 minutes
# Reset account lockout after:   30 minutes

# Linux PAM-based lockout (/etc/pam.d/common-auth)
# auth required pam_tally2.so deny=5 unlock_time=1800
# auth required pam_faillock.so preauth deny=5 unlock_time=1800

Snabbtest

Testa er förståelse av begreppen i CompTIA Security+ (SY0-701) från den här lektionen.

Sammanfattning av lektionen

I den här lektionen har ni lärt er att NIST SP 800-63B rekommenderar långa lösenordsfraser och kontroll mot läckta inloggningsuppgifter framför komplexa policyer för lösenordsbyten; de tre MFA-faktorerna är vet, har och är; TOTP-appar är säkrare än SMS-OTP; FIDO2/WebAuthn är motståndskraftigt mot nätfiske; och kontolåsning förhindrar brute force-attacker. Nästa avsnitt handlar om biometri och tokenbaserad autentisering.

Gratis att börja

Lär dig Cloud & IT Cert Prep med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
150
Lektioner
600

Vanliga frågor

Är lektionen ”Lösenordspolicyer och multifaktorautentisering” gratis?

Ja – hela texten till ”Lösenordspolicyer och multifaktorautentisering” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Cloud & IT Cert Prep, kan Ni uppgradera till CoddyKit PRO. Kursen i Cloud & IT Cert Prep innehåller totalt 4 lektioner.

Vad lär jag mig i ”Lösenordspolicyer och multifaktorautentisering”?

Förstå krav på starka lösenord, MFA-faktorer (något du vet, har eller är) och varför flera lager av faktorer kraftigt minskar risken för kontokapning. Ni övar på Cloud & IT Cert Prep med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Cloud & IT Cert Prep?

Du behöver inga förkunskaper. Utbildningen i Cloud & IT Cert Prep på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.

Hur lång tid tar lektionen ”Lösenordspolicyer och multifaktorautentisering”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Cloud & IT Cert Prep-lektionen?

Ja. Varje Cloud & IT Cert Prep-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Lösenordspolicyer och multifaktorautentisering
  2. Biometri och tokenbaserad autentisering
  3. Auktoriseringsmodeller: RBAC, MAC och DAC
  4. Federerad identitet: SAML, OAuth och OpenID Connect
← Tillbaka till Cloud & IT Cert Prep