FixVibe
Covered by FixVibehigh

Supabase-beveiligingschecklist: RLS, API-sleutels en opslag

Dit onderzoeksartikel schetst kritische beveiligingsconfiguraties voor Supabase-projecten. Het richt zich op de juiste implementatie van Row Level Security (RLS) om databaserijen te beschermen, veilige verwerking van anon- en service_role API-sleutels en het afdwingen van toegangscontrole voor opslagbuckets om de risico's van gegevensblootstelling en ongeautoriseerde toegang te beperken.

CWE-284CWE-668

De haak

Het beveiligen van een Supabase-project vereist een meerlaagse aanpak die zich richt op API-sleutelbeheer, databasebeveiliging en opslagrechten. [S1] Onjuist geconfigureerde beveiliging op rijniveau (RLS) of blootgestelde gevoelige sleutels kunnen leiden tot aanzienlijke incidenten met gegevensblootstelling. [S2] [S3]

Wat is er veranderd

Dit onderzoek consolideert de belangrijkste beveiligingscontroles voor Supabase-omgevingen op basis van officiële architectuurrichtlijnen. [S1] Het richt zich op de overgang van standaard ontwikkelingsconfiguraties naar productiegeharde houdingen, met name met betrekking tot toegangscontrolemechanismen. [S2] [S3]

Wie wordt getroffen

Applicaties die Supabase gebruiken als een backend-as-a-service (BaaS) worden getroffen, met name applicaties die gebruikersspecifieke gegevens of privé-activa verwerken. [S2] Ontwikkelaars die de sleutel service_role in bundels aan de clientzijde opnemen of RLS niet inschakelen, lopen een groot risico. [S1]

Hoe het probleem werkt

Supabase maakt gebruik van PostgreSQL's Row Level Security om de toegang tot gegevens te beperken. [S2] Als RLS niet is ingeschakeld voor een tabel, heeft elke gebruiker met de sleutel anon, die vaak openbaar is, standaard toegang tot alle records. [S1] Op dezelfde manier vereist Supabase Storage expliciet beleid om te definiëren welke gebruikers of rollen bewerkingen op bestandsbuckets kunnen uitvoeren. [S3]

Wat een aanvaller krijgt

Een aanvaller die over een openbare API-sleutel beschikt, kan tabellen waarin RLS ontbreekt misbruiken om gegevens van andere gebruikers te lezen, wijzigen of verwijderen. [S1] [S2] Ongeautoriseerde toegang tot opslagbuckets kan leiden tot het openbaar maken van privégebruikersbestanden of het verwijderen van kritieke applicatiemiddelen. [S3]

Hoe FixVibe erop test

FixVibe dekt dit nu als onderdeel van de Supabase-controles. baas.supabase-security-checklist-backfill beoordeelt openbare Supabase Metagegevens van opslagbuckets, blootstelling aan anonieme objectlijsten, naamgeving van gevoelige buckets en anon-gebonden opslagsignalen van de openbare anon-grens. Gerelateerde live controles inspecteren de blootstelling van servicerolsleutels, Supabase REST/RLS-houding en SQL-migraties in de repository op ontbrekende RLS.

Wat te repareren

Schakel altijd Row Level Security in voor databasetabellen en implementeer gedetailleerd beleid voor geverifieerde gebruikers. [S2] Zorg ervoor dat alleen de 'anon'-sleutel wordt gebruikt in code aan de clientzijde, terwijl de 'service_role'-sleutel op de server blijft. [S1] Configureer opslagtoegangsbeheer om ervoor te zorgen dat bestandsbuckets standaard privé zijn en dat toegang alleen wordt verleend via gedefinieerd beveiligingsbeleid. [S3]