ຜົນກະທົບ
ການບໍ່ມີສ່ວນຫົວຄວາມປອດໄພເຮັດໃຫ້ຜູ້ໂຈມຕີສາມາດດໍາເນີນການຄລິກ, ລັກຄຸກກີ້ຂອງເຊດຊັນ, ຫຼືດໍາເນີນການສະຄຣິບຂ້າມເວັບໄຊ (XSS) [S1]. ຖ້າບໍ່ມີຄໍາແນະນໍາເຫຼົ່ານີ້, ຕົວທ່ອງເວັບບໍ່ສາມາດບັງຄັບໃຊ້ຂອບເຂດຄວາມປອດໄພ, ນໍາໄປສູ່ການຂູດຂໍ້ມູນທີ່ມີທ່າແຮງແລະການກະທໍາຂອງຜູ້ໃຊ້ທີ່ບໍ່ໄດ້ຮັບອະນຸຍາດ [S2].
ສາເຫດ
ບັນຫາດັ່ງກ່າວເກີດມາຈາກຄວາມລົ້ມເຫລວໃນການຕັ້ງຄ່າເວັບເຊີບເວີ ຫຼືກອບໂປຣແກຣມເພື່ອລວມເອົາສ່ວນຫົວຄວາມປອດໄພ HTTP ມາດຕະຖານ. ໃນຂະນະທີ່ການພັດທະນາມັກຈະຈັດລໍາດັບຄວາມສໍາຄັນຂອງ HTML ແລະ CSS ທີ່ເປັນປະໂຫຍດ [S1], ການຕັ້ງຄ່າຄວາມປອດໄພແມ່ນຖືກຍົກເລີກເລື້ອຍໆ. ເຄື່ອງມືການກວດສອບເຊັ່ນ MDN Observatory ຖືກອອກແບບມາເພື່ອກວດພົບຊັ້ນປ້ອງກັນທີ່ຂາດຫາຍໄປແລະໃຫ້ແນ່ໃຈວ່າການໂຕ້ຕອບລະຫວ່າງຕົວທ່ອງເວັບແລະເຄື່ອງແມ່ຂ່າຍແມ່ນປອດໄພ [S2].
ລາຍລະອຽດດ້ານວິຊາການ
ສ່ວນຫົວຄວາມປອດໄພໃຫ້ບຣາວເຊີດ້ວຍຄຳແນະນຳຄວາມປອດໄພສະເພາະເພື່ອຫຼຸດຜ່ອນຄວາມສ່ຽງທົ່ວໄປ:
- ນະໂຍບາຍຄວາມປອດໄພຂອງເນື້ອຫາ (CSP): ຄວບຄຸມວ່າຊັບພະຍາກອນໃດສາມາດໂຫຼດໄດ້, ປ້ອງກັນການປະຕິບັດສະຄຣິບທີ່ບໍ່ໄດ້ຮັບອະນຸຍາດ ແລະສີດຂໍ້ມູນ [S1].
- Strict-Transport-Security (HSTS): ຮັບປະກັນວ່າຕົວທ່ອງເວັບພຽງແຕ່ຕິດຕໍ່ສື່ສານຜ່ານການເຊື່ອມຕໍ່ HTTPS ທີ່ປອດໄພ [S2].
- X-Frame-Options: ປ້ອງກັນບໍ່ໃຫ້ແອັບພລິເຄຊັນຖືກສະແດງຢູ່ໃນ iframe, ເຊິ່ງເປັນການປ້ອງກັນຕົ້ນຕໍຕໍ່ກັບການຄລິກ [S1].
- X-Content-Type-Options: ປ້ອງກັນບຣາວເຊີຈາກການຕີຄວາມໝາຍໄຟລ໌ເປັນປະເພດ MIME ທີ່ແຕກຕ່າງກັນກວ່າທີ່ລະບຸໄວ້, ຢຸດການໂຈມຕີ MIME-sniffing [S2].
ວິທີການ FixVibe ທົດສອບສໍາລັບມັນ
FixVibe ສາມາດກວດພົບສິ່ງນີ້ໄດ້ໂດຍການວິເຄາະສ່ວນຫົວການຕອບໂຕ້ HTTP ຂອງແອັບພລິເຄຊັນເວັບ. ໂດຍການປຽບທຽບຜົນໄດ້ຮັບຕໍ່ກັບມາດຕະຖານຂອງ MDN Observatory [S2], FixVibe ສາມາດລາຍງານສ່ວນຫົວທີ່ຂາດຫາຍໄປ ຫຼືຖືກຕັ້ງຄ່າຜິດເຊັ່ນ CSP, HSTS, ແລະ X-Frame-Options.
ແກ້ໄຂ
ອັບເດດເວັບເຊີບເວີ (ເຊັ່ນ: Nginx, Apache) ຫຼືຕົວກາງຂອງແອັບພລິເຄຊັນເພື່ອລວມເອົາສ່ວນຫົວຕໍ່ໄປນີ້ໃນການຕອບສະໜອງທັງໝົດເປັນສ່ວນໜຶ່ງຂອງທ່າທາງຄວາມປອດໄພມາດຕະຖານ [S1]:
- Content-Security-Policy: ຈຳກັດແຫຼ່ງຊັບພະຍາກອນໃຫ້ກັບໂດເມນທີ່ເຊື່ອຖືໄດ້.
- Strict-Transport-Security: ບັງຄັບໃຊ້ HTTPS ດ້ວຍ
max-ageຍາວ. - X-Content-Type-Options: ຕັ້ງເປັນ
nosniff[S2]. - X-Frame-Options: ຕັ້ງເປັນ
DENYຫຼືSAMEORIGINເພື່ອປ້ອງກັນການຄລິກ [S1].
