FixVibe
Covered by FixVibehigh

ລາຍການກວດສອບຄວາມປອດໄພ Supabase: RLS, API ກະແຈ ແລະບ່ອນເກັບມ້ຽນ

ບົດ​ຄວາມ​ຄົ້ນ​ຄ້​ວາ​ນີ້​ອະ​ທິ​ບາຍ​ການ​ຕັ້ງ​ຄ່າ​ຄວາມ​ປອດ​ໄພ​ທີ່​ສໍາ​ຄັນ​ສໍາ​ລັບ​ໂຄງ​ການ Supabase. ມັນສຸມໃສ່ການປະຕິບັດທີ່ເຫມາະສົມຂອງ Row Level Security (RLS) ເພື່ອປົກປ້ອງແຖວຖານຂໍ້ມູນ, ການຮັກສາຄວາມປອດໄພຂອງກະແຈ anon ແລະ service_role API, ແລະການບັງຄັບໃຊ້ການຄວບຄຸມການເຂົ້າເຖິງສໍາລັບຖັງເກັບຂໍ້ມູນເພື່ອຫຼຸດຜ່ອນຄວາມສ່ຽງຕໍ່ການເປີດເຜີຍຂໍ້ມູນແລະການເຂົ້າເຖິງທີ່ບໍ່ໄດ້ຮັບອະນຸຍາດ.

CWE-284CWE-668

ສຽງແຄນ

ການຮັບປະກັນໂຄງການ Supabase ຮຽກຮ້ອງໃຫ້ມີວິທີການຫຼາຍຊັ້ນໂດຍສຸມໃສ່ການຄຸ້ມຄອງລະຫັດ API, ຄວາມປອດໄພຂອງຖານຂໍ້ມູນ, ແລະການອະນຸຍາດການເກັບຮັກສາ. [S1] ການຕັ້ງຄ່າຄວາມປອດໄພລະດັບແຖວທີ່ບໍ່ເໝາະສົມ (RLS) ຫຼືກະແຈທີ່ລະອຽດອ່ອນສາມາດນຳໄປສູ່ເຫດການການເປີດເຜີຍຂໍ້ມູນທີ່ສຳຄັນໄດ້. [S2] [S3]

ອັນໃດປ່ຽນແປງ

ການຄົ້ນຄວ້ານີ້ລວມການຄວບຄຸມຄວາມປອດໄພຫຼັກສໍາລັບສະພາບແວດລ້ອມ Supabase ໂດຍອີງໃສ່ຄໍາແນະນໍາດ້ານສະຖາປັດຕະຍະກໍາຢ່າງເປັນທາງການ. [S1] ມັນສຸມໃສ່ການຫັນປ່ຽນຈາກການຕັ້ງຄ່າການພັດທະນາໃນຕອນຕົ້ນໄປສູ່ທ່າທີ່ແຂງກະດ້າງໃນການຜະລິດ, ໂດຍສະເພາະກ່ຽວກັບກົນໄກການຄວບຄຸມການເຂົ້າເຖິງ. [S2] [S3]

ໃຜໄດ້ຮັບຜົນກະທົບ

ແອັບພລິເຄຊັນທີ່ໃຊ້ Supabase ເປັນ Backend-as-a-Service (BaaS) ໄດ້ຮັບຜົນກະທົບ, ໂດຍສະເພາະຜູ້ທີ່ຈັດການກັບຂໍ້ມູນສະເພາະຂອງຜູ້ໃຊ້ຫຼືຊັບສິນສ່ວນຕົວ. [S2] ນັກພັດທະນາທີ່ລວມເອົາກະແຈ service_role ຢູ່ໃນມັດຂ້າງລູກຄ້າຫຼືບໍ່ເປີດໃຊ້ RLS ມີຄວາມສ່ຽງສູງ. [S1]

ບັນຫາເຮັດວຽກແນວໃດ

