Kanca
Bir Supabase projesinin güvenliğini sağlamak, API anahtar yönetimi, veritabanı güvenliği ve depolama izinlerine odaklanan çok katmanlı bir yaklaşım gerektirir. [S1] Yanlış yapılandırılmış Satır Düzeyinde Güvenlik (RLS) veya açığa çıkan hassas anahtarlar, önemli veri açığa çıkma olaylarına yol açabilir. [S2] [S3]
Ne değişti
Bu araştırma, resmi mimari yönergelerine dayalı olarak Supabase ortamları için temel güvenlik kontrollerini birleştirir. [S1] Özellikle erişim kontrol mekanizmalarıyla ilgili olarak, varsayılan geliştirme yapılandırmalarından üretim açısından güçlendirilmiş duruşlara geçişe odaklanır. [S2] [S3]
Kimler etkileniyor
Supabase'yi Hizmet Olarak Arka Uç (BaaS) olarak kullanan uygulamalar, özellikle kullanıcıya özel verileri veya özel varlıkları işleyen uygulamalar etkilenir. [S2] İstemci tarafı paketlerine service_role anahtarını ekleyen veya RLS'yi etkinleştiremeyen geliştiriciler yüksek risk altındadır. [S1]
Sorun nasıl işliyor?
Supabase, veri erişimini kısıtlamak için PostgreSQL'in Satır Düzeyi Güvenliğinden yararlanır. [S2] Varsayılan olarak, bir tabloda RLS etkinleştirilmemişse, genellikle herkese açık olan anon anahtarına sahip herhangi bir kullanıcı tüm kayıtlara erişebilir. [S1] Benzer şekilde, Supabase Depolama, dosya gruplarında hangi kullanıcıların veya rollerin işlem gerçekleştirebileceğini tanımlamak için açık politikalar gerektirir. [S3]
Bir saldırganın elde edeceği şey
Genel bir API anahtarına sahip olan bir saldırgan, diğer kullanıcılara ait verileri okumak, değiştirmek veya silmek için RLS eksik tablolardan yararlanabilir. [S1] [S2] Depolama paketlerine yetkisiz erişim, özel kullanıcı dosyalarının açığa çıkmasına veya kritik uygulama varlıklarının silinmesine neden olabilir. [S3]
FixVibe bunu nasıl test ediyor?
FixVibe artık bunu Supabase kontrollerinin bir parçası olarak kapsıyor. baas.supabase-security-checklist-backfill, genel Supabase Depolama grubu meta verilerini, anonim nesne listesi gösterimini, hassas grup adlandırmasını ve genel anon sınırından gelen anonim bağlı Depolama sinyallerini inceler. İlgili canlı kontroller, hizmet rolü anahtarının açığa çıkmasını, Supabase REST/RLS duruşunu ve eksik RLS için depo SQL geçişlerini denetler.
Ne düzeltilmeli?
Veritabanı tablolarında her zaman Satır Düzeyinde Güvenliği etkinleştirin ve kimliği doğrulanmış kullanıcılar için ayrıntılı politikalar uygulayın. [S2] İstemci tarafı kodunda yalnızca 'anon' anahtarının kullanıldığından, 'service_role' anahtarının sunucuda kaldığından emin olun. [S1] Dosya paketlerinin varsayılan olarak özel olduğundan ve erişimin yalnızca tanımlanmış güvenlik politikaları aracılığıyla verildiğinden emin olmak için Depolama Erişim Denetimini yapılandırın. [S3]
