FixVibe
Covered by FixVibehigh

Lista kontrolluese e sigurisë Supabase: RLS, API Çelësat dhe hapësira ruajtëse

Ky artikull kërkimor përshkruan konfigurimet kritike të sigurisë për projektet Supabase. Ai fokusohet në zbatimin e duhur të Sigurisë së Nivelit të Rreshtit (RLS) për të mbrojtur rreshtat e bazës së të dhënave, trajtimin e sigurt të çelësave anon dhe të shërbimit_role API dhe zbatimin e kontrollit të aksesit për kovat e ruajtjes për të zbutur rreziqet e ekspozimit të të dhënave dhe aksesit të paautorizuar.

CWE-284CWE-668

Grepa

Sigurimi i një projekti Supabase kërkon një qasje me shumë shtresa duke u fokusuar në menaxhimin e çelësave API, sigurinë e bazës së të dhënave dhe lejet e ruajtjes. [S1] Siguria e nivelit të rreshtit të konfiguruar gabimisht (RLS) ose çelësat e ndjeshëm të ekspozuar mund të çojnë në incidente të rëndësishme të ekspozimit të të dhënave. [S2] [S3]

Çfarë ndryshoi

Ky hulumtim konsolidon kontrollet kryesore të sigurisë për mjediset Supabase bazuar në udhëzimet zyrtare të arkitekturës. [S1] Përqendrohet në kalimin nga konfigurimet e paracaktuara të zhvillimit në pozicionet e ngurtësuara nga prodhimi, veçanërisht në lidhje me mekanizmat e kontrollit të aksesit. [S2] [S3]

Kush preket

Aplikacionet që përdorin Supabase si një shërbim mbështetës (BaaS) preken, veçanërisht ato që trajtojnë të dhëna specifike të përdoruesit ose asete private. [S2] Zhvilluesit që përfshijnë çelësin service_role në paketat e klientit ose nuk arrijnë të aktivizojnë RLS janë në rrezik të lartë. [S1]

Si funksionon çështja

Supabase përdor Sigurinë e Nivelit të Rreshtit të PostgreSQL për të kufizuar aksesin e të dhënave. [S2] Si parazgjedhje, nëse RLS nuk është aktivizuar në një tabelë, çdo përdorues me çelësin anon—i cili shpesh është publik—mund të ketë akses në të gjitha regjistrimet. [S1] Në mënyrë të ngjashme, ruajtja Supabase kërkon politika të qarta për të përcaktuar se cilët përdorues ose role mund të kryejnë operacione në kova skedarësh. [S3]

Çfarë merr një sulmues

Një sulmues që zotëron një çelës publik API mund të shfrytëzojë tabelat që mungojnë RLS për të lexuar, modifikuar ose fshirë të dhënat që u përkasin përdoruesve të tjerë. [S1] [S2] Qasja e paautorizuar në kovat e ruajtjes mund të çojë në ekspozimin e skedarëve privatë të përdoruesve ose në fshirjen e aseteve kritike të aplikacionit. [S3]

Si e teston FixVibe për të

FixVibe tani e mbulon këtë si pjesë e kontrolleve të tij Supabase. baas.supabase-security-checklist-backfill rishikon publikun Supabase meta të dhënat e kovës së ruajtjes, ekspozimin anonim të listës së objekteve, emërtimin e kovës së ndjeshme dhe sinjalet e ruajtjes anon-lidhur nga kufiri publik anon. Kontrollet e drejtpërdrejta të lidhura inspektojnë ekspozimin e çelësit të rolit të shërbimit, qëndrimin Supabase REST/RLS dhe migrimet e depove SQL për mungesën e RLS.

Çfarë të rregulloni

Aktivizoni gjithmonë sigurinë e nivelit të rreshtit në tabelat e bazës së të dhënave dhe zbatoni politika të hollësishme për përdoruesit e vërtetuar. [S2] Sigurohuni që vetëm çelësi 'anon' të përdoret në kodin e klientit, ndërsa çelësi 'role_shërbimi' mbetet në server. [S1] Konfiguro kontrollin e hyrjes në hapësirën ruajtëse për të siguruar që kovat e skedarëve janë private si parazgjedhje dhe qasja jepet vetëm nëpërmjet politikave të përcaktuara të sigurisë. [S3]