FixVibe
Covered by FixVibehigh

Supabase സുരക്ഷാ ചെക്ക്‌ലിസ്റ്റ്: RLS, API കീകളും സംഭരണവും

ഈ ഗവേഷണ ലേഖനം Supabase പ്രോജക്റ്റുകൾക്കായുള്ള നിർണായക സുരക്ഷാ കോൺഫിഗറേഷനുകളുടെ രൂപരേഖ നൽകുന്നു. ഡാറ്റാബേസ് വരികൾ പരിരക്ഷിക്കുന്നതിന് റോ ലെവൽ സെക്യൂരിറ്റി (RLS) ശരിയായി നടപ്പിലാക്കുന്നതിൽ ഇത് ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നു, anon, service_role API കീകൾ സുരക്ഷിതമായി കൈകാര്യം ചെയ്യൽ, ഡാറ്റാ എക്സ്പോഷർ, unaut എന്നിവയിലെ ആക്‌സസ്സ് ലഘൂകരിക്കുന്നതിന് സ്റ്റോറേജ് ബക്കറ്റുകൾക്ക് ആക്‌സസ്സ് നിയന്ത്രണം നടപ്പിലാക്കുന്നു.

CWE-284CWE-668

കൊളുത്ത്

ഒരു Supabase പ്രോജക്റ്റ് സുരക്ഷിതമാക്കുന്നതിന് API കീ മാനേജ്മെൻ്റ്, ഡാറ്റാബേസ് സുരക്ഷ, സംഭരണ അനുമതികൾ എന്നിവയിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്ന ഒരു മൾട്ടി-ലേയേർഡ് സമീപനം ആവശ്യമാണ്. [S1] തെറ്റായി ക്രമീകരിച്ച റോ ലെവൽ സെക്യൂരിറ്റി (RLS) അല്ലെങ്കിൽ എക്സ്പോസ്ഡ് സെൻസിറ്റീവ് കീകൾ കാര്യമായ ഡാറ്റ എക്സ്പോഷർ സംഭവങ്ങളിലേക്ക് നയിച്ചേക്കാം. [S2] [S3]

എന്താണ് മാറിയത്

ഈ ഗവേഷണം ഔദ്യോഗിക വാസ്തുവിദ്യാ മാർഗ്ഗനിർദ്ദേശങ്ങളെ അടിസ്ഥാനമാക്കി Supabase പരിതസ്ഥിതികൾക്കായുള്ള പ്രധാന സുരക്ഷാ നിയന്ത്രണങ്ങൾ ഏകീകരിക്കുന്നു. [S1] ഡിഫോൾട്ട് ഡെവലപ്‌മെൻ്റ് കോൺഫിഗറേഷനുകളിൽ നിന്ന് പ്രൊഡക്ഷൻ-കാഠിന്യമുള്ള പോസ്‌ചറുകളിലേക്കുള്ള പരിവർത്തനത്തിൽ ഇത് ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നു, പ്രത്യേകിച്ചും ആക്‌സസ് കൺട്രോൾ മെക്കാനിസങ്ങളുമായി ബന്ധപ്പെട്ട്. [S2] [S3]

ആരെയാണ് ബാധിക്കുന്നത്

Supabase-നെ ഒരു സേവനമായി (BaaS) ഉപയോഗിക്കുന്ന ആപ്ലിക്കേഷനുകളെ, പ്രത്യേകിച്ച് ഉപയോക്തൃ-നിർദ്ദിഷ്ട ഡാറ്റയോ സ്വകാര്യ അസറ്റുകളോ കൈകാര്യം ചെയ്യുന്നവയെ ബാധിക്കും. [S2] ക്ലയൻ്റ്-സൈഡ് ബണ്ടിലുകളിൽ service_role കീ ഉൾപ്പെടുത്തുകയോ RLS പ്രവർത്തനക്ഷമമാക്കുന്നതിൽ പരാജയപ്പെടുകയോ ചെയ്യുന്ന ഡെവലപ്പർമാർ ഉയർന്ന അപകടസാധ്യതയിലാണ്. [S1]

പ്രശ്നം എങ്ങനെ പ്രവർത്തിക്കുന്നു

