// docs / baas security / clerk hardening
Clerk trygdarlisti: 20 evni
Clerk handfar váttan, fundir og samtøk fyri tína app — sum merkir, at ein misskipa Clerk-samanseting er ein váttans-umtak, ein funds-festingar-leið ella ein samtaks-lekan-leið. Hesin listi er ein 20-evnis endurskoðan yvir lyklar, funds-skipan, webhooks, samtøk, JWT-skablonir og varandi vakt. AI-kotuamboð seta Clerk upp skjótt við skilagóðum standardum; hesin listi fangar tey evni, sum tey eftirláta.
Fyri bakgrund um, hví váttan-stigs misskipanir eru ein veik tilstandur fyri AI-amboð, sí Hví AI-kotuamboð lata trygdarholur eftir. Fyri parallela listan á Auth0, sí Auth0 trygdarlisti.
Umhvørvi-lyklar og uppruna-loyvi-listi
Clerk gevur tveir ymiskar lyklar út per projekt. At blanda teir ella leka teir er fyrsta feilformin.
- Brúk hin almenna lykil (
pk_live_*í framleiðslu,pk_test_*í menning) í kagaranum; brúk loyndarlykilin (sk_live_*/sk_test_*) bert á servaranum. Hin almenni lykil er tryggur íNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY; loyndarlykilin má ongantíð hava eina almenna env-forsetning og má ongantíð koma fram í einum klient-komponenti. - Vátta at framleiðslu-appin brúkar
pk_live_*, ikkipk_test_*. Royndar-instansir loyva óváttaðar emailadressur og deaktiveraða MFA — at avgreiða royndarmodul til framleiðslu er ein váttan-umtak. - Skipa loyvdar uppruna í Clerk Dashboard. Settings → Domains → Allowed origins má lista tína framleiðslu-domena neyvt. Tóm ella vild-uppruna-listar loyva árásarmonnum at stovna roknar Clerk-frontendar, sum tosa við tín backend.
- Rotara loyndar-lykil á hvørjari avgangd ella roynd-leka. Dashboard → API Keys → Reset. Gamli lykilin er ógyldaður; endurdeploya servara-síðu-kotu við nýggja virði áðrenn rotering.
Funds-skipan
Funds-útrunning og óvirknar-tíðir eru munurin millum ein stolinn fundur sum er ein 10-minutta hending og ein 30-daga hending.
- Sett funds-óvirknar-tíð til 30 minuttir ella minni fyri SaaS-appir, sum handfara viðkvomar dátur. Dashboard → Sessions → Inactivity timeout. Bankakontu-appir eiga at brúka 5-10 minuttir; standard SaaS 30-60 minuttir; konsumar-appir 1-7 dagar. Standardin er 7 dagar.
- Virkja funds-niðurtaking á lykilorð-broyting, email-broyting og MFA-tilmelding. Dashboard → Sessions → Revoke on. Hesi eru brúkara-byrjaðar trygdar-hendingar; verandi fundir á øðrum eindum eiga at vera dripin.
- Vátta fundir á servara-síðu á hvørjari verjaðari leið, ikki bert við innskriving. Í Next.js:
const { userId } = await auth();í einum servara-komponenti / API-leið lesir JWT'in úr cookieinum og váttar hann. Trygd ongantíð á eini cookie-bert kanning. - Sett
SameSite=Lax(standard) ellaStrictá funds-cookieinum. Vátta í DevTools → Application → Cookies.SameSite=Noneer ein CSRF-veitari — brúk hann ongantíð, um tú hevur ikki greitt skipa eina kross-domena-váttans-uppsetingi.
Webhook-vátting
Clerk webhooks koyra á brúkara-lívsstigs-hendingum (stovnaður, broyttur, strikaður, session.ended). Tær eru samkøyrslu-mekanismurin fyri tínum dátugrunni — og ein forged webhook er eitt dátugrunn-skriva-amboð.
- Vátta Svix-undirskriftina á hvørjum webhook. Clerk webhooks eru undirskrivaðir av Svix. Brúk
new Webhook(secret).verify(body, headers). Nokta við401, um vátting bregður. - Goym webhook-loyndarmáli í einari umhvørvi-broyti, ongantíð í kotuni. Loyndarmálið roterar á hvørjari Dashboard-endurframleiðing — tín deploying má lesa tað úr env, ikki úr einari konstant.
- Idempotensa á hvørjari handfarara. Webhook-avgreidingar kunnu endurtaka. Brúk
svix-id-headaran sum hovuðlykil í einariwebhook_events-talvu fyri at dedupa. Lokk standa-broytingina og idempotensa-innleggingina í somu transaktión. - Á
user.deleted, harðstrik ella anonymisera PII innan 24 tímum. GDPR / CCPA krevja tað. Endurskoða strikinga-leiðina: hvørjar talvur hava hesa brúkaras dátur? Brúk FK ON DELETE CASCADE, har tú kanst.
Samtøk og rættindi
Um tú brúkar Clerk Organizations, er samtaks-markið tín leigara-einangring. Hvør servara-síðu-fyrispurningur má sía eftir tí.
- Á hvørjari API-leið, les bæði
userIdogorgIdúrauth()og sía dátugrunns-fyrispurningar eftir báðum.WHERE org_id = $orgId AND user_id = $userId. Trygd ongantíð á einiorg_idúr fyrispurningar-kroppinum. - <strong>Use Clerk role checks for privileged operations, not boolean checks against the user object.</strong> <code>has({ role: 'org:admin' })</code> reads the role from the verified JWT. A user can spoof a boolean on a stale client object; they cannot spoof a JWT claim.
- Royn kross-samtaks-einangring við tveimum veruligum samtaks-kontum. Stovna Samtak A, fyll í dátur, tilmelda teg á Samtak B í øðrum kagara, royn at lesa Samtak A's dátur gjøgnum API'in. Svarið má vera
403ella404.
JWT-skabelnir og uttarligar samansetingar
JWT-skabelnir trýsta Clerk-samleika inn í Supabase, Firebase og aðrar niðurstrøyma-tænastur. Misskipaðir skabelnir deila yvirsmá krøv ella avdúka dátur, tú ikki vildi.
- Fyri hvønn JWT-skabeln, lista hvørt krøv og vátta at tað er neyðugt. Dashboard → JWT Templates. Ein skabeln, sum sendir
emailogphonetil Supabase, avdúkar PII fyri hvønn tann, sum lesur JWT'in í kagaranum. - Sett stutta útrunning á JWT-skabelnir brúktar fyri klient-síðu niðurstrøyma-fyrispurningar. 60 sekundir fyri niðurstrøyma-API-fyrispurningar er standardurin. Longari-varandi JWT'ar verða stolnar og endurspæladar.
- Vátta áhoyrendi (
aud)-krøvið á móttakara-síðuni. Supabase, Firebase, o.s.fr. eiga at kanna ataudsamsvarar hin væntaða tænastu-samleiki. Uttan hetta kann ein JWT framleiddur til tænastu A vátta seg við tænastu B.
Rakstrarvakt
Váttan er hin høgsta-merkis loggkelda, tú hevur. Vakta hana.
- Boða um misvunnin-innskrivingar-loyk per IP / per kontu. Ein 50× normal-bristar-frekvens er ein nógv-prøving-árás. Clerk sendir hesar hendingar til webhooks; leið tær til tín SIEM.
- Kvartals-endurskoðan av funds- og instans-stillingar reksil. Standardar broytast, eftir sum Clerk uppdaterar; "gamlar skipanir" verða løgna skeivar í tíðini. Diffa Dashboard JSON-útflutning ímóti tíni seinasta-góðu kopiu.
Næstu stig
Koyr eina FixVibe-skanning móti tíni framleiðslu-URL — baas.clerk-auth0-eftirkanningin merkir Clerk almennar lyklar, royndar-lyklar í framleiðslu og bunkaðar loyndar-lyklar. Fyri parallela listan á Auth0, sí Auth0 trygdarlisti. Fyri tann omfattandi yvirlit yvir BaaS-veitarar, les BaaS-misskipansskannari.
