// docs / baas security / auth0 hardening
Auth0-sekuriteitskontrolelys: 22 items
Auth0 is 'n identiteit-as-'n-diens-platform met 'n enorme oppervlak — toepassings, API's (hulpbron-bedieners), huurders, aksies, reëls (oud), verbindings en toekennings. Wankonfigurasie van enige een is 'n auth-omseiling. Hierdie kontrolelys is 'n 22-item-oudit oor toepassings, terugroep-/uitteken-toelaatlyste, tokens en vernuwingsrotering, pasgemaakte aksies, RBAC, anomalie-deteksie en deurlopende monitering. Elke item is in die Auth0-Dashboard binne 10 minute verifieerbaar.
Vir die ekwivalente kontrolelys op Clerk, sien Clerk-sekuriteitskontrolelys. Vir agtergrond oor waarom identiteit-laag-wankonfigurasies KI-gereedskap-blindekolle is, sien Waarom KI-koderingsgereedskap sekuriteitsgapings laat.
Toepassingstipe en toekenningstipes
Die toepassingstipe en die geaktiveerde toekenningstipes is die instellings met die grootste impak in Auth0. Om dit verkeerd te kry, maak klasse aanvalle oop wat geen hoeveelheid frontend-kode sal sluit nie.
- Gebruik Toepassingstipe = Single Page Application vir slegs-blaaier toepassings en Regular Web Application vir bediener-gerenderde toepassings. Die verkeerde tipe laat die verkeerde toekenningstipes toe — bv. 'n Regular Web App met die SPA-toekenning aktiveer PKCE-lose Implisiete vloei, wat tokens via URL-fragmente lek.
- Deaktiveer die Implisiete toekenningstipe op elke toepassing. Dashboard → Toepassing → Gevorderde Instellings → Toekenningstipes → ontmerk Implisiete. Implisiete vloei gee tokens in URL-fragmente terug, waar hulle in blaaier-geskiedenis en analitiek aangeteken word. Gebruik Outorisasie-Kode met PKCE in plaas daarvan.
- Deaktiveer Wagwoord-toekenning tensy jy 'n gedokumenteerde behoefte het. Resource Owner Password Credentials (ROPC)-toekenning vereis dat jy gebruikerswagwoorde self hanteer — wat die meeste van wat jy Auth0 voor gekoop het, ondergrawe. Deaktiveer dit tensy jy 'n oud stelsel integreer.
- Aktiveer Outorisasie-Kode met PKCE op elke openbare kliënt. Dashboard → Gevorderde Instellings → OAuth → JsonWebToken-Handtekeningalgoritme = RS256, OIDC Konform = geaktiveer. PKCE is vereis vir mobiele toepassings en SPA's om kode-onderskepping te voorkom.
Terugroep- en uitteken-URL-toelaatlyste
Oop herleidings op die OAuth-terugroep-pad is 'n token-diefstal-primitief. Auth0 se toelaatlys is jou enigste verdediging.
- Stel Toegelate Terugroep-URL's op jou presiese produksie-terugroep-pad — geen jokertekens nie.
https://yourapp.com/callback, niehttps://yourapp.com/*nie. Jokerteken-terugroepe laat aanvallers tokens na arbitrêre subpaaie op jou domein herlei. - Stel Toegelate Uitteken-URL's op 'n eindige lys. Dieselfde reël: slegs eksplisiete URL's. 'n Oop uitteken-herleiding laat aanvallers vissery-bladsye skep wat soos jou na-uitteken-toestand lyk.
- Stel Toegelate Web-Oorspronge slegs op jou produksie-oorsprong. Gebruik vir stille autentisering (token-vernuwing via verborge iframe). 'n Jokerteken-oorsprong laat aanvaller-bladsye stille auth teen jou huurder uitvoer.
- Stel Toegelate CORS-oorspronge vir die API-eindpunte, nie die toepassing nie. Huurder-Instellings → Gevorderd → Toegelate CORS-oorspronge. Verstek is leeg (beperk); voeg slegs eksplisiete oorspronge by wat jy beheer.
Tokens en vernuwingsrotering
Token-lewensduur, vernuwingsrotering en teken-algoritme bepaal die ontploffingsradius van enige token-lek.
- Aktiveer Vernuwingsteken-Rotering. Toepassing → Vernuwingsteken-Instellings → Rotering. Elke vernuwing reik 'n nuwe vernuwingsteken uit en maak die oue ongeldig. Gekombineer met absolute verstryking, beperk dit token-diefstal.
- Stel Vernuwingsteken-Hergebruik-Interval op 0 (of so laag as jou herspeel-toleransie toelaat). Die hergebruik-interval laat 'n token twee keer in dieselfde venster gebruik word — skakel dit af tensy jy 'n spesifieke rede het om dit te hou.
- Stel Absolute Vernuwingsteken-Verstryking op 14-30 dae, nie oneindigheid nie. Toepassing → Vernuwingsteken-Verstryking → Absolute Verstryking. Auth0 stel by verstek slegs op Ledigheid, wat beteken 'n ledige sessie kan vir jare voortduur.
- Stel JWT-Handtekeningalgoritme op RS256. Toepassing → Gevorderd → OAuth → JsonWebToken-Handtekeningalgoritme. RS256 gebruik asimmetriese ondertekening sodat die kliënt nie tokens kan vervals nie. Gebruik nooit HS256 vir kliënt-gerigte toepassings nie.
- Verifieer
aud- eniss-aansprake op elke JWT wat jou API ontvang. Gebruik die amptelike Auth0-SDK aan die bedienerkant — dit verifieer hierdie outomaties. Handgekapte JWT-ontleding slaan gewoonlik gehoor-validasie oor, wat 'n auth-omseiling is.
Aksies en pasgemaakte kode
Auth0-Aksies (en oud Reëls) loop bedienerkant by aanteken en ander lewensiklus-gebeurtenisse. Hulle het toegang tot die hele versoek-konteks. Onveilige kode hier is 'n huurder-wye kwesbaarheid.
- Teken nooit
event.userofevent.transactionas 'n hele objek aan nie. Hierdie bevat e-pos-adresse, IP-adresse en ander PII. Gebruik slegs veld-vlak-aantekening, en teken slegs aan wat jy nodig het. - Gebruik die geheime-stoor vir enige API-sleutel of webhook-URL. Aksies → Wysig → Geheime. Voeg nooit 'n API-sleutel as 'n string-letterlik in aksie-kode in nie — die kode is sigbaar vir enigiemand met Aksie-redigeerder-toegang op die huurder.
- Valideer insette voordat hulle as user_metadata of app_metadata gestoor word. 'n Self-diens-aksie wat
event.body.namenauser.user_metadata.display_nameskryf, is 'n gestoorde-XSS-vektor as jou frontend daardie veld sonder ontsnapping vertoon.
RBAC en hulpbron-bedieners
As jy Auth0 RBAC gebruik, is die rol-na-toestemming-kartering jou outorisasie-laag. Kry dit verkeerd en enige geautentiseerde gebruiker kan admin-eindpunte tref.
- Definieer Hulpbron-Bedieners (API's) eksplisiet in die Auth0-Dashboard, nie spontaan nie. Elke API het 'n identifiseerder (die
audience), bestekke en handtekening-instellings. Sonder 'n geregistreerde API word alle tokens uitgereik vir die implisiete "Auth0 Management API" — verkeerde gehoor. - Konfigureer Toestemmings per API en vereis hulle in jou kode met die
scope-aanspraak. Moenie rol-lidmaatskap in jou toepassings-logika kontroleer nie; kontroleer bestekke in die toegang-token. Bestekke is die OAuth-inheemse outorisasie-meganisme. - Toets dat 'n geautentiseerde gebruiker sonder die vereiste rol / bestek nie bevoorregte eindpunte kan tref nie. Teken aan as 'n normale gebruiker, probeer
POST /api/admin/users/deleteoproep. Antwoord moet403wees.
Anomalie-deteksie en huurder-logs
Auth0 stuur hoë-sein-gebeurtenisse. Stel hulle op om jou span te waarsku, nie net in 'n log-buffer te sit nie.
- Aktiveer Aanvalsbeskerming: Bot-deteksie, Brute Force, Verdagte IP-Smoring. Dashboard → Sekuriteit → Aanvalsbeskerming. Elkeen is by verstek af op gratis vlakke; skakel hulle almal aan vir produksie.
- Stroom huurder-logs na 'n SIEM of jou toepassings-logs. Dashboard → Monitering → Strome. Auth0 behou logs vir 30 dae op die meeste planne; langtermyn-behoud vereis 'n stroom in jou eie stelsel.
- Waarsku oor
fcoa(mislukte kruis-oorsprong auth) enfp(mislukte aanteken) spronge. 'n Sarsie hiervan in 'n kort venster is geloofsbrief-volstopping. Stuur na jou ondersteuningskanaal.
Volgende stappe
Voer 'n FixVibe-skandering teen jou produksie-URL uit — die baas.clerk-auth0-toets merk Auth0-kliënt-geheime wat in JavaScript gebundel is en ander identiteitsverskaffer-blootstellingsklasse. Vir die ekwivalent op Clerk, sien Clerk-sekuriteitskontrolelys. Vir die sambreel-oorsig oor BaaS-verskaffers, lees BaaS-wankonfigurasieskandeerder.
