Firebase Regoli di Sicurezza furnisce un mecanismu granulare, infurzatu da u servitore per prutege e dati in Firestore, Database Realtime, è Cloud Storage [S1]. Perchè l'applicazioni Firebase spessu interagiscenu cù questi servizii di nuvola direttamente da u latu di u cliente, queste regule rapprisentanu l'unica barriera chì impedisce l'accessu micca autorizatu à i dati backend [S1].
Impattu di e regule permissive
E regule misconfigurate ponu purtà à una esposizione significativa di dati [S2]. Se e regule sò stabilite per esse eccessivamente permissive - per esempiu, utilizendu paràmetri predeterminati di "modu di prova" chì permettenu l'accessu globale - qualsiasi utilizatore cun cunniscenza di l'ID di u prugettu pò leghje, mudificà o sguassà tuttu u cuntenutu di a basa di dati [S2]. Questu passa per tutte e misure di sicurezza di u cliente è pò esse risultatu in a perdita di l'infurmazioni sensibili di l'utilizatori o l'interruzzione tutale di u serviziu [S2].
Root Cause: Logica d'autorizazione insufficiente
A causa principale di queste vulnerabilità hè tipicamente u fallimentu di implementà e cundizioni specifiche chì limitanu l'accessu basatu annantu à l'identità di l'utilizatori o l'attributi di risorse [S3]. I sviluppatori spessu lascianu cunfigurazioni predeterminate attive in ambienti di produzzione chì ùn validanu micca l'ughjettu request.auth [S3]. Senza evaluà request.auth, u sistema ùn pò micca distingue trà un utilizatore autentificatu legittimu è un richiedente anonimu [S3].
Rimediazione tecnica
A securità di un ambiente Firebase richiede di passà da l'accessu apertu à un mudellu di primu di u minimu privilegiu.
- Infurzà l'autenticazione: Assicuratevi chì tutti i percorsi sensibili necessitanu una sessione d'utilizatore valida cuntrottendu se l'ughjettu
request.authùn hè micca nulla [S3]. - Implementa l'accessu basatu in l'identità: Configurate e regule chì paragunanu l'UID di l'utilizatore (
request.auth.uid) à un campu in u documentu o l'ID di documentu stessu per assicurà chì l'utilizatori ponu accede solu à i so dati [S3]. - Scoping di Permissione Granulare : Evite i wildcard globali per e cullezzione. Invece, definisce regule specifiche per ogni cullizzioni è sub-collection per minimizzà a superficia di attaccu potenziale [S2].
- Validazione via Emulator Suite: Aduprate Firebase Emulator Suite per pruvà e regule di sicurezza in u locu. Questu permette a verificazione di a logica di cuntrollu di l'accessu contr'à diverse persone d'utilizatori prima di implementà in un ambiente live [S2].
Cumu FixVibe prova per questu
FixVibe include avà questu cum'è una scansione BaaS di sola lettura. baas.firebase-rules estrae a cunfigurazione Firebase da pacchetti JavaScript di a stessa origine, cumprese forme muderne di bundle initializeApp(...), poi verifica a basa di dati in tempu reale, Firestore, è ZXCVFIXVIBETOKENV 12 richieste di lettura senza lettura. Per Firestore, prima prova a lista di cullizzioni di root; quandu u listinu hè bluccatu, sonda ancu i nomi cumuni di cullezzione sensibili cum'è users, accounts, customers, orders, ZXCVFIXVIBETOKEN, ZXCVFIXVIBETOKEN, messages, admin, è settings. Riporta solu letture o elenchi anonimi successi è ùn scrive micca, sguassate, o almacenà u cuntenutu di i documenti di i clienti.
