อ่าน 12 นาที

DNS Leak คืออะไร? DNS Leak เปิดเผยพฤติกรรมการท่องเว็บของคุณอย่างไร

คุณเชื่อมต่อ VPN เพื่อความเป็นส่วนตัว แต่ DNS query อาจยังถูกส่งไปยัง ISP แบบไม่เข้ารหัส ทำให้เห็นได้ว่าคุณเปิดเว็บไซต์อะไร นี่คือ DNS leak หนึ่งในสาเหตุที่ทำให้ความเป็นส่วนตัวของ VPN ล้มเหลวแบบเงียบ ๆ

DNS Leak คืออะไร?

DNS leak เกิดขึ้นเมื่อ DNS query ของคุณถูกส่งออกไปนอก VPN tunnel โดยมักไปยัง DNS server ของ ISP แทนที่จะวิ่งผ่านการเชื่อมต่อที่เข้ารหัสของ VPN ผลคือ ISP หรือผู้ที่มองเห็นเครือข่ายสามารถรู้ชื่อโดเมนที่คุณค้นหาได้ แม้ traffic หลักจะถูก VPN เข้ารหัสแล้วก็ตาม

Expected:
You -> encrypted VPN tunnel -> VPN DNS -> Internet
ISP sees only encrypted traffic

DNS leak:
You -> encrypted VPN tunnel -> Internet
You -> plain DNS query -> ISP DNS server
ISP sees every domain lookup

ทำไมเรื่องนี้สำคัญ

DNS query เป็นเหมือนประวัติย่อของเว็บไซต์ที่คุณเปิด ใครที่เห็น query สามารถสร้างภาพรวมได้ว่าคุณเข้าเว็บอะไร เมื่อไร และบ่อยแค่ไหน แม้จะไม่เห็นเนื้อหาที่ส่งผ่าน HTTPS ก็ตาม

DNS Resolution ทำงานอย่างไร

เมื่อคุณพิมพ์โดเมน เช่น example.com อุปกรณ์ต้องแปลงชื่อโดเมนเป็น IP address ก่อนเชื่อมต่อ ขั้นตอนนี้ทำผ่าน DNS หรือ Domain Name System

1. Device checks local DNS cache
2. If not found, query goes to DNS resolver
3. Resolver asks root, TLD, and authoritative servers
4. Resolver returns IP address
5. Browser connects to that IP

ปัญหาคือ DNS แบบดั้งเดิมใช้ UDP port 53 และส่งเป็น plain text ผู้ให้บริการ Wi-Fi, ISP หรือผู้ดูแลเครือข่ายจึงมองเห็นชื่อโดเมนที่คุณถามได้

VPN ควรจัดการ DNS อย่างไร

VPN ที่ตั้งค่าถูกต้องควร override DNS ของระบบให้ใช้ DNS ของ VPN, route DNS query ทั้งหมดผ่าน tunnel, block DNS traffic ที่ออกนอก tunnel และจัดการทั้ง IPv4 กับ IPv6

  • VPN ใช้ DNS server ของตัวเองภายในเครือข่าย VPN
  • VPN route DNS ผ่าน tunnel ไปยัง public resolver เช่น 1.1.1.1 หรือ 9.9.9.9
  • VPN ใช้ DoH/DoT ภายใน tunnel เพื่อเพิ่มชั้นการเข้ารหัส
  • VPN มี kill switch หรือ firewall rules เพื่อ block DNS ที่ไม่ผ่าน tunnel

DNS Leak เปิดเผยอะไรบ้าง

ชื่อโดเมนที่ค้นหาเว็บไซต์และบริการที่คุณเปิด เช่น ธนาคาร streaming หรือเว็บสุขภาพ
เวลาที่ queryรูปแบบการใช้งาน เวลาทำงาน เวลาพัก และกิจวัตรประจำวัน
ความถี่ในการ queryเว็บไซต์ที่ใช้ทุกวันเทียบกับเว็บที่เข้าเป็นครั้งคราว
IP จริงของคุณหาก query ออกนอก VPN จะผูกกับตำแหน่งจริงและ ISP ของคุณ
บริการจากแอปพื้นหลังupdate server, API endpoint และบริการที่แอปเรียกใช้โดยไม่เปิดเว็บ

