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]
