Firebase Təhlükəsizlik Qaydaları Firestore, Realtime Database və Cloud Storage [S1]-də məlumatları qorumaq üçün dənəvər, server tərəfindən tətbiq edilən mexanizm təmin edir. Firebase proqramları tez-tez bu bulud xidmətləri ilə birbaşa müştəri tərəfindən qarşılıqlı əlaqədə olduğundan, bu qaydalar [S1] backend məlumatlarına icazəsiz girişin qarşısını alan yeganə maneədir.
İcazə Verən Qaydaların Təsiri
Yanlış konfiqurasiya edilmiş qaydalar [S2] əhəmiyyətli məlumatların ifşasına səbəb ola bilər. Qaydalar həddən artıq icazəli olaraq təyin edilibsə - məsələn, qlobal girişə icazə verən standart "test rejimi" parametrlərindən istifadə etməklə - layihə ID-si haqqında məlumatı olan istənilən istifadəçi [S2] verilənlər bazası məzmununu oxuya, dəyişdirə və ya silə bilər. Bu, bütün müştəri tərəfi təhlükəsizlik tədbirlərindən yan keçir və həssas istifadəçi məlumatının itirilməsi və ya [S2] xidmətinin tam pozulması ilə nəticələnə bilər.
Kök Səbəb: Yetərsiz Avtorizasiya Məntiqi
Bu zəifliklərin əsas səbəbi adətən istifadəçi şəxsiyyəti və ya [S3] resurs atributları əsasında girişi məhdudlaşdıran xüsusi şərtlərin həyata keçirilməməsidir. Tərtibatçılar tez-tez request.auth [S3] obyektini təsdiq etməyən istehsal mühitlərində defolt konfiqurasiyaları aktiv buraxırlar. request.auth-ni qiymətləndirmədən sistem qanuni autentifikasiya edilmiş istifadəçi ilə anonim sorğuçu [S3] arasında fərq qoya bilməz.
Texniki Təmir
Firebase mühitinin təhlükəsizliyinin təmin edilməsi açıq girişdən ən az imtiyazlı əsas modelə keçməyi tələb edir.
- Autentifikasiyanı tətbiq edin:
request.authobyektinin boş [S3] olub olmadığını yoxlayaraq bütün həssas yolların etibarlı istifadəçi sessiyası tələb etdiyinə əmin olun. - Şəxsiyyətə əsaslanan girişi həyata keçirin: İstifadəçilərin yalnız öz məlumatlarına [S3] daxil ola bilməsini təmin etmək üçün istifadəçinin UID-ini (
request.auth.uid) sənəd daxilindəki sahə və ya sənəd ID-sinin özü ilə müqayisə edən qaydaları konfiqurasiya edin. - Qranul İcazə Ölçüsü: Kolleksiyalar üçün qlobal joker işarələrdən çəkinin. Bunun əvəzinə, potensial hücum səthini minimuma endirmək üçün hər bir kolleksiya və alt kolleksiya üçün xüsusi qaydaları müəyyən edin [S2].
- Emulator Suite vasitəsilə təsdiqləmə: Təhlükəsizlik qaydalarını yerli olaraq yoxlamaq üçün Firebase Emulator Suite-dən istifadə edin. Bu, [S2] canlı mühitinə yerləşdirməzdən əvvəl müxtəlif istifadəçi şəxsiyyətlərinə qarşı girişə nəzarət məntiqini yoxlamağa imkan verir.
FixVibe bunu necə sınaqdan keçirir
FixVibe indi bunu yalnız oxunan BaaS skanı kimi ehtiva edir. baas.firebase-rules eyni mənşəli JavaScript paketlərindən Firebase konfiqurasiyasını, o cümlədən müasir initializeApp(...) paket formalarını çıxarır, daha sonra Realtime Database, Firestore və ZXCVFIXVIBETOKENHunac ilə yoxlayır. yalnız oxumaq üçün sorğular. Firestore üçün ilk növbədə kök kolleksiya siyahısını sınayır; siyahı bloklandıqda, o, həmçinin users, accounts, customers, orders, ZXCVFIXENVIXCV, users, kimi ümumi həssas kolleksiya adlarını yoxlayır. messages, admin və settings. O, yalnız uğurlu anonim oxumalar və ya siyahılar haqqında məlumat verir və müştəri sənədinin məzmununu yazmır, silmir və saxlamır.
