// docs / baas security / clerk hardening
Clerk öryggisgátlisti: 20 atriði
Clerk meðhöndlar auth, lotur og samtök fyrir forritið þitt — sem þýðir að rangstillt Clerk-samþætting er auth-bypass, lotuneglingarvektor eða org-lekaslóð. Þessi gátlisti er 20-atriða endurskoðun yfir lykla, lotustillingar, vefkróka, samtök, JWT-sniðmát og áframhaldandi vöktun. AI-kóðunarverkfæri tengja Clerk hratt með skynsamlegum sjálfgildum; þessi listi grípur atriðin sem þau skilja eftir á borðinu.
Fyrir bakgrunn um hvers vegna auth-lags-rangstillingar eru veikur punktur fyrir AI-verkfæri, sjáðu Hvers vegna AI-kóðunarverkfæri skilja eftir öryggisgöt. Fyrir samhliða gátlistann á Auth0, sjáðu Auth0 öryggisgátlisti.
Umhverfislyklar og uppruna-leyfilisti
Clerk gefur út tvo aðskilda lykla á verkefni. Að blanda þeim eða leka þeim er fyrsta bilunarmáttið.
- Notaðu útgefanlega lykilinn (
pk_live_*í framleiðslu,pk_test_*í þróun) í vafranum; notaðu leyndarlykilinn (sk_live_*/sk_test_*) aðeins á netþjóninum. Útgefanlegi lykillinn er öruggur íNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY; leyndarlykillinn má aldrei bera opinbert env-forskeyti og má aldrei birtast í biðlarahluta. - Staðfestu að framleiðsluforritið noti
pk_live_*, ekkipk_test_*. Prófunarinstansar leyfa óstaðfest netföng og óvirkt MFA — að senda test-mode í framleiðslu er auth-bypass. - Stilltu leyfða uppruna í Clerk Dashboard. Settings → Domains → Allowed origins verður að lista framleiðslulén þitt nákvæmlega. Tóm eða jokerleyfð uppruna-listar leyfa árásarmönnum að stofna óheiðarleg Clerk-framenda sem tala við bakenda þinn.
- Snúðu leyndarlyklinum við hvaða brottför eða grunaðan leka. Dashboard → API Keys → Reset. Gamall lykill er ógiltur; útgefðu netþjónamegin kóða með nýja gildinu áður en snúið er.
Lotustillingar
Lotuútrunninn og aðgerðarleysistímamörk eru munurinn á stolinni lotu sem 10-mínútna atviki og 30-daga atviki.
- Stilltu lotu-aðgerðarleysis-tímamörk á 30 mínútur eða minna fyrir SaaS-forrit sem meðhöndla viðkvæm gögn. Dashboard → Sessions → Inactivity timeout. Bankastig-forrit ættu að nota 5-10 mínútur; staðlað SaaS 30-60 mínútur; neytendaforrit 1-7 daga. Sjálfgildi er 7 dagar.
- Virkjaðu lotuógildingu við lykilorðabreytingu, netfangabreytingu og MFA-skráningu. Dashboard → Sessions → Revoke on. Þetta eru notendafrumkvæddir öryggisviðburðir; núverandi lotur á öðrum tækjum ætti að drepa.
- Staðfestu lotur netþjónamegin á hverri vernduðum slóð, ekki bara við innskráningu. Í Next.js:
const { userId } = await auth();í netþjónshluta / API-slóð les JWT úr kökunni og staðfestir það. Treystu aldrei eingöngu á köku-athugun. - Stilltu
SameSite=Lax(sjálfgildi) eðaStrictá lotukökunni. Staðfestu í DevTools → Application → Cookies.SameSite=Noneer CSRF-vektor — notaðu hana aldrei nema þú hafir skýrt stillt krosslénsauðkenningu.
Vefkróks-staðfesting
Clerk-vefkrókar skotast á notendalífsferilsviðburðum (created, updated, deleted, session.ended). Þeir eru samstillingaraðferðin fyrir gagnagrunninn þinn — og fölsuð vefkrókur er gagnagrunnsskrif-frumstig.
- Staðfestu Svix-undirskrift á hverri vefkrók. Clerk-vefkrókar eru undirritaðir af Svix. Notaðu
new Webhook(secret).verify(body, headers). Hafnaðu með401ef staðfesting bregst. - Geymdu vefkróks-leyndina í umhverfisbreytu, aldrei í kóða. Leyndin snýst við hverja Dashboard-endurmyndun — útgáfan þín verður að lesa hana úr env, ekki úr fasta.
- Hugfangleiki á hverri meðhöndlun. Vefkróks-afhendingar geta endurtekist. Notaðu
svix-id-hausinn sem aðallykil íwebhook_events-töflu til að afræpa. Vefðu ástandsbreytingunni og hugfangleika-innsetningunni í sömu færslu. - Á
user.deleted, harðeyddu eða nafnleyddu PII innan 24 klukkustunda. GDPR / CCPA krefjast þess. Endurskoðaðu eyðingarslóðina: hvaða töflur halda gögnum þessa notanda? Notaðu FK ON DELETE CASCADE þar sem þú getur.
Samtök og réttindi
Ef þú notar Clerk Organizations, eru org-mörkin þín leigjandareinangrun. Sérhver netþjónamegin fyrirspurn verður að sía eftir þeim.
- Á hverri API-slóð, lestu bæði
userIdogorgIdúrauth()og síaðu gagnagrunnsfyrirspurnir eftir báðum.WHERE org_id = $orgId AND user_id = $userId. Treystu aldreiorg_idúr beiðnameginhluta. - <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.
- Prófaðu kross-org-einangrun með tveimur raunverulegum org-aðgangum. Stofnaðu Org A, settu inn gögn, skráðu þig í Org B í öðrum vafra, reyndu að lesa gögn Org A í gegnum API. Svar verður að vera
403eða404.
JWT-sniðmát og utanaðkomandi samþættingar
JWT-sniðmát ýta Clerk-auðkenni inn í Supabase, Firebase og aðrar nedstreymisþjónustur. Rangstillt sniðmát ofdeila fullyrðingum eða opna gögn sem þú meintir ekki.
- Fyrir hvert JWT-sniðmát, listaðu hverja fullyrðingu og staðfestu að hún sé nauðsynleg. Dashboard → JWT Templates. Sniðmát sem sendir
emailogphoneí Supabase opnar PII fyrir hvern sem les JWT í vafranum. - Stilltu stuttan útrunna á JWT-sniðmát sem notuð eru fyrir biðlaramegin nedstreymisköll. 60 sekúndur fyrir nedstreymis-API-beiðnir er staðallinn. Langlífari JWT eru stolin og endurspilun.
- Staðfestu áheyrendafullyrðingu (
aud) á móttökuhliðinni. Supabase, Firebase, o.s.frv. ættu að athuga aðaudpassi við væntanlegt þjónustueinkenni. Án þessa getur JWT gefið út fyrir þjónustu A auðkennt í þjónustu B.
Rekstrarvöktun
Auth er hæst-merkjandi skráarheimild sem þú hefur. Fylgstu með henni.
- Aðvara um topp í misheppnaðri innskráningu á hverja IP-tölu / aðgang. 50× venjuleg bilunartíðni er skilríkjafyllingarárás. Clerk gefur þessa viðburði út á vefkróka; beindu þeim í SIEM þinn.
- Ársfjórðungsleg endurskoðun á reki lotu- og instansstillinga. Sjálfgildi breytast eftir því sem Clerk uppfærist; "gamlar stillingar" verða þegjandi rangar með tímanum. Mismunaðu Dashboard JSON-útflutningi á móti síðasta þekkta-góða afriti.
Næstu skref
Keyrðu FixVibe-skönnun gegn framleiðslu-URL þínum — baas.clerk-auth0-athugunin merkir Clerk-útgefanlega lykla, prófunarlykla í framleiðslu og innknúna leyndarlykla. Fyrir samsvarandi gátlista á Auth0, sjáðu Auth0 öryggisgátlisti. Fyrir regnhlífaryfirlit yfir BaaS-veitur, lestu BaaS-rangstillingaskanni.
