Sheria za Usalama za Firebase hutoa utaratibu wa punjepunje, unaotekelezwa na seva ili kulinda data katika Firestore, Hifadhidata ya Wakati Halisi, na Hifadhi ya Wingu [S1]. Kwa sababu programu za Firebase mara nyingi huingiliana na huduma hizi za wingu moja kwa moja kutoka kwa upande wa mteja, sheria hizi zinawakilisha kizuizi pekee kinachozuia ufikiaji usioidhinishwa wa data ya nyuma [S1].
Athari za Sheria Zinazoruhusu
Sheria zilizowekwa vibaya zinaweza kusababisha kufichua data muhimu [S2]. Sheria zikiwekwa kuwa ruhusu kupita kiasi—kwa mfano, kwa kutumia mipangilio chaguomsingi ya 'hali ya majaribio' inayoruhusu ufikiaji wa kimataifa—mtumiaji yeyote aliye na ujuzi wa kitambulisho cha mradi anaweza kusoma, kurekebisha au kufuta maudhui yote ya hifadhidata [S2]. Hii inapita hatua zote za usalama za upande wa mteja na inaweza kusababisha upotevu wa taarifa nyeti za mtumiaji au kukatizwa kwa huduma kwa jumla [S2].
Chanzo Cha msingi: Mantiki ya Uidhinishaji Haitoshi
Chanzo kikuu cha udhaifu huu kwa kawaida ni kushindwa kutekeleza masharti mahususi ambayo yanazuia ufikiaji kulingana na utambulisho wa mtumiaji au sifa za rasilimali [S3]. Wasanidi programu mara kwa mara huacha usanidi chaguo-msingi ukitumika katika mazingira ya uzalishaji ambayo hayathibitishi kitu cha request.auth [S3]. Bila kutathmini request.auth, mfumo hauwezi kutofautisha kati ya mtumiaji halali aliyeidhinishwa na mwombaji asiyejulikana [S3].
Marekebisho ya Kiufundi
Kupata mazingira ya Firebase kunahitaji kuhama kutoka kwa ufikiaji wazi hadi kwa mfano mkuu wa upendeleo.
- Tekeleza Uthibitishaji: Hakikisha kuwa njia zote nyeti zinahitaji kipindi halali cha mtumiaji kwa kuangalia kama kipengee cha
request.authsi batili [S3]. - Tekeleza Ufikiaji Kulingana na Utambulisho: Sanidi sheria zinazolinganisha UID ya mtumiaji (
request.auth.uid) na sehemu iliyo ndani ya hati au kitambulisho chenyewe cha hati ili kuhakikisha watumiaji wanaweza kufikia data yao wenyewe [S3] pekee. - Upeo wa Ruhusa ya Punjepunje: Epuka kadi pori za kimataifa za mikusanyiko. Badala yake, fafanua sheria mahususi kwa kila mkusanyo na mkusanyiko mdogo ili kupunguza eneo linaloweza kushambulia [S2].
- Uthibitishaji kupitia Emulator Suite: Tumia Firebase Emulator Suite ili kujaribu sheria za usalama ndani ya nchi. Hii inaruhusu uthibitishaji wa mantiki ya udhibiti wa ufikiaji dhidi ya watumiaji mbalimbali kabla ya kupeleka kwenye mazingira ya moja kwa moja [S2].
Jinsi FixVibe inavyoifanyia majaribio
FixVibe sasa inajumuisha hii kama skanisho ya BaaS ya kusoma tu. baas.firebase-rules huondoa usanidi wa Firebase kutoka kwa vifurushi vya JavaScript vya asili moja, ikijumuisha vifurushi vya kisasa vya initializeApp(...), kisha hukagua Hifadhidata ya Wakati Halisi, Firestore na ZXCVFIXVIBETOKEN12Zulyimeidhinishwa ombi la Hifadhi isiyothibitishwa. Kwa Firestore, inajaribu kwanza orodha ya mkusanyiko wa mizizi; uorodheshaji unapozuiwa, pia huchunguza majina nyeti ya kawaida ya mkusanyo kama vile users, accounts, customers, orders, payments, ZXCVKEN7ZXVI, customers admin, na settings. Inaripoti tu usomaji au uorodheshaji uliofaulu bila majina na haiandiki, kufuta, au kuhifadhi yaliyomo kwenye hati ya mteja.
