ການອ່ານຂໍ້ຜິດ SO_ORIGINAL_DST ຂອງ Squid
ກວດສອບວ່າລູກຄ້າທີ່ຕັ້ງຄ່າຢ່າງຊັດເຈນໄດ້ໄປຮອດຕົວຮັບຟັງການດັກຈັບແລ້ວຫຼືບໍ່ ກ່ອນທີ່ຈະກວດສອບຄວາມລົ້ມເຫຼວຂອງການຄົ້ນຫາປາຍທາງເດີມໃນ Squid.
NF getsockopt(SO_ORIGINAL_DST) ຊີ້ໄປທີ່ການຄົ້ນຫາປາຍທາງເດີມ. ໃນການຕັ້ງຄ່າດັກຈັບ Squid ຕ້ອງຟື້ນຟູວ່າການເຊື່ອມຕໍ່ທີ່ຖືກປ່ຽນເສັ້ນທາງໄປຢູ່ໃສໃນຕອນຕົ້ນ.
ບຣາວເຊີທີ່ຕັ້ງຄ່າຢ່າງຊັດເຈນສົ່ງຄຳຮ້ອງຂໍຂອງຕົນໄປຫາພຣັອກຊີໂດຍເຈດຕະນາ. ການເຊື່ອມຕໍ່ນັ້ນບໍ່ໄດ້ຮັບປະຫວັດການດັກຈັບ NAT ພຽງເພາະວ່າ intercept ຖືກຂຽນໄວ້ຂ້າງພອດຂອງຕົວຮັບຟັງ Squid.
ດັ່ງນັ້ນຄວາມບໍ່ສອດຄ່ອງນີ້ອາດລົ້ມເຫຼວກ່ອນທີ່ໃບຢັ້ງຢືນຂອງປາຍທາງຈະກ່ຽວຂ້ອງ.
ເລີ່ມຈາກວິທີທີ່ການເຊື່ອມຕໍ່ມາຮອດ
- ຖ້າແອັບພລິເຄຊັນມີທີ່ຢູ່ພຣັອກຊີທີ່ຕັ້ງຄ່າໄວ້ ໃຫ້ກຳນົດຕົວຮັບຟັງພຣັອກຊີສົ່ງຕໍ່ປົກກະຕິທີ່ມັນຄວນໃຊ້.
- ຖ້າປະຕູທາງປ່ຽນເສັ້ນທາງການຈະລາຈອນທີ່ປົກກະຕິເປັນແບບຊື່ ໃຫ້ກວດສອບວ່າມັນໄປຮອດຕົວຮັບຟັງດັກຈັບທີ່ຕັ້ງໃຈ ແລະ ການອອກແບບ NAT ທີ່ຮອງຮັບໄດ້ຮັກສາຂໍ້ມູນປາຍທາງທີ່ຈຳເປັນ.
- ຖ້າມີທັງສອງໂໝດ ໃຫ້ກວດສອບວ່າລູກຄ້າທີ່ລົ້ມເຫຼວໄດ້ຕິດຕໍ່ທີ່ຢູ່ ແລະ ພອດໃດແທ້.
ເອກະສານ http_port ຂອງ Squid ອະທິບາຍຄວາມແຕກຕ່າງຢ່າງຊັດເຈນ: ການລະເວັ້ນທຸງໂໝດຈະເລືອກໂໝດພຣັອກຊີສົ່ງຕໍ່; intercept ຄາດຫວັງການດັກຈັບ NAT ໃນຊັ້ນ IP.
ຈາກນັ້ນຈັດການຄວາມປອດໄພຂອງການຂົນສົ່ງແຍກຕ່າງຫາກ. ພຣັອກຊີ HTTP ສາມາດຂົນ HTTPS ຜ່ານ CONNECT ໄດ້. ການເຊື່ອມຕໍ່ TLS ໄປຫາພຣັອກຊີ ຕ້ອງການຕົວຮັບຟັງ ແລະ ການຕັ້ງຄ່າລູກຄ້າທີ່ເຂົ້າກັນໄດ້. ການຖອດລະຫັດການຈະລາຈອນປາຍທາງແມ່ນຄວາມສາມາດເສີມອີກຢ່າງໜຶ່ງ.
ຢ່າຄັດລອກ “ວິທີແກ້ໄຂ HTTPS” ເກົ່າທີ່ເປີດການສ້າງໃບຢັ້ງຢືນພຽງເພາະວ່າ URL ປາຍທາງເລີ່ມດ້ວຍ HTTPS. ຊ່ອມຄວາມສອດຄ່ອງລະຫວ່າງລູກຄ້າ ແລະ ຕົວຮັບຟັງກ່ອນ. ຖ້າຍັງເຫຼືອຂໍ້ຜິດ TLS ແທ້ໆຫຼັງຈາກນັ້ນ ມັນຈະເປັນຂໍ້ຜິດທີ່ມີປະໂຫຍດກວ່າສຳລັບການສືບສວນ.