สาเหตุของ DNS Leak

Windows Smart Multi-Homed Name ResolutionWindowsส่ง DNS query ไปหลาย network adapter พร้อมกัน รวมถึงเส้นทางนอก VPN
IPv6 DNS queriesทุกแพลตฟอร์มVPN บางตัว tunnel เฉพาะ IPv4 ทำให้ IPv6 query หลุดออกนอก tunnel
ตั้งค่า VPN ไม่ครบทุกแพลตฟอร์มVPN ไม่ override DNS หรือไม่ได้ block DNS traffic นอก tunnel
VPN หลุดชั่วคราวทุกแพลตฟอร์มระหว่าง reconnect ระบบอาจกลับไปใช้ DNS ของ ISP ถ้าไม่มี kill switch
Split tunnelingทุกแพลตฟอร์มบาง traffic ถูกออกแบบให้ไม่ผ่าน VPN และอาจรวม DNS query ด้วย
Browser DoH แยกจากระบบBrowserเบราว์เซอร์อาจใช้ DNS provider ของตัวเอง ทำให้ผลไม่ตรงกับ DNS ของ VPN

วิธีทดสอบ DNS Leak

  1. เชื่อมต่อ VPN แล้วเปิดเครื่องมือ DNS leak test
  2. ตรวจว่ารายชื่อ DNS server เป็นของ VPN หรือ resolver ที่คุณตั้งใจใช้ ไม่ใช่ ISP จริงของคุณ
  3. ทดสอบซ้ำหลัง reconnect VPN เปลี่ยน Wi-Fi หรือปลุกเครื่องจาก sleep
  4. ทดสอบทั้ง IPv4, IPv6 และ WebRTC leak ถ้าเครื่องมือรองรับ

อย่าทดสอบแค่ครั้งเดียว

บาง leak เกิดเฉพาะช่วง VPN กำลังเชื่อมต่อ หลุด หรือเปลี่ยนเครือข่าย การทดสอบซ้ำช่วยจับปัญหา intermittent leak ได้ดีกว่า

วิธีแก้ DNS Leak

  • เปิด DNS leak protection ใน VPN client
  • เปิด kill switch เพื่อ block traffic ทั้งหมดเมื่อ VPN หลุด
  • ใช้ VPN ที่มี DNS server ของตัวเองและรองรับ IPv6 หรือ block IPv6 อย่างถูกต้อง
  • ตั้ง DNS เป็น resolver ที่เชื่อถือได้ เช่น 1.1.1.1, 9.9.9.9 หรือ DNS ของ VPN
  • ปิด split tunneling ถ้าไม่จำเป็น หรือเข้าใจว่า traffic ใดจะไม่ผ่าน VPN
  • บน Windows ให้พิจารณาปิด Smart Multi-Homed Name Resolution หากยัง leak

Encrypted DNS: DoH, DoT และ DoQ

Encrypted DNS เข้ารหัส DNS traffic เพื่อไม่ให้ผู้ที่อยู่ระหว่างทางอ่าน query ได้ง่าย แต่ผู้ให้บริการ DNS resolver ยังเห็น query อยู่ จึงต้องเลือก resolver ที่ไว้ใจได้

Traditional DNS53UDP plain textไม่มีการเข้ารหัส ผู้ดูแลเครือข่ายหรือ ISP เห็น query ได้
DNS-over-HTTPS (DoH)443HTTPS encryptedส่ง DNS ผ่าน HTTPS ดูคล้าย traffic เว็บทั่วไปและบล็อกแยกได้ยาก
DNS-over-TLS (DoT)853TLS encryptedช่องทางเข้ารหัสเฉพาะ DNS ระบุได้ง่ายกว่าและอาจถูก firewall บล็อก
DNS-over-QUIC (DoQ)853QUIC encryptedรุ่นใหม่ latency ต่ำกว่า แต่ยังอยู่ระหว่างการใช้งานแพร่หลาย

