Firebase Segurtasun-arauek zerbitzariak behartutako mekanismo zehatza eskaintzen dute Firestore, denbora errealeko datu-basea eta hodeiko biltegiratze-ko datuak babesteko [S1]. Firebase aplikazioek hodeiko zerbitzu hauekin zuzenean bezeroaren aldetik elkarreragiten dutenez, arau hauek [S1] backend datuetara baimenik gabeko sarbidea eragozten duen oztopo bakarra dira.
Arau baimenduen eragina
Gaizki konfiguratuta dauden arauek datuen esposizio garrantzitsua ekar dezakete [S2]. Arauak baimengarriegiak izateko ezartzen badira (adibidez, sarbide globala ahalbidetzen duten "proba modua" ezarpen lehenetsiak erabiliz), proiektuaren IDa ezagutzen duen edozein erabiltzailek datu-basearen eduki osoa irakurri, aldatu edo ezaba dezake [S2]. Horrek bezeroaren aldeko segurtasun-neurri guztiak saihesten ditu eta erabiltzailearen informazio sentikorra galtzea edo zerbitzu osoa eten dezake [S2].
Arrazoia: Baimen-logika nahikoa
Ahultasun hauen oinarrizko kausa normalean erabiltzailearen identitatearen edo baliabideen atributuetan oinarritutako sarbidea mugatzen duten baldintza zehatzak ez ezartzea izan ohi da [S3]. Garatzaileek maiz uzten dituzte aktibo lehenetsitako konfigurazioak request.auth [S3] objektua baliozkotzen ez duten ekoizpen-inguruneetan. request.auth ebaluatu gabe, sistemak ezin ditu bereizi autentifikatutako erabiltzaile legitimoa eta [S3] eskatzaile anonimo bat.
Konponketa teknikoa
Firebase ingurune bat ziurtatzeko sarbide irekitik pribilegio txikieneko eredu nagusi batera pasa behar da.
- Beartu autentifikazioa: Ziurtatu bide sentikor guztiek baliozko erabiltzailearen saio bat behar dutela egiaztatuz
request.authobjektua ez den [S3] nulua. - Identitatean oinarritutako sarbidea ezartzea: erabiltzailearen UID (
request.auth.uid) dokumentuaren eremu batekin edo dokumentuaren IDarekin berarekin alderatzen duten arauak konfiguratu, erabiltzaileek beren datuak [S3] bakarrik atzi ditzaketela ziurtatzeko. - Baimen Granularra: saihestu komodin globalak bildumetarako. Horren ordez, zehaztu bilduma eta azpibilduma bakoitzeko arau zehatzak, [S2] eraso-azalera potentziala minimizatzeko.
- Emulator Suite bidez baliozkotzea: Erabili Firebase Emulator Suite-a segurtasun-arauak lokalean probatzeko. Horri esker, sarbide-kontroleko logika egiaztatzea da hainbat erabiltzaile-pertsonen aurka [S2] zuzeneko ingurune batera zabaldu aurretik.
FixVibe probak nola egiten dituen
FixVibe-k irakurtzeko soilik den BaaS eskaneatu gisa sartzen du orain. baas.firebase-rules-k Firebase konfigurazioa ateratzen du jatorri bereko JavaScript sortetatik, initializeApp(...) sorta forma modernoak barne, eta, ondoren, denbora errealeko datu-basea, Firestore eta ZXCVFIXVIBETOKEN12 irakurketa-eskaerarik gabe egiaztatzen ditu. Firestore-rako, lehenik eta behin erro-bilduma zerrendatzen saiatzen da; zerrenda blokeatuta dagoenean, bildumaren izen sentikor arruntak aztertzen ditu, hala nola messages, admin eta settings. Irakurketa edo zerrenda anonimo arrakastatsuen berri ematen du eta ez du bezeroen dokumentuen edukia idazten, ezabatzen edo gordetzen.
