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 як Backend-as-a-Service (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]