FixVibe

// docs / baas security / clerk hardening

Clerk segurtasun-zerrenda: 20 elementu

Clerk-ek zure aplikaziorako autentifikazioa, saioak eta erakundeak kudeatzen ditu β€” eta horrek esan nahi du Clerk integrazio gaizki konfiguratu bat autentifikazio-saihespena, saio-finkatzeko bektorea edo erakunde-iragazketako bidea dela. Zerrenda hau gako, saio-konfigurazio, webhook, erakunde, JWT-txantiloi eta jarraian dauden monitorizazioei buruzko 20 elementuko auditoretza bat da. IA kodetze-tresnek Clerk azkar konektatzen dute lehenetsi zentzudunekin; zerrenda honek mahaian uzten dituzten elementuak harrapatzen ditu.

Autenten-mailako konfigurazio okerrak IA-tresnen ahultasuna zergatik diren ikusteko atzeko, ikus Zergatik IA kodetze-tresnek segurtasun-hutsuneak uzten dituzten. Auth0-en paraleloko zerrenda ikusteko, ikus Auth0 segurtasun-zerrenda.

Ingurune-gakoak eta jatorri-baimen-zerrenda

Clerk-ek bi gako desberdin igortzen ditu proiektu bakoitzeko. Horiek nahastea edo iragaztea lehenengo hutsegite-modua da.

  1. Erabili gako argitaragarria (pk_live_* ekoizpenean, pk_test_* dev-en) nabigatzailean; erabili gako sekretua (sk_live_* / sk_test_*) zerbitzarian soilik. Gako argitaragarria segurua da NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY-n; gako sekretuak ez du inoiz publiko ingurune-aurrizkirik eraman behar eta ez da inoiz bezero-osagai batean agertu behar.
  2. Egiaztatu ekoizpen-aplikazioak pk_live_* erabiltzen duela, ez pk_test_*. Proba-instantziek egiaztatu gabeko helbide elektronikoak eta desgaitutako MFA baimentzen dituzte β€” proba modua ekoizpenera bidaltzea autentifikazio-saihespena da.
  3. Konfiguratu baimendutako jatorriak Clerk aginte-panelean. Settings β†’ Domains β†’ Allowed origins-ek zure ekoizpen-domeinua zehazki zerrendatu behar du. Hutsa edo komodineko jatorri-zerrendek erasotzaileei zure backend-arekin hitz egiten duten Clerk frontend bihurriak sortzeko aukera ematen die.
  4. Biratu gako sekretua edozein joan edo susmagarri iragazpenean. Aginte-panela β†’ API Keys β†’ Reset. Gako zaharra baliogabetua dago; berriz zabaldu zerbitzariaren aldeko kodea balio berriarekin biratu aurretik.

Saio-konfigurazioa

Saio-iraungitzeak eta inaktibitate-denbora-mugak lapurtutako saio batek 10 minutuko gertaera edo 30 eguneko gertaera den arteko aldea dira.

  1. Ezarri saio-inaktibitate denbora-muga 30 minutu edo gutxiagora datu sentikorrak kudeatzen dituzten SaaS aplikazioetarako. Aginte-panela β†’ Sessions β†’ Inactivity timeout. Banku-mailako aplikazioek 5-10 minutu erabili beharko lukete; SaaS estandarrak 30-60 minutu; kontsumitzaile-aplikazioak 1-7 egun. Lehenetsia 7 egun da.
  2. Gaitu saio-baliogabetzea pasahitz-aldaketan, posta elektronikoa aldatzean eta MFA inskripzioan. Aginte-panela β†’ Sessions β†’ Revoke on. Hauek erabiltzaileak hasitako segurtasun-gertaerak dira; beste gailuetan dauden saioak hil egin behar dira.
  3. Egiaztatu saioak zerbitzariaren aldetik babestutako bide bakoitzean, ez bakarrik saio-hasieran. Next.js-en: const { userId } = await auth(); server-osagai / API bide batean cookie-tik JWT-a irakurtzen du eta balioztatzen du. Inoiz ez fidatu cookie-soileko egiaztapen batez.
  4. Ezarri SameSite=Lax (lehenetsia) edo Strict saio-cookie-an. Egiaztatu DevTools β†’ Application β†’ Cookies-en. SameSite=None CSRF bektore bat da β€” ez erabili sekula zeharkako autentifikazio-konfigurazio bat esplizituki konfiguratu duzun arte.

Webhook egiaztapena

Clerk webhook-ek erabiltzaileen bizitza-zikloko gertaeretan suntzen dira (sortua, eguneratua, ezabatua, session.ended). Zure datu-basearen sinkronizazio-mekanismoa dira β€” eta faltsifikatutako webhook bat datu-baseko idazketa-primitibo bat da.

  1. Egiaztatu Svix sinadura webhook bakoitzean. Clerk webhook-ak Svix-ek sinatzen ditu. Erabili new Webhook(secret).verify(body, headers). Errefusatu 401-arekin egiaztapenak huts egiten badu.
  2. Gorde webhook sekretua ingurune-aldagai batean, inoiz ez kodean. Sekretua aginte-panelaren birsorkuntza bakoitzean biratzen da β€” zure zabalpenak hura ingurunetik irakurri behar du, ez konstante batetik.
  3. Idempotentzia kudeatzaile bakoitzean. Webhook entregak errepika daitezke. Erabili svix-id goiburua lehen gako gisa webhook_events taula batean bikoiztea kentzeko. Bildu egoera-aldaketa eta idempotentzia-txertaketa transakzio berean.
  4. user.deleted-an, gogor ezabatu edo anonimizatu PII 24 orduen barruan. GDPR / CCPAk hala eskatzen dute. Auditatu ezabatze-bidea: zein taulek dauzkate erabiltzaile honen datuak? Erabili FK ON DELETE CASCADE ahal duzun lekuetan.

