กลับไปบล็อก

ทำไมใช้พร็อกซีแล้วยังเห็น IP: การทดสอบและป้องกัน WebRTC

ทำความเข้าใจ ICE, STUN, TURN, UDP และ IPv6 เพื่อแยกการรั่ว WebRTC จริงจากที่อยู่ local หรือ relay และตั้งค่า PurpleMark

ทำไมใช้พร็อกซีแล้วยังเห็น IP: การทดสอบและป้องกัน WebRTC

ทำไมใช้พร็อกซีแล้วยังเห็น IP: การทดสอบและป้องกัน WebRTC

หน้าตรวจ IP ปกติแสดงพร็อกซี แต่ WebRTC แสดง IP อื่นหรือชื่อ .local สิ่งนี้ยังไม่พิสูจน์การรั่วหากไม่รู้ชนิด ICE candidate และเส้นทางจริง

พร็อกซี HTTP มักส่งต่อเฉพาะเว็บ WebRTC รวบรวม candidate จาก local interface, STUN และ TURN ผ่าน UDP หรือ TCP หาก UDP หรือ IPv6 ไม่เข้าพร็อกซี STUN อาจเห็น public mapping ของเครือข่ายเดิม

ชนิดความหมาย
hostlocal, private IP, IPv6 หรือ mDNS; เพียงอย่างเดียวไม่ใช่หลักฐาน public leak
srflxNAT mapping จาก STUN; ถ้าเป็น public IP ของ ISP เดิมคือหลักฐานสำคัญ
prflxcandidate ที่พบระหว่าง connectivity check
relayที่อยู่ TURN server ไม่ใช่อุปกรณ์ปลายทาง

W3C อธิบายความเสี่ยงในส่วนการเปิดเผย IP

ทดสอบและป้องกัน

บันทึก IPv4/IPv6 เดิมแบบส่วนตัว เปิดพร็อกซี รีสตาร์ต profile และตรวจ HTTP, DNS และทั้งสอง IP family จากนั้นเก็บ type, protocol, address แล้วเทียบกับ proxy, ISP และ TURN srflx ที่มี ISP IP เดิมคือความเสี่ยง ส่วน private หรือ .local ต้องดูบริบท และ relay คือ TURN ดูชนิด ICE

ใช้ tunnel ที่รองรับ UDP และ IPv6 จริง ตรวจ split tunneling และบล็อก UDP ที่ไม่ผ่านพร็อกซีเมื่อรองรับ การปิด WebRTC ทำให้ video call และ screen sharing ใช้ไม่ได้ นักพัฒนาสามารถบังคับ TURN relay-only แต่มี latency และต้นทุนเพิ่ม

PurpleMark มี Forward, Replace, Real, Disable และ Proxy UDP โดย Replace ทำให้ IPv4 ตรงกับ proxy, Real ใช้ข้อมูลจริง, Disable ปิดการอ่าน, Proxy UDP ต้องใช้ Patch 2.8.2.0+ และ Forward คงความสามารถตามการตั้งค่า ต้องทดสอบทุกโหมดกับเครือข่ายจริง

สรุป

ที่อยู่ตัวที่สองไม่ได้แปลว่ารั่วเสมอ ต้องรู้ชนิด candidate และเทียบกับเครือข่ายเดิมกับพร็อกซี PurpleMark ช่วยแยกสภาพแวดล้อมที่ได้รับอนุญาต แต่ไม่แทนการทดสอบหรือกฎแพลตฟอร์ม

แหล่งอ้างอิง