Firebase Коопсуздук эрежелери Firestore, Realtime Database жана Cloud Storage [S1] ичиндеги берилиштерди коргоо үчүн гранулдуу, сервердик механизмди камсыз кылат. Firebase тиркемелери көбүнчө бул булут кызматтары менен түздөн-түз кардар тарабынан өз ара аракеттенгендиктен, бул эрежелер [S1] арткы дайындарына уруксатсыз кирүүнү болтурбоочу бирден-бир тоскоолдук болуп саналат.
Уруксат берүүчү эрежелердин таасири
Туура эмес конфигурацияланган эрежелер [S2] маалыматтардын олуттуу таасирине алып келиши мүмкүн. Эгер эрежелер өтө эле уруксат берүүчү болуп коюлса, мисалы, глобалдык кирүү мүмкүнчүлүгүн берген демейки "сыноо режими" жөндөөлөрүн колдонуу менен - долбоордун идентификаторун билген ар бир колдонуучу [S2] маалымат базасынын мазмунун окуп, өзгөртүп же жок кыла алат. Бул кардар тараптын бардык коопсуздук чараларын айланып өтүп, колдонуучунун купуя маалыматынын жоголушуна же [S2] кызматын толугу менен үзгүлтүккө учурашына алып келиши мүмкүн.
Негизги себеби: Авторизациялоо логикасы жетишсиз
Бул алсыздыктардын негизги себеби, адатта, колдонуучунун иденттүүлүгүнө же [S3] ресурс атрибуттарына негизделген кирүү мүмкүнчүлүгүн чектеген конкреттүү шарттарды ишке ашырбоо болуп саналат. Иштеп чыгуучулар request.auth [S3] объектисин ырастабаган өндүрүш чөйрөлөрүндө демейки конфигурацияларды көп калтырышат. request.auth баа бербестен, система аныктыгы текшерилген мыйзамдуу колдонуучу менен [S3] анонимдүү сурамчыны айырмалай албайт.
Техникалык оңдоо
Firebase чөйрөсүн коргоо үчүн ачык мүмкүнчүлүктөн эң аз артыкчылык моделине өтүү керек.
- Аутентификацияны ишке ашыруу:
request.authобъекти нөл эмес [S3] эмес экенин текшерүү аркылуу бардык сезгич жолдор жарактуу колдонуучу сеансын талап кылаарын текшериңиз. - Идентификацияга негизделген мүмкүндүктү ишке ашыруу: Колдонуучулардын [S3] өз маалыматтарына гана кире алышына кепилдик берүү үчүн колдонуучунун UID (
request.auth.uid) документтин ичиндеги талаага же документтин идентификаторунун өзүнө салыштырган эрежелерди конфигурациялаңыз. - Уруксаттын масштабын аныктоо: Коллекциялар үчүн глобалдык белгилерден алыс болуңуз. Анын ордуна, [S2] чабуулунун потенциалдуу бети минимумга түшүрүү үчүн ар бир коллекция жана суб-жыйноо үчүн атайын эрежелерди аныктаңыз.
- Emulator Suite аркылуу текшерүү: Коопсуздук эрежелерин жергиликтүү түрдө текшерүү үчүн Firebase Emulator Suite колдонуңуз. Бул [S2] жандуу чөйрөгө жайылтуудан мурун ар кандай колдонуучунун инсандарына каршы кирүү башкаруу логикасын текшерүүгө мүмкүндүк берет.
FixVibe аны кантип сынайт
FixVibe эми муну окуу үчүн гана BaaS скандоосу катары камтыйт. baas.firebase-rules Firebase конфигурациясын ошол эле келип чыккан JavaScript таңгактарынан, анын ичинде заманбап initializeApp(...) таңгак формаларынан чыгарып, андан кийин Realtime Database, Firestore жана ZXCVFIXVIBETOKENVageTimeStore менен текшерет. окуу үчүн гана сурамдар. Firestore үчүн, алгач тамыр чогултуу тизмеси аракет кылат; листинг бөгөттөлгөндө, ал users, accounts, customers, orders, users, ZXCVFIXENVIXVCV, users, сыяктуу жалпы сезгич коллекция аттарын да текшерет. messages, admin жана settings. Ал ийгиликтүү анонимдүү окууларды же тизмелерди гана билдирет жана кардар документинин мазмунун жазбайт, жок кылбайт же сактабайт.
