JWT biztonsági hibák és azok elkerülése

JWT hatékony az API hitelesítéshez, de sok éles incidens megvalósítási hibákból származik, nem magából a JWT-ből. Ha az alkalmazás hozzáférési tokeneket, frissítési tokeneket és szerepkérelmeket használ, a biztonság a részletektől függ.
1) Bármilyen algoritmus elfogadása
Soha ne bízzon egyedül a token fejléc által küldött algoritmusban. A szervernek explicit engedélyezési listát kell kényszerítenie (például csak RS256).
- Rögzítse a várt algoritmusokat a szerveroldalon.
- A hiányzó vagy váratlan tokenek elutasítása
alg. - Érett, aktívan karbantartott JWT-könyvtárak használata.
2) Hosszú élettartamú hozzáférési tokenek
Ha egy hozzáférési token kiszivárog, és napokig érvényes marad, a támadónak túl sok ideje van. Tartsa rövid életű hozzáférési tokeneket, és hagyatkozzon a frissítési folyamatra.
- Hozzáférési token: rövid TTL (5-15 perc).
- Token frissítése: hosszabb TTL + elforgatás + visszavonás.
- A munkamenetek érvénytelenítése gyanús tevékenység esetén.
3) Tokenek kiszivárgása az URL-ekben és a naplókban
Soha ne tegyen JWT-ket a lekérdezési paraméterek közé. Az URL-ek a naplókba, az elemzésekbe, a böngészési előzményekbe és a hivatkozókba kerülnek.
- Tokenek küldése a
Engedélyezés: hordozó ...fejlécben. - Hitelesítési fejlécek törlése naplókból és APM-nyomokból.
- Az érzékeny mezők maszkolása az ügyfél hibajelentésében.
4) Gyenge követelés érvényesítése
Érvényesítése iat. Ellenőrizze az üzleti korlátokat is, például a bérlői azonosítót és a szükséges szerepköröket.
- A lejárt vagy még nem érvényes tokenek elutasítása.
- Várt közönség lekötése szolgáltatásonként.
- Ne bízzon a szerepkörökben szerveroldali ellenőrzések nélkül.
5) Nincs kulcsrotációs stratégia
A kulcsok kiszivárognak, a tanúsítványok lejárnak, és incidensek történnek. Tervezze meg a rotációt a gyártás elindítása előtt.
- Használjon
kidfejlécet és JWKS-végpontokat. - Támogatja az átfedő kulcsokat a forgatási ablakok során.
- Az aláírás-ellenőrzési hibák figyelése anomáliák esetén.
Gyakorlati edzési ellenőrzőlista
- Szigorú algoritmus-engedélyezési lista érvényesítése.
- Használjon rövid élettartamú hozzáférési tokeneket.
- Frissítési tokenek forgatása és visszavonás támogatása.
- A tokenek biztonságos tárolása (inkább a httpOnly cookie-kat részesítse előnyben).
- Érvényesítsen minden szabványos és üzleti szempontból kritikus állítást.
- A kulcsforgatás megvalósítása figyeléssel.
Kapcsolódó eszközök
- JWT Dekóder — ellenőrizze a fejlécet és a hasznos terhet biztonságosan.
- Hash Generator — ellenőrizze az üzenetek és a fájlok ujjlenyomatait.
- Jelszógenerátor — hozzon létre erős titkokat adminisztrátori és szolgáltatási fiókok számára.