FixVibe
Covered by FixVibehigh

Кантрольны спіс бяспекі Supabase: ключы RLS, API і сховішча

У гэтым даследчым артыкуле апісваюцца важныя канфігурацыі бяспекі для праектаў Supabase. Ён сканцэнтраваны на правільнай рэалізацыі бяспекі на ўзроўні радкоў (RLS) для абароны радкоў базы дадзеных, бяспечнай апрацоўкі ключоў anon і service_role API, а таксама кантролю доступу да сховішчаў для зніжэння рызык раскрыцця даных і несанкцыянаванага доступу.

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 і міграцыі SQL рэпазітара на прадмет адсутнасці RLS.

Што трэба выправіць

Заўсёды ўключайце бяспеку на ўзроўні радкоў у табліцах базы дадзеных і рэалізуйце дэталёвыя палітыкі для аўтэнтыфікаваных карыстальнікаў. [S2] Пераканайцеся, што ў кодзе на баку кліента выкарыстоўваецца толькі ключ "anon", а ключ "service_role" застаецца на серверы. [S1] Наладзьце кантроль доступу да сховішча, каб пераканацца, што файлавыя вядры прыватныя па змаўчанні і доступ прадастаўляецца толькі праз вызначаныя палітыкі бяспекі. [S3]