IPv6 Leak และ WebRTC Leak

DNS leak ไม่ใช่ทางเดียวที่ตัวตนจริงอาจหลุดเมื่อใช้ VPN หาก VPN ไม่ tunnel IPv6 เว็บไซต์ dual-stack อาจเห็น IPv6 จริงของคุณได้ ส่วน WebRTC ในเบราว์เซอร์อาจใช้ STUN server เพื่อค้นหา public IP และถูกสคริปต์บนเว็บเรียกดูได้

  • ใช้ VPN ที่รองรับ IPv6 tunneling หรือ block IPv6 เมื่อไม่รองรับ
  • ทดสอบ IPv6 leak หลังเชื่อมต่อ VPN ทุกครั้งที่เปลี่ยนเครือข่าย
  • ปิด WebRTC หรือใช้ browser/VPN ที่มี WebRTC leak protection

ใครเห็น DNS Query ของคุณได้บ้าง

ผู้ให้บริการ Wi-Fiเห็นได้ถ้าเป็น plain DNSร้านกาแฟ โรงแรม สนามบิน หรือเครือข่ายสาธารณะ
ISP ของคุณเห็นได้ถ้าใช้ DNS ของ ISP หรือ port 53 ไม่เข้ารหัสอาจเก็บ log หรือวิเคราะห์พฤติกรรมการใช้งาน
DNS resolverเห็นเสมอGoogle, Cloudflare, Quad9 หรือ DNS ของ VPN เป็นผู้ตอบ query
VPN providerเห็นได้ถ้าเป็นผู้ให้ DNSต้องเชื่อถือ policy และการตั้งค่า no-log
ผู้ดูแลเครือข่ายองค์กร/โรงเรียนเห็นได้บนเครือข่ายของเขามักบันทึก DNS query เพื่อควบคุมความปลอดภัยและนโยบาย

แนวทางปกป้อง DNS Privacy

  • เปิด DNS leak protection และ kill switch ใน VPN
  • เลือก VPN ที่มี DNS server ของตัวเองและมีนโยบาย no-log ชัดเจน
  • ปิด IPv6 ถ้า VPN ไม่รองรับ หรือใช้ VPN ที่ tunnel IPv6 ได้จริง
  • เปิด DoH/DoT ใน browser หรือระบบปฏิบัติการเมื่อเหมาะสม
  • ใช้ resolver ที่ไว้ใจได้ เช่น Cloudflare, Quad9 หรือ DNS ของ VPN
  • ทดสอบ DNS leak เป็นประจำ โดยเฉพาะหลังเปลี่ยน VPN server หรือเครือข่าย

ไม่มีวิธีเดียวที่สมบูรณ์แบบ

VPN ซ่อน DNS จาก ISP แต่คุณต้องเชื่อ VPN provider ส่วน DoH/DoT ซ่อน DNS จากเครือข่ายท้องถิ่นแต่ DNS resolver ยังเห็น query อยู่ เป้าหมายคือจำกัดจำนวนฝ่ายที่มองเห็นข้อมูลนี้ให้น้อยที่สุด

ทดสอบ DNS Leak ของการเชื่อมต่อคุณ

ใช้ DNS Leak Test ฟรีเพื่อตรวจว่า DNS query ของคุณหลุดออกนอก VPN หรือไม่ ดูว่า DNS server ใดกำลังตอบคำขอ และตรวจสอบว่าความเป็นส่วนตัวของคุณยังได้รับการปกป้องอยู่

เปิด DNS Leak Test →

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

  1. Hoffman, P. & McManus, P. (2018). RFC 8484: DNS Queries over HTTPS.
  2. Hu, Z. et al. (2016). RFC 7858: DNS over Transport Layer Security.
  3. Huitema, C. et al. (2022). RFC 9250: DNS over Dedicated QUIC Connections.
  4. Cloudflare. What is a DNS leak?.
  5. IETF. DNS Privacy Considerations (RFC 7626).
USTHJP