Erakundeak eta baimenak

Clerk Organizations erabiltzen baduzu, erakunde-muga zure maizter-bereizketa da. Zerbitzariaren aldeko kontsulta bakoitzak hor iragazi behar du.

  1. API bide bakoitzean, irakurri bai userId bai orgId auth()-tik eta iragazi datu-baseko kontsultak biengatik. WHERE org_id = $orgId AND user_id = $userId. Ez fidatu inoiz eskaeraren gorputzeko org_id-az.
  2. <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.
  3. Proba zeharkako-erakunde bereizketa bi benetako erakunde-konturekin. Sortu A erakundea, bete datuak, eman izena B erakundean beste nabigatzaile batean, saiatu A erakundearen datuak APIaren bidez irakurtzen. Erantzunak 403 edo 404 izan behar du.

JWT txantiloiak eta kanpoko integrazioak

JWT txantiloiek Clerk identitatea Supabasera, Firebasera eta beste maila beheragoko zerbitzuetara bultzatzen dute. Gaizki konfiguratutako txantiloiek erreklamazio gehiegi partekatzen dituzte edo asmoz kanpoko datuak agerian uzten dituzte.

  1. JWT txantiloi bakoitzeko, zerrendatu erreklamazio bakoitza eta egiaztatu beharrezkoa dela. Aginte-panela β†’ JWT Templates. Supabasera email eta phone bidaltzen dituen txantiloi batek PII nabigatzailean JWT-a irakurtzen duen edonori agerian uzten dio.
  2. Ezarri iraungitze laburra bezero-aldeko maila beheragoko deietarako erabiltzen diren JWT txantiloietan. 60 segundo maila beheragoko API eskaeretarako estandarra da. Bizitza luzeagoko JWT-ak lapurtu eta errepikatzen dira.
  3. Egiaztatu audientzia (aud) erreklamazioa hartzaile aldean. Supabase, Firebase, etab. aud espero den zerbitzu-identifikatzailearekin bat datorrela egiaztatu beharko lukete. Hori gabe, A zerbitzurako igorritako JWT batek B zerbitzura autentifikatu dezake.

Monitorizazio operatiboa

Autentifikazioa duzun seinale altueneko erregistro-iturri da. Begiratu hari.

  1. Alarmatu saio-hasiera huts gorakadetan IP / kontu bakoitzeko. Hutsegite-tasa normalaren 50Γ— erasoa kredentzial-betetze eraso bat da. Clerk-ek gertaera horiek webhook-etara igortzen ditu; bideratu hauek zure SIEMera.
  2. Hiruhilekoko berrikuspena saio eta instantzia ezarpenen jariotzeari. Lehenetsiak aldatzen dira Clerk eguneratzen denean; "konfigurazio zaharrak" isilean okerrak bilakatzen dira denboran zehar. Konparatu aginte-panelaren JSON esportazioa zure azken kopia ezagunarekin.

Hurrengo urratsak

Egin FixVibe eskaneatze bat zure ekoizpen-URLaren aurka β€” baas.clerk-auth0 egiaztapenak Clerk gako argitaragarriak, ekoizpenean dauden proba-gakoak eta bundle-eko gako sekretuak markatzen ditu. Auth0-en zerrenda baliokidea ikusteko, ikus Auth0 segurtasun-zerrenda. BaaS hornitzaileen ikuspegi orokorra ikusteko, irakurri BaaS konfigurazio okerren eskanerra.

// eskaneatu zure baas azalera

Aurkitu taula irekia beste norbaitek aurkitu baino lehen.

Sartu ekoizpen-URL bat. FixVibek zure aplikazioak hitz egiten dituen BaaS hornitzaileak zerrendatzen ditu, beren amaiera-puntu publikoen hatz-marka egiten du eta autentikatu gabeko bezero batek zer irakurri edo idatzi dezakeen jakinarazten du. Doan, instalaziorik gabe, txartelik gabe.

  • Doako maila β€” 3 eskaneatze hilean, izen-eman txartelik gabe.
  • BaaS hatz-marka pasiboa β€” ez da behar domeinu-egiaztapenik.
  • Supabase, Firebase, Clerk, Auth0, Appwrite eta gehiago.
  • IA konponketa-gonbitak aurkikuntza bakoitzean β€” itsatsi berriz Cursor / Claude Code-en.
Egin doako BaaS eskaneatze bat β†’

ez da izen-ematerik behar

Clerk segurtasun-zerrenda: 20 elementu β€” Docs Β· FixVibe