Firebase öryggisreglur bjóða upp á kornótt, framfylgt kerfi fyrir netþjóna til að vernda gögn í Firestore, rauntímagagnagrunni og skýjageymslu [S1]. Vegna þess að Firebase forrit hafa oft samskipti við þessar skýjaþjónustur beint frá viðskiptavininum, eru þessar reglur eina hindrunin sem kemur í veg fyrir óviðkomandi aðgang að bakendagögnunum [S1].
Áhrif leyfilegra reglna
Rangstillingar reglur geta leitt til verulegrar útsetningar fyrir gögnum [S2]. Ef reglur eru stilltar til að vera of leyfilegar - til dæmis með því að nota sjálfgefnar „prófunarstillingar" sem leyfa alþjóðlegan aðgang - getur hver notandi með þekkingu á auðkenni verkefnisins lesið, breytt eða eytt öllu gagnagrunnsinnihaldinu [S2]. Þetta framhjá öllum öryggisráðstöfunum viðskiptavinar og getur leitt til taps á viðkvæmum notendaupplýsingum eða algerrar truflunar á þjónustu [S2].
Grunnorsök: Ófullnægjandi heimildarrökfræði
Uppistaðan fyrir þessum veikleikum er venjulega sú að ekki hefur tekist að innleiða sérstakar aðstæður sem takmarka aðgang á grundvelli notendaauðkennis eða auðlindareiginleika [S3]. Hönnuðir skilja oft sjálfgefnar stillingar eftir virkar í framleiðsluumhverfi sem staðfesta ekki request.auth hlutinn [S3]. Án þess að meta request.auth getur kerfið ekki greint á milli lögmæts auðkenndrar notanda og nafnlauss beiðanda [S3].
Tæknileg úrbætur
Til að tryggja Firebase umhverfi þarf að færa sig úr opnum aðgangi yfir í líkan með minnstu forréttindi.
- Framfylgja auðkenningu: Gakktu úr skugga um að allar viðkvæmar slóðir krefjist gilda notandalotu með því að athuga hvort
request.authhluturinn sé ekki núll [S3]. - Innleiða auðkennismiðaðan aðgang: Stilltu reglur sem bera saman UID notandans (
request.auth.uid) við reit innan skjalsins eða skjalauðkennið sjálft til að tryggja að notendur hafi aðeins aðgang að eigin gögnum [S3]. - Kynt leyfissvið: Forðastu alheimskort fyrir söfn. Í staðinn skaltu skilgreina sérstakar reglur fyrir hvert safn og undirsafn til að lágmarka hugsanlegt árásarflöt [S2].
- Staðfesting í gegnum emulator Suite: Notaðu Firebase emulator Suite til að prófa öryggisreglur á staðnum. Þetta gerir kleift að sannreyna rökfræði aðgangsstýringar gegn ýmsum notendapersónum áður en það er dreift í lifandi umhverfi [S2].
Hvernig FixVibe prófar það
FixVibe inniheldur þetta nú sem skrifvarinn BaaS skönnun. baas.firebase-rules dregur út Firebase stillingar úr JavaScript búntum af sama uppruna, þar á meðal nútíma initializeApp(...) búntformum, athugar síðan rauntímagagnagrunn, Firestore og Firebase beiðni um lesið á ónautnlegan hátt. Fyrir Firestore reynir það fyrst rótasafnsskráningu; þegar skráning er læst rannsakar hún einnig algeng viðkvæm safnheiti eins og users, accounts, customers, orders, ZXCVFIXVIBETOKEN6ZXZCVI, ZXCVFIXVIBETOKEN6ZXZCVI, ZXCVC7. admin og settings. Það tilkynnir aðeins árangursríkan nafnlausan lestur eða skráningar og skrifar ekki, eyðir eða geymir innihald viðskiptavinaskjala.
