JWT Beveiligingsfouten en hoe u ze kunt vermijden

JWT is krachtig voor API-authenticatie, maar veel productie-incidenten komen voort uit implementatiefouten, en niet uit JWT zelf. Als uw app toegangstokens, vernieuwingstokens en rolclaims gebruikt, hangt uw beveiliging af van de details.
1) Elk algoritme accepteren
Vertrouw nooit alleen het algoritme dat door de tokenheader wordt verzonden. Uw server moet een expliciete toelatingslijst afdwingen (bijvoorbeeld alleen RS256).
- Plaats de verwachte algoritmen op de server.
- Weiger tokens met ontbrekende of onverwachte
alg. - Gebruik volwassen, actief onderhouden JWT-bibliotheken.
2) Toegangstokens met lange levensduur
Als een toegangstoken lekt en dagenlang geldig blijft, heeft een aanvaller te veel tijd. Houd toegangstokens van korte duur en vertrouw op de vernieuwingsstroom.
- Toegangstoken: korte TTL (5-15 minuten).
- Vernieuwingstoken: langere TTL + rotatie + intrekking.
- Invalideer sessies bij verdachte activiteit.
3) Lekkende tokens in URL's en logs
Plaats nooit JWT's in queryparameters. URL's komen terecht in logbestanden, analyses, browsergeschiedenis en verwijzingen.
- Verstuur tokens in
Autorisatie: Drager ...header. - Verificatieheaders uit logboeken en APM-traceringen verwijderen.
- Gevoelige velden maskeren in clientfoutrapportage.
4) Zwakke claimvalidatie
Valideren iss, aud, exp, nbf en iat. Controleer ook zakelijke beperkingen zoals tenant-ID en vereiste rollen.
- Verlopen of nog niet geldige tokens weigeren.
- Bind het verwachte publiek per dienst.
- Vertrouw geen rolclaims zonder controles aan de serverzijde.
5) Strategie voor geen sleutelrotatie
Sleutels lekken, certificaten verlopen en er gebeuren incidenten. Plan rotatie vóór productielancering.
- Gebruik
kidheaders en JWKS-eindpunten. - Ondersteunt overlappende sleutels tijdens rotatievensters.
- Controleer handtekeningvalidatiefouten op afwijkingen.
Praktische checklist voor verharding
- Handhaving van strikte toelatingslijst voor algoritmen.
- Gebruik toegangstokens met een korte levensduur.
- Routeer vernieuwingstokens en ondersteun intrekking.
- Tokens veilig opslaan (bij voorkeur httpOnly cookies).
- Valideer alle standaard en bedrijfskritische claims.
- Implementeer sleutelrotatie met monitoring.
Gerelateerde tools
- JWT-decoder — inspecteer header en lading veilig.
- Hash Generator — verifieer vingerafdrukken van berichten en bestanden.
- Wachtwoordgenerator — creëer sterke geheimen voor beheerders- en serviceaccounts.