Supabase ນຳໃຊ້ຄວາມປອດໄພລະດັບແຖວຂອງ PostgreSQL ເພື່ອຈຳກັດການເຂົ້າເຖິງຂໍ້ມູນ. [S2] ໂດຍຄ່າເລີ່ມຕົ້ນ, ຖ້າ RLS ບໍ່ໄດ້ເປີດໃຊ້ຢູ່ໃນຕາຕະລາງ, ຜູ້ໃຊ້ໃດໆທີ່ມີກະແຈ anon—ເຊິ່ງມັກຈະເປັນສາທາລະນະ—ສາມາດເຂົ້າເຖິງບັນທຶກທັງໝົດໄດ້. [S1] ເຊັ່ນດຽວກັນ, Supabase Storage ຕ້ອງການນະໂຍບາຍທີ່ຊັດເຈນເພື່ອກໍານົດວ່າຜູ້ໃຊ້ຫຼືບົດບາດໃດສາມາດດໍາເນີນການກ່ຽວກັບຖັງໄຟລ໌ໄດ້. [S3]

ສິ່ງທີ່ຜູ້ໂຈມຕີໄດ້ຮັບ

ຜູ້ໂຈມຕີທີ່ມີກະແຈ API ສາທາລະນະສາມາດນຳໃຊ້ຕາຕະລາງທີ່ຂາດຫາຍໄປ RLS ເພື່ອອ່ານ, ແກ້ໄຂ ຫຼືລຶບຂໍ້ມູນທີ່ເປັນຂອງຜູ່ໃຊ້ອື່ນ. [S1] [S2] ການເຂົ້າເຖິງຖັງເກັບຂໍ້ມູນໂດຍບໍ່ໄດ້ຮັບອະນຸຍາດສາມາດນໍາໄປສູ່ການເປີດເຜີຍຂອງໄຟລ໌ຜູ້ໃຊ້ສ່ວນຕົວຫຼືການລຶບຊັບສິນຄໍາຮ້ອງສະຫມັກທີ່ສໍາຄັນ. [S3]

ວິທີການ FixVibe ທົດສອບສໍາລັບມັນ

FixVibe ຕອນນີ້ກວມເອົາອັນນີ້ເປັນສ່ວນຫນຶ່ງຂອງການກວດສອບ Supabase ຂອງມັນ. baas.supabase-security-checklist-backfill ທົບທວນຄືນ Supabase ຂໍ້ມູນເມຕາຂອງຖັງເກັບຂໍ້ມູນສາທາລະນະ, ການສະແດງລາຍຊື່ວັດຖຸທີ່ບໍ່ເປີດເຜີຍຊື່, ການຕັ້ງຊື່ຖັງທີ່ລະອຽດອ່ອນ, ແລະສັນຍານການເກັບຮັກສາແບບບໍ່ຜູກມັດຈາກເຂດແດນສາທາລະນະ. ການກວດສອບສົດທີ່ກ່ຽວຂ້ອງກວດກາການເປີດຮັບສ່ວນສຳຄັນຂອງການບໍລິການ, Supabase REST/RLS posture, ແລະການໂອນຍ້າຍ SQL repository ສໍາລັບ RLS ທີ່ຂາດຫາຍໄປ.

##ຕ້ອງແກ້ໄຂຫຍັງ

ເປີດໃຊ້ Row Level Security ໃນຕາຕະລາງຖານຂໍ້ມູນສະເໝີ ແລະປະຕິບັດນະໂຍບາຍ granular ສໍາລັບຜູ້ໃຊ້ທີ່ຜ່ານການຮັບຮອງ. [S2] ໃຫ້ແນ່ໃຈວ່າພຽງແຕ່ໃຊ້ລະຫັດ 'anon' ໃນລະຫັດດ້ານລູກຄ້າ, ໃນຂະນະທີ່ກະແຈ 'service_role' ຍັງຄົງຢູ່ໃນເຄື່ອງແມ່ຂ່າຍ. [S1] ຕັ້ງຄ່າການຄວບຄຸມການເຂົ້າເຖິງບ່ອນເກັບຂໍ້ມູນເພື່ອຮັບປະກັນວ່າຖັງໄຟລ໌ເປັນສ່ວນຕົວໂດຍຄ່າເລີ່ມຕົ້ນ ແລະການເຂົ້າເຖິງແມ່ນອະນຸຍາດຜ່ານນະໂຍບາຍຄວາມປອດໄພທີ່ກຳນົດໄວ້ເທົ່ານັ້ນ. [S3]