હૂક
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]
