Cyber Security

DNS Poisoning คืออะไร? และวิธีป้องกัน DNS Security อย่างถูกต้อง

เผยแพร่ · แก้ไขล่าสุด

DNS คืออะไร และทำไมถึงสำคัญด้านความปลอดภัย?

DNS (Domain Name System) คือระบบที่แปลงชื่อโดเมน เช่น de.co.th ให้กลายเป็น IP Address ที่คอมพิวเตอร์สามารถเชื่อมต่อได้ เปรียบเหมือนสมุดโทรศัพท์ของอินเทอร์เน็ต หากระบบ DNS ถูกโจมตีหรือปลอมแปลง ผู้ใช้อาจถูกนำไปยังเว็บไซต์ปลอมโดยไม่รู้ตัว ซึ่งนำไปสู่การขโมยข้อมูลหรือการโจมตีที่อันตราย

DNS Poisoning / DNS Spoofing คืออะไร?

DNS Poisoning (หรือ DNS Spoofing) คือการโจมตีที่ผู้ไม่ประสงค์ดีแทรกข้อมูล DNS ปลอมเข้าไปในระบบ Cache ของ DNS Server ทำให้เมื่อผู้ใช้พิมพ์ URL ที่ถูกต้อง ระบบจะส่งพวกเขาไปยัง IP Address ที่ผิด ซึ่งอาจเป็นเว็บไซต์ปลอมที่ออกแบบมาเพื่อขโมยข้อมูลหรือแพร่กระจายมัลแวร์

ขั้นตอนการโจมตี DNS Poisoning

  1. ผู้โจมตีส่ง DNS Query ปลอมไปยัง DNS Resolver
  2. DNS Resolver ตรวจสอบ Cache — หากยังไม่มีข้อมูล จะสอบถาม Authoritative DNS Server
  3. ผู้โจมตีส่ง Response ปลอมก่อนที่ Response จริงจะมาถึง
  4. DNS Resolver บันทึก IP ปลอมลงใน Cache
  5. ผู้ใช้ทุกคนที่สอบถาม DNS นั้นจะถูกนำทางไปยัง IP ปลอมโดยอัตโนมัติ

ประเภทของการโจมตี DNS

ประเภทการโจมตีคำอธิบายระดับความอันตราย
DNS Cache Poisoningแทรกข้อมูลปลอมใน DNS Cacheสูงมาก
DNS Hijackingเปลี่ยน DNS Settings บนอุปกรณ์หรือ Routerสูง
DNS Tunnelingซ่อน Traffic อันตรายไว้ใน DNS Queryปานกลาง-สูง
DNS Amplification DDoSใช้ DNS Server เป็นตัวขยายการโจมตี DDoSสูงมาก
NXDOMAIN Attackส่ง Query ปลอมจำนวนมากเพื่อทำให้ DNS Server ล่มปานกลาง

วิธีป้องกัน DNS Security อย่างมีประสิทธิภาพ

1. เปิดใช้งาน DNSSEC (DNS Security Extensions)

DNSSEC เพิ่มลายเซ็นดิจิทัลให้กับ DNS Records ทำให้ DNS Resolver สามารถตรวจสอบความถูกต้องของข้อมูลได้ หากข้อมูล DNS ถูกแก้ไข DNSSEC จะตรวจพบและปฏิเสธข้อมูลปลอมนั้น

2. ใช้ DNS over HTTPS (DoH) หรือ DNS over TLS (DoT)

DoH และ DoT เข้ารหัส DNS Query ระหว่างอุปกรณ์และ DNS Server ป้องกันการดักฟังและการปลอมแปลง DNS ใน Transit ซึ่งเป็นมาตรการที่ควรเปิดใช้งานบนอุปกรณ์และ Browser สมัยใหม่

3. ใช้ DNS Resolver ที่เชื่อถือได้

  • Cloudflare: 1.1.1.1 (รองรับ DoH/DoT, ความเป็นส่วนตัวสูง)
  • Google: 8.8.8.8 (เสถียร รองรับ DNSSEC)
  • Quad9: 9.9.9.9 (บล็อค Malicious Domain โดยอัตโนมัติ)
  • OpenDNS: 208.67.222.222 (มีระบบ Filtering ในตัว)

4. ตั้งค่า DNS Cache TTL ให้เหมาะสม

TTL (Time-to-Live) ที่สั้นเกินไปทำให้ Cache ถูกล้างบ่อย เพิ่มโอกาสโจมตีระหว่าง Query ใหม่ แต่ TTL ที่ยาวเกินไปทำให้ข้อมูลปลอมถูกเก็บนานเกินไป ควรตั้งค่า TTL ระหว่าง 300-3600 วินาที ตามความเหมาะสมของแต่ละ Record

5. ติดตั้ง DNS Firewall หรือ RPZ (Response Policy Zone)

DNS Firewall ช่วยบล็อค Domain ที่เป็นอันตราย เช่น Phishing Site, Malware C&C Server โดยอัตโนมัติ ก่อนที่ผู้ใช้จะเชื่อมต่อได้ เหมาะสำหรับองค์กรที่ต้องการป้องกันการเข้าถึงเว็บไซต์อันตราย

การตรวจสอบว่า DNS ของคุณถูก Poison หรือไม่

สามารถตรวจสอบได้ด้วยคำสั่งบน Terminal หรือ Command Prompt:

# ตรวจสอบ DNS Record ด้วย dig
dig de.co.th A

# เปรียบเทียบกับ DNS Resolver อื่น
dig @8.8.8.8 de.co.th A
dig @1.1.1.1 de.co.th A

# ตรวจสอบ DNSSEC
dig +dnssec de.co.th A

หาก IP Address ที่ได้รับจากแต่ละ Resolver แตกต่างกันมาก อาจมีสัญญาณว่า DNS ถูกปลอมแปลง ควรตรวจสอบกับผู้ดูแลระบบทันที

DNS Security สำหรับ Cloud VPS และ Server

สำหรับผู้ดูแล Cloud VPS หรือ Server ควรดำเนินการดังนี้:

  • เปิดใช้ DNSSEC บนโดเมนทุกโดเมนที่ให้บริการ
  • ตั้งค่า SPF, DKIM, DMARC เพื่อป้องกัน Email Spoofing ที่อาศัย DNS
  • ใช้ Authoritative DNS ที่มีระบบป้องกันการโจมตีในตัว เช่น Cloudflare DNS หรือ AWS Route 53
  • Monitor DNS Logs อย่างสม่ำเสมอเพื่อตรวจจับ Query ที่ผิดปกติ
  • จำกัดการเข้าถึง DNS Resolver ให้เฉพาะ IP ที่เชื่อถือได้

สรุป

DNS Security เป็นพื้นฐานสำคัญของการรักษาความปลอดภัยบนเครือข่าย การป้องกัน DNS Poisoning ด้วย DNSSEC, DoH/DoT, DNS Firewall และการใช้ DNS Resolver ที่เชื่อถือได้ จะช่วยลดความเสี่ยงของการถูกโจมตีผ่าน DNS ได้อย่างมีประสิทธิภาพ ทั้งสำหรับผู้ใช้ทั่วไปและผู้ดูแลระบบ Cloud VPS