Firebase سيڪيورٽي ضابطا مهيا ڪن ٿا هڪ گرينولر، سرور تي لاڳو ڪيل ميکانيزم کي تحفظ ڏيڻ لاءِ فائر اسٽور، ريئل ٽائم ڊيٽابيس، ۽ ڪلائوڊ اسٽوريج [S1]. ڇاڪاڻ ته Firebase ايپليڪيشنون اڪثر ڪري انهن ڪلائوڊ سروسز سان سڌو سنئون ڪلائنٽ جي طرف سان رابطو ڪن ٿيون، اهي ضابطا صرف هڪ رڪاوٽ جي نمائندگي ڪن ٿا جيڪي پس منظر واري ڊيٽا تائين غير مجاز رسائي کي روڪيندا آهن [S1].
اجازت ڏيڻ واري ضابطن جو اثر
غلط ترتيب ڏنل ضابطا اهم ڊيٽا جي نمائش [S2] جي ڪري سگھن ٿا. جيڪڏهن ضابطا حد کان وڌيڪ اجازت ڏيڻ لاءِ مقرر ڪيا ويا آهن- مثال طور، ڊفالٽ 'ٽيسٽ موڊ' سيٽنگون استعمال ڪندي جيڪي عالمي رسائي جي اجازت ڏين ٿيون- پروجيڪٽ ID جي ڄاڻ رکندڙ ڪو به صارف سڄو ڊيٽابيس مواد [S2] پڙهي، تبديل ڪري يا حذف ڪري سگهي ٿو. اهو سڀ ڪلائنٽ سائڊ حفاظتي قدمن کي پاسو ڪري ٿو ۽ نتيجو ٿي سگهي ٿو حساس صارف جي معلومات جي نقصان يا مجموعي خدمت ۾ خلل [S2].
روٽ سبب: ناکافي اختيار ڏيڻ وارو منطق
انهن خطرن جو بنيادي سبب عام طور تي مخصوص شرطن تي عمل ڪرڻ ۾ ناڪامي آهي جيڪي صارف جي سڃاڻپ يا وسيلن جي خاصيتن جي بنياد تي رسائي کي محدود ڪن ٿيون [S3]. ڊولپر اڪثر ڪري ڊفالٽ ڪنفيگريشنز کي پروڊڪشن ماحول ۾ چالو ڪندا آھن جيڪي request.auth اعتراض [S3] جي تصديق نه ڪندا آھن. request.auth جو جائزو وٺڻ کان سواء، سسٽم هڪ جائز تصديق ٿيل صارف ۽ هڪ گمنام درخواست ڪندڙ [S3] جي وچ ۾ فرق نٿو ڪري سگهي.
ٽيڪنيڪل ريميڊيشن
Firebase ماحول کي محفوظ ڪرڻ لاءِ کليل رسائي کان پرنسپل-آف-لٽ-پرائيليج ماڊل ڏانهن منتقل ٿيڻ جي ضرورت آهي.
- تصديق لاڳو ڪريو: پڪ ڪريو ته سڀني حساس رستن کي صحيح استعمال ڪندڙ سيشن جي ضرورت آهي جانچ ڪندي ته ڇا
request.authاعتراض null [S3] ناهي. - سڃاڻپ جي بنياد تي رسائي لاڳو ڪريو: ضابطن کي ترتيب ڏيو جيڪي صارف جي UID (
request.auth.uid) کي دستاويز جي اندر واري فيلڊ يا دستاويز جي ID سان ڀيٽ ڪن ٿا ته يقيني بڻائين ته صارف صرف پنهنجي ڊيٽا تائين رسائي ڪري سگهن ٿا [S3].
گرينولر پرمشن اسڪوپنگ: مجموعن لاءِ عالمي وائلڊ ڪارڊ کان پاسو ڪريو. ان جي بدران، هر مجموعو ۽ ذيلي گڏ ڪرڻ لاء مخصوص ضابطن جي وضاحت ڪريو ممڪن حملي جي مٿاڇري کي گھٽ ڪرڻ لاء [S2].
- ايموليٽر سوٽ ذريعي تصديق: استعمال ڪريو Firebase ايموليٽر سوٽ مقامي طور تي سيڪيورٽي ضابطن کي جانچڻ لاءِ. هي اجازت ڏئي ٿو رسائي ڪنٽرول منطق جي تصديق ڪرڻ کان اڳ مختلف صارفن جي خلاف هڪ لائيو ماحول ۾ ترتيب ڏيڻ کان اڳ [S2].
ڪيئن FixVibe ان لاءِ ٽيسٽ ڪري ٿو
FixVibe ھاڻي ھن ۾ شامل آھي صرف پڙھڻ لاءِ BaaS اسڪين. baas.firebase-rules Firebase ڪنفيگريشن ساڳي اصلي جاوا اسڪرپٽ بنڊلن مان ڪڍي ٿو، بشمول جديد initializeApp(...) بنڊل شڪلون، پوءِ چيڪ ڪري ٿو ريئل ٽائم ڊيٽابيس، فائر اسٽور، ۽ ZXVIXVIXTOKEN11 ZXVIXVIXTOKNator سان غير تصديق ٿيل صرف پڙهڻ لاء درخواستون. Firestore لاءِ، اهو پهريون ڪوشش ڪري ٿو روٽ گڏ ڪرڻ جي لسٽنگ؛ جڏهن لسٽنگ کي بلاڪ ڪيو ويو آهي، اهو پڻ عام حساس مجموعن جي نالن جي تحقيقات ڪري ٿو جهڙوڪ users، accounts، customers، orders، orders، users، messages، admin، ۽ settings. اهو صرف ڪامياب گمنام پڙهڻ يا لسٽنگ جي رپورٽ ڪري ٿو ۽ ڪسٽمر دستاويزن جي مواد کي لکڻ، حذف ڪرڻ، يا ذخيرو نٿو ڪري.
