FixVibe
Covered by FixVibehigh

Kontrolný zoznam zabezpečenia Supabase: RLS, API kľúče a úložisko

Tento výskumný článok načrtáva kritické bezpečnostné konfigurácie pre projekty Supabase. Zameriava sa na správnu implementáciu zabezpečenia na úrovni riadkov (RLS) na ochranu databázových riadkov, bezpečnú manipuláciu s kľúčmi Anon a service_role API a vynútenie kontroly prístupu pre úložné vedrá na zmiernenie rizík vystavenia údajov a neoprávneného prístupu.

CWE-284CWE-668

Háčik

Zabezpečenie projektu Supabase si vyžaduje viacvrstvový prístup zameraný na správu kľúčov API, zabezpečenie databázy a oprávnenia na ukladanie. [S1] Nesprávne nakonfigurované zabezpečenie na úrovni riadkov (RLS) alebo odhalené citlivé kľúče môžu viesť k významným incidentom vystavenia údajov. [S2] [S3]

Čo sa zmenilo

Tento výskum konsoliduje základné bezpečnostné kontroly pre prostredia Supabase na základe oficiálnych smerníc o architektúre. [S1] Zameriava sa na prechod od predvolených vývojových konfigurácií k produkčne spevneným polohám, konkrétne čo sa týka mechanizmov kontroly prístupu. [S2] [S3]

Koho sa to týka

Ovplyvnené sú aplikácie využívajúce Supabase ako Backend-as-a-Service (BaaS), najmä tie, ktoré spracúvajú údaje špecifické pre používateľa alebo súkromné aktíva. [S2] Vývojári, ktorí zahrnú kľúč service_role do balíkov na strane klienta alebo nepovolia RLS, sú vystavení vysokému riziku. [S1]

Ako problém funguje

Supabase využíva zabezpečenie na úrovni riadkov PostgreSQL na obmedzenie prístupu k údajom. [S2] Ak v tabuľke nie je povolené RLS, štandardne má každý používateľ s kľúčom anon, ktorý je často verejný, prístup k všetkým záznamom. [S1] Podobne aj úložisko Supabase vyžaduje explicitné pravidlá na definovanie toho, ktorí používatelia alebo roly môžu vykonávať operácie so súbormi. [S3]

Čo dostane útočník

Útočník vlastniaci verejný kľúč API môže zneužiť chýbajúce tabuľky RLS na čítanie, úpravu alebo vymazanie údajov patriacich iným používateľom. [S1] [S2] Neoprávnený prístup k segmentom úložiska môže viesť k odhaleniu súborov súkromných používateľov alebo k vymazaniu dôležitých prostriedkov aplikácie. [S3]

Ako to testuje FixVibe

FixVibe to teraz pokrýva ako súčasť svojich kontrol Supabase. baas.supabase-security-checklist-backfill kontroluje verejné Supabase metadáta segmentu úložiska, vystavenie anonymného zoznamu objektov, citlivé pomenovanie segmentu a neviazané signály úložiska z verejnej anonovej hranice. Súvisiace živé kontroly kontrolujú vystavenie kľúča servisnej role, polohu Supabase REST/RLS a migrácie SQL úložiska, či chýbajú RLS.

Čo opraviť

Vždy povoľte zabezpečenie na úrovni riadkov v databázových tabuľkách a implementujte podrobné politiky pre overených používateľov. [S2] Uistite sa, že v kóde na strane klienta sa používa iba kľúč 'anon', zatiaľ čo kľúč 'service_role' zostáva na serveri. [S1] Nakonfigurujte riadenie prístupu k úložisku, aby ste zaistili, že sektory súborov sú predvolene súkromné ​​a prístup je udelený iba prostredníctvom definovaných bezpečnostných politík. [S3]