Password spraying en credential stuffing laten allebei een hoop mislukte aanmeldingen achter, maar het patroon verschilt, en de oplossing ook. Als uw enige alert "vijf mislukte pogingen op één account" is, mist u beide aanvallen.
Drie aanvallen, drie patronen
De OWASP Credential Stuffing Prevention Cheat Sheet maakt het volgende onderscheid:
| Aanval | Wat de aanvaller doet |
|---|---|
| Brute force | Test veel wachtwoorden uit een woordenlijst op één enkel account |
| Credential stuffing | Test combinaties van gebruikersnaam en wachtwoord die afkomstig zijn uit de datalek van een andere site |
| Password spraying | Test één zwak wachtwoord op een groot aantal verschillende accounts |
Volgens OWASP zijn de maatregelen in veel gevallen dezelfde en werken ze ook tegen brute force.
Waar u in de logs op let
De detectiestrategie van MITRE voor password spraying is een groot aantal mislukte authenticaties met één wachtwoord, of een kleine set wachtwoorden, over veel gebruikersaccounts binnen een tijdvenster. Bij credential stuffing gaat het om meerdere mislukte pogingen met verschillende combinaties van gebruikersnaam en wachtwoord vanaf één IP-adres of sessie in een kort tijdsbestek.
Aanvallers passen zich aan de voor de hand liggende tegenmaatregelen aan:
- Vertraagde spraying. MITRE beschrijft tooling van APT28 die per doelaccount ongeveer vier pogingen per uur deed, verspreid over dagen of weken. Bij Quad7-activiteit volstond één aanmeldpoging binnen 24 uur, waardoor de drempels voor brute force-detectie werden omzeild. Tellers per account vangen dit niet op.
- Gedistribueerde spraying. MITRE meldt ook dat APT28 een Kubernetes-cluster gebruikte voor gedistribueerde spraying op grote schaal. Een telling per bron-IP alleen mist dat, omdat geen enkel adres vaak faalt. Tel daarom ook het aantal unieke accounts met mislukte pogingen per tijdvenster over alle bronnen heen, en splits dezelfde data uit naar ASN en user agent.
- Rustigere protocollen. Aanvallers kunnen LDAP- en Kerberos-pogingen gebruiken, die minder snel zichtbare events zoals de Windows-"logon failure" met event ID 4625 veroorzaken. Dat event wordt gewoonlijk getriggerd door mislukte SMB-verbindingen. Verzamel dus naast 4625 ook de LDAP- en Kerberos-fouten.
Aanvallers richten zich meestal op beheerdiensten op gangbare poorten: SSH (22/TCP), RDP (3389/TCP), SMB (445/TCP), LDAP (389/TCP), Kerberos (88/TCP) en webbeheerinterfaces op 80 en 443. Ook SSO, cloudapplicaties met federatieve authenticatie en extern bereikbare e-mail zoals Office 365 en OWA zijn doelwit.
Microsoft 365: gebruik smart lockout goed
Microsoft Entra smart lockout staat altijd aan. Standaard blokkeert het een account na 10 mislukte pogingen in Azure Public-tenants, of na drie in Azure US Government-tenants. De eerste lockout duurt één minuut en wordt bij volgende mislukte pogingen langer. Microsoft maakt niet bekend hoe snel de duur toeneemt.
- Het houdt de hashes van de laatste drie foute wachtwoorden bij, zodat herhaling van hetzelfde foute wachtwoord de teller niet verhoogt. Zo wordt voorkomen dat een gebruiker zichzelf buitensluit door steeds dezelfde typefout te maken. Tegen een spray helpt dit nauwelijks, want daar ziet elk account het wachtwoord maar één keer.
- Bekende en onbekende locaties hebben aparte lockout-tellers. Een aanvaller vanaf een nieuwe locatie kan dus worden geblokkeerd terwijl de echte gebruiker gewoon doorwerkt.
- Eigen waarden vereisen Microsoft Entra ID P1 of hoger. Meld u aan bij het Microsoft Entra admin center als minimaal Authentication Policy Administrator en ga naar Entra ID > Authentication methods > Password protection. Daar stelt u de Lockout threshold en de Lockout duration in seconden in (standaard 60).
- Entra blokkeert standaard ook bepaalde aanmeldingen op basis van IP-verkeer en gedragssignalen en geeft dan
AADSTS50053 - IdsLockedterug, ongeacht of het wachtwoord geldig was. Beschouw accounts met deze code als doelwit, maar zie het niet als bewijs dat het wachtwoord fout of juist was.
Smart lockout garandeert niet dat een echte gebruiker nooit wordt buitengesloten. MITRE wijst op de andere kant: een te strikt beleid kan een denial of service veroorzaken, doordat alle accounts in de aanval worden geblokkeerd.
Hybride omgevingen
Bij pass-through authentication moet de Entra-drempel lager zijn dan de drempel van de on-premises AD DS, en die AD DS-drempel moet minstens twee tot drie keer zo hoog zijn. De Entra lockout-duur moet langer zijn dan die van AD DS. Het voorbeeld van Microsoft is een drempel van 10 tegenover 20, en 120 seconden tegenover 60. De Entra-duur wordt in seconden ingesteld en die van AD DS in minuten, dus controleer de eenheden.
Hash tracking is niet beschikbaar bij pass-through authentication. Om uw AD DS-waarden uit te lezen opent u Group Policy Management, bewerkt u het beleid met uw lockout-instellingen en navigeert u naar Computer Configuration > Policies > Windows Settings > Security Settings > Account Policies > Account Lockout Policy.
Uw eigen inlogpagina en blootgestelde diensten
Lockout is een maatregel per account. Onze inschatting is dat een stuffing-run die elk account één of twee keer probeert de drempel vaak nooit bereikt, dus beschouw lockout niet als uw belangrijkste verdediging. MITRE waarschuwt dat stuffing talrijke mislukte pogingen en lockouts kan veroorzaken, maar dat hangt af van uw beleid. De mitigaties van MITRE voor beide technieken omvatten daarnaast:
- Multi-factor authentication, waar mogelijk ingeschakeld op extern bereikbare diensten.
- Conditional access-beleid dat aanmeldingen blokkeert vanaf niet-compliant apparaten of van buiten de gedefinieerde IP-bereiken van de organisatie.
- Het blokkeren van riskante verzoeken, zoals die van anonimiseringsdiensten of proxy's.
- Wachtwoordbeleid op basis van NIST-richtlijnen.
- Bij stuffing: het proactief resetten van accounts waarvan bekend is dat ze in gelekte inloggegevens voorkomen, direct of nadat u brute force-pogingen hebt gedetecteerd.
Voor een eigen applicatie bevat de OWASP Authentication Cheat Sheet secties over bescherming tegen geautomatiseerde aanvallen, CAPTCHA, en logging en monitoring.
Waar u kunt beginnen
- Maak een lijst van alle vanaf internet bereikbare logins: Microsoft 365 of OWA, VPN, RDP, SSH, SSO en uw eigen webformulieren. Sluit elke beheerpoort die niet open hoeft te staan.
- Controleer de smart lockout-drempel en -duur onder Entra ID > Authentication methods > Password protection. Vergelijk ze bij pass-through authentication met uw AD DS-lockoutbeleid aan de hand van de bovenstaande regels.
- Bouw twee queries over uw aanmeldlogs. De eerste telt per uur per bron-IP het aantal unieke accounts met mislukte aanmeldingen. De tweede negeert de bron: die telt per tijdvenster het totale aantal unieke accounts met mislukte pogingen en splitst dat daarna uit naar ASN en user agent. Stel op beide een alert in en houd
AADSTS50053als aparte weergave. - Schakel MFA in voor elke extern bereikbare dienst en voeg daarna conditional access-regels toe voor onbeheerde apparaten en anonimiseringsdiensten.
- Vergelijk medewerkersaccounts met bekende datalekken, bijvoorbeeld met onze check op gelekte wachtwoorden, en reset accounts die overeenkomen. Hebt u onvoldoende mensen om de logs dagelijks te bewaken, dan vult managed monitoring dat gat op.
