// docs / baas security / clerk hardening
Rhestr wirio diogelwch Clerk: 20 eitem
Mae Clerk yn ymdrin â auth, sesiynau, a sefydliadau ar gyfer dy ap — sy'n golygu bod integreiddiad Clerk wedi'i cham-gyflunio yn osgoad auth, fector sefydlogi sesiwn, neu lwybr gollwng org. Mae'r rhestr wirio hon yn archwiliad 20 eitem ar draws allweddi, cyfluniad sesiwn, webhooks, sefydliadau, templedi JWT, a monitro parhaus. Mae offer codio AI yn gwifrio Clerk yn gyflym gyda diofyn synhwyrol; mae'r rhestr hon yn dal yr eitemau y maent yn eu gadael ar y bwrdd.
Am gefndir ar pam mae cam-gyfluniadau haen auth yn fan gwan offer AI, gweler Pam mae offer codio AI yn gadael bylchau diogelwch. Am y rhestr wirio gyfochrog ar Auth0, gweler Rhestr wirio diogelwch Auth0.
Allweddi amgylchedd a rhestr ganiatáu tarddiad
Mae Clerk yn cyhoeddi dwy allwedd benodol fesul prosiect. Mae eu cymysgu neu eu gollwng yw'r modd methiant cyntaf.
- Defnyddia'r allwedd gyhoeddadwy (
pk_live_*mewn cynhyrchu,pk_test_*mewn datblygu) yn y porwr; defnyddia'r allwedd gyfrinachol (sk_live_*/sk_test_*) ar y gweinydd yn unig. Mae'r allwedd gyhoeddadwy'n ddiogel ynNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY; ni ddylai'r allwedd gyfrinachol byth gario rhagddodiad env cyhoeddus ac ni ddylai byth ymddangos mewn cydran cleient. - Dilysa fod yr ap cynhyrchu'n defnyddio
pk_live_*, nidpk_test_*. Mae enghreifftiau prawf yn caniatáu cyfeiriadau e-bost heb eu dilysu a MFA wedi'i analluogi — mae llongio modd prawf i gynhyrchu yn osgoi auth. - Cyfluniaa'r tarddiadau a ganiateir ym Bwrdd Gwaith Clerk. Rhaid i Settings → Domains → Allowed origins restru dy barth cynhyrchu yn union. Mae rhestrau tarddiad gwag neu gardiau gwyllt yn gadael i ymosodwyr greu blaenau Clerk rogue sy'n siarad â dy gefn.
- Cylchdroa'r allwedd gyfrinachol ar unrhyw adael neu gollyngiad amheus. Bwrdd Gwaith → API Keys → Reset. Mae'r hen allwedd wedi'i annilysu; ailddefnyddio cod ochr-gwasanaeth gyda'r gwerth newydd cyn cylchdroi.
Cyfluniad sesiwn
Mae dod i ben sesiwn ac amserau segur yw'r gwahaniaeth rhwng sesiwn a ddwynwyd yn ddigwyddiad 10-munud ac un 30-diwrnod.
- Gosod amser segurdod sesiwn i 30 munud neu lai ar gyfer apiau SaaS sy'n ymdrin â data sensitif. Bwrdd Gwaith → Sessions → Inactivity timeout. Dylai apiau lefel banc ddefnyddio 5-10 munud; SaaS safonol 30-60 munud; apiau defnyddwyr 1-7 diwrnod. Mae'r diofyn yn 7 diwrnod.
- Galluoga ddirymu sesiwn ar newid cyfrinair, newid e-bost, ac ymrestru MFA. Bwrdd Gwaith → Sessions → Revoke on. Mae'r rhain yn ddigwyddiadau diogelwch a gychwynnir gan y defnyddiwr; dylai sesiynau presennol ar ddyfeisiau eraill gael eu lladd.
- Dilysa sesiynau ochr-gwasanaeth ar bob llwybr a ddiogelir, nid dim ond ar gofrestriad. Yn Next.js:
const { userId } = await auth();mewn cydran weinydd / llwybr API yn darllen y JWT o'r cwci ac yn ei ddilysu. Byth ymddiried mewn gwiriad cwci-yn-unig. - Gosod
SameSite=Lax(diofyn) neuStrictar y cwci sesiwn. Dilysa yn DevTools → Application → Cookies. MaeSameSite=Noneyn fector CSRF — byth defnyddia oni bai dy fod wedi cyfluniad gosodiad auth traws-barth yn benodol.
Dilysu webhook
Mae webhooks Clerk yn tanio ar ddigwyddiadau cylch bywyd defnyddiwr (created, updated, deleted, session.ended). Hwy yw'r mecanwaith cydamseru ar gyfer dy gronfa ddata — ac mae webhook wedi'i ffugio'n cyntefig ysgrifennu cronfa ddata.
- Dilysa'r llofnod Svix ar bob webhook. Mae webhooks Clerk wedi'u llofnodi gan Svix. Defnyddia
new Webhook(secret).verify(body, headers). Gwrthod gyda401os bydd dilysu'n methu. - Storia'r gyfrinach webhook mewn newidyn amgylchedd, byth mewn cod. Mae'r gyfrinach yn cylchdroi ar bob aildaliad o'r Bwrdd Gwaith — rhaid i'th leoliad ei darllen o env, nid o gysonyn.
- Idempotency ar bob trinwr. Gall danfoniadau webhook ailadrodd. Defnyddia'r pennawd
svix-idfel prif allwedd mewn tablwebhook_eventsi ddyblygu. Lapia'r newid cyflwr a'r mewnosod idempotency yn yr un trafodyn. - Ar
user.deleted, dileu'n galed neu anhysbysu PII o fewn 24 awr. Mae GDPR / CCPA yn ei gwneud yn ofynnol. Archwilia'r llwybr dileu: pa dablau sy'n dal data'r defnyddiwr hwn? Defnyddia FK ON DELETE CASCADE lle y gelli.
Sefydliadau a chaniatâd
Os defnyddi Sefydliadau Clerk, ffin yr org yw dy ynysu denantiad. Rhaid i bob ymholiad ochr-gwasanaeth hidlo ganddo.
- Ar bob llwybr API, darllena'r ddau
userIdacorgIdoauth()a hidla ymholiadau cronfa ddata gan y ddau.WHERE org_id = $orgId AND user_id = $userId. Byth ymddiried mewnorg_ido gorff y cais. - <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.
- Profa ynysu traws-org gyda dau gyfrif org gwirioneddol. Crea Org A, poblogeiddio data, cofrestra i Org B mewn porwr arall, ceisia ddarllen data Org A trwy'r API. Rhaid i'r ymateb fod yn
403neu404.
Templedi JWT ac integreiddiadau allanol
Mae templedi JWT yn gwthio hunaniaeth Clerk i mewn i Supabase, Firebase, a gwasanaethau is-i-lawr eraill. Mae templedi wedi'u cam-gyflunio'n rhannu hawliadau gormod neu'n datgelu data nad oeddet yn bwriadu ei ddatgelu.
- Ar gyfer pob templed JWT, rhestra bob hawliad a chadarnha ei fod yn angenrheidiol. Bwrdd Gwaith → JWT Templates. Mae templed sy'n llongio
emailaphonei Supabase yn datgelu PII i unrhyw un sy'n darllen y JWT yn y porwr. - Gosod dyddiad dod i ben byr ar dempledi JWT a ddefnyddir ar gyfer galwadau is-i-lawr ochr-cleient. Mae 60 eiliad ar gyfer ceisiadau API is-i-lawr yn safon. Mae JWTs hir-fywyd yn cael eu dwyn a'u hailchwarae.
- Dilysa'r hawliad cynulleidfa (
aud) ar yr ochr dderbyn. Dylai Supabase, Firebase, ac ati wirio bodaudyn cyfateb i'r dynodydd gwasanaeth disgwyliedig. Heb hyn, gall JWT a gyhoeddwyd ar gyfer gwasanaeth A ddilysu i wasanaeth B.
Monitro gweithredol
Auth yw'r ffynhonnell log signal-uchaf sydd gennyt. Gwylia hi.
- Rhybudd ar sbeiciau methu mewngofnodi fesul IP / fesul cyfrif. Mae cyfradd methiant 50× arferol yn ymosodiad stwffio tystysgrif. Mae Clerk yn allbynnu'r digwyddiadau hyn i webhooks; eu llwybr i'th SIEM.
- Adolygiad chwarterol o ddrifft gosodiadau sesiwn a chyflwr. Mae diofyn yn newid wrth i Clerk ddiweddaru; mae "hen gyfluniadau" yn dod yn anghywir yn dawel dros amser. Diff allforio JSON y Bwrdd Gwaith yn erbyn dy gopi olaf-hysbys-da.
Camau nesaf
Rheda sgan FixVibe yn erbyn dy URL cynhyrchu — mae'r gwiriad baas.clerk-auth0 yn fflagio allweddi cyhoeddadwy Clerk, allweddi prawf mewn cynhyrchu, ac allweddi cyfrinachol wedi'u bwndelu. Am y rhestr wirio gyfwerth ar Auth0, gweler Rhestr wirio diogelwch Auth0. Am yr olwg ymbarél ar draws darparwyr BaaS, darllena Sganiwr cam-gyfluniad BaaS.