Supabase ഡാറ്റ ആക്‌സസ്സ് നിയന്ത്രിക്കുന്നതിന് PostgreSQL-ൻ്റെ റോ ലെവൽ സെക്യൂരിറ്റിയെ സ്വാധീനിക്കുന്നു. [S2] ഡിഫോൾട്ടായി, RLS ഒരു ടേബിളിൽ പ്രവർത്തനക്ഷമമാക്കിയിട്ടില്ലെങ്കിൽ, anon കീ ഉള്ള ഏതൊരു ഉപയോക്താവിനും—പലപ്പോഴും പൊതുവായത്—എല്ലാ റെക്കോർഡുകളും ആക്‌സസ് ചെയ്യാൻ കഴിയും. [S1] അതുപോലെ, ഫയൽ ബക്കറ്റുകളിൽ ഏതൊക്കെ ഉപയോക്താക്കൾക്കോ ​​റോളുകൾക്കോ ​​പ്രവർത്തനങ്ങൾ നടത്താനാകുമെന്ന് നിർവചിക്കുന്നതിന് Supabase സംഭരണത്തിന് വ്യക്തമായ നയങ്ങൾ ആവശ്യമാണ്. [S3]

ഒരു ആക്രമണകാരിക്ക് എന്ത് ലഭിക്കും

ഒരു പൊതു API കീ കൈവശമുള്ള ഒരു ആക്രമണകാരിക്ക് മറ്റ് ഉപയോക്താക്കളുടെ ഡാറ്റ വായിക്കാനോ പരിഷ്‌ക്കരിക്കാനോ ഇല്ലാതാക്കാനോ RLS നഷ്‌ടമായ പട്ടികകളെ ചൂഷണം ചെയ്യാൻ കഴിയും. [S1] [S2] സ്‌റ്റോറേജ് ബക്കറ്റുകളിലേക്കുള്ള അനധികൃത ആക്‌സസ് സ്വകാര്യ ഉപയോക്തൃ ഫയലുകൾ എക്‌സ്‌പോഷർ ചെയ്യുന്നതിനോ നിർണായക ആപ്ലിക്കേഷൻ അസറ്റുകൾ ഇല്ലാതാക്കുന്നതിനോ ഇടയാക്കും. [S3]

എങ്ങനെയാണ് FixVibe അതിനായി പരീക്ഷിക്കുന്നത്

FixVibe ഇപ്പോൾ അതിൻ്റെ Supabase പരിശോധനകളുടെ ഭാഗമായി ഇത് ഉൾക്കൊള്ളുന്നു. baas.supabase-security-checklist-backfill പൊതു Supabase സ്റ്റോറേജ് ബക്കറ്റ് മെറ്റാഡാറ്റ, അജ്ഞാത ഒബ്ജക്റ്റ്-ലിസ്റ്റിംഗ് എക്സ്പോഷർ, സെൻസിറ്റീവ് ബക്കറ്റ് നാമകരണം, പബ്ലിക് അനോൺ അതിർത്തിയിൽ നിന്നുള്ള അനോൺ-ബൗണ്ട് സ്റ്റോറേജ് സിഗ്നലുകൾ എന്നിവ അവലോകനം ചെയ്യുന്നു. ബന്ധപ്പെട്ട തത്സമയ പരിശോധനകൾ സർവീസ്-റോൾ കീ എക്സ്പോഷർ, Supabase REST/RLS പോസ്ചർ, RLS നഷ്‌ടപ്പെട്ടതിനായുള്ള റിപ്പോസിറ്ററി SQL മൈഗ്രേഷനുകൾ എന്നിവ പരിശോധിക്കുന്നു.

എന്താണ് പരിഹരിക്കേണ്ടത്

ഡാറ്റാബേസ് ടേബിളുകളിൽ എപ്പോഴും റോ ലെവൽ സെക്യൂരിറ്റി പ്രവർത്തനക്ഷമമാക്കുകയും ആധികാരികതയുള്ള ഉപയോക്താക്കൾക്കായി ഗ്രാനുലാർ പോളിസികൾ നടപ്പിലാക്കുകയും ചെയ്യുക. [S2] ക്ലയൻ്റ്-സൈഡ് കോഡിൽ 'anon' കീ മാത്രമേ ഉപയോഗിക്കുന്നുള്ളൂവെന്ന് ഉറപ്പാക്കുക, അതേസമയം 'service_role' കീ സെർവറിൽ നിലനിൽക്കും. [S1] ഫയൽ ബക്കറ്റുകൾ ഡിഫോൾട്ടായി സ്വകാര്യമാണെന്നും നിർവചിച്ച സുരക്ഷാ നയങ്ങളിലൂടെ മാത്രമേ ആക്‌സസ്സ് അനുവദിക്കൂ എന്നും ഉറപ്പാക്കാൻ സ്റ്റോറേജ് ആക്‌സസ് കൺട്രോൾ കോൺഫിഗർ ചെയ്യുക. [S3]