Kabliukas
Norint apsaugoti Supabase projektą, reikia taikyti daugiasluoksnį metodą, sutelkiant dėmesį į API raktų valdymą, duomenų bazės saugumą ir saugojimo leidimus. [S1] Netinkamai sukonfigūruota eilutės lygio sauga (RLS) arba atskleisti jautrūs raktai gali sukelti didelių duomenų poveikio incidentų. [S2] [S3]
Kas pasikeitė
Šis tyrimas sujungia pagrindines Supabase aplinkos saugos kontrolės priemones, pagrįstas oficialiomis architektūros gairėmis. [S1] Jame pagrindinis dėmesys skiriamas perėjimui nuo numatytųjų kūrimo konfigūracijų prie gamyboje sugriežtintų pozų, ypač dėl prieigos kontrolės mechanizmų. [S2] [S3]
Kas yra paveiktas
Tai turi įtakos programoms, naudojančioms Supabase kaip „Backend-as-a-Service“ (BaaS), ypač toms, kurios tvarko konkrečius naudotojo duomenis arba asmeninį turtą. [S2] Kūrėjai, kurie į kliento paketus įtraukia service_role raktą arba neįgalina RLS, yra labai rizikingi. [S1]
Kaip veikia problema
Supabase naudoja PostgreSQL eilučių lygio apsaugą, kad apribotų prieigą prie duomenų. [S2] Pagal numatytuosius nustatymus, jei lentelėje RLS neįjungtas, bet kuris vartotojas, turintis anon raktą, kuris dažnai yra viešas, gali pasiekti visus įrašus. [S1] Panašiai, Supabase saugykla reikalauja aiškių strategijų, kad nustatytų, kurie vartotojai ar vaidmenys gali atlikti operacijas su failų segmentais. [S3]
Ką gauna užpuolikas
Užpuolikas, turintis viešąjį API raktą, gali išnaudoti lenteles, kuriose trūksta RLS, kad galėtų skaityti, keisti arba ištrinti kitiems vartotojams priklausančius duomenis. [S1] [S2] Dėl neteisėtos prieigos prie saugyklos talpyklų gali būti atskleisti privatūs naudotojų failai arba gali būti ištrinti svarbūs programos ištekliai. [S3]
Kaip FixVibe tai tikrina
FixVibe dabar tai apima kaip Supabase patikrų dalį. baas.supabase-security-checklist-backfill peržiūri viešus Supabase Saugyklos segmento metaduomenis, anoniminį objektų sąrašo parodymą, jautrų segmentų pavadinimų suteikimą ir be jokių apribojimų susietus saugyklos signalus iš viešosios anoninės ribos. Atliekant susijusius tiesioginius patikrinimus, tikrinamas paslaugos vaidmens rakto parodymas, Supabase REST / RLS padėtis ir saugyklos SQL perkėlimas, ar nėra RLS.
Ką taisyti
Visada įgalinkite eilučių lygio apsaugą duomenų bazės lentelėse ir įdiekite išsamią autentifikuotų vartotojų politiką. [S2] Įsitikinkite, kad kliento kode naudojamas tik „anon“ raktas, o raktas „service_role“ lieka serveryje. [S1] Konfigūruokite saugyklos prieigos valdymą, kad užtikrintumėte, jog pagal numatytuosius nustatymus failų segmentai būtų privatūs, o prieiga būtų suteikta tik taikant nustatytas saugos strategijas. [S3]
