4 คะแนน โดย GN⁺ 2026-01-22 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ข้ออ้างที่ว่า IPv4 ปลอดภัยกว่าเพราะใช้ NAT เป็นค่าเริ่มต้น เกิดจาก การสับสนระหว่างความปลอดภัยกับการแปลงที่อยู่
  • NAT (Network Address Translation) ไม่ใช่ฟังก์ชันด้านความปลอดภัย แต่เป็น กลไกประหยัดที่อยู่ เพื่อแก้ปัญหาการขาดแคลนที่อยู่ IPv4
  • การทำงานของ NAT เป็นเพียงการทำให้อุปกรณ์หลายเครื่องแชร์ public IP เดียวกันโดยอาศัยการแมปพอร์ต
  • ในความเป็นจริง หน้าที่บล็อกทราฟฟิกจากภายนอกไม่ใช่ NAT แต่คือ stateful firewall
  • แม้ในสภาพแวดล้อม IPv6 โดยพื้นฐานแล้ว ไฟร์วอลล์จะบล็อกทราฟฟิกที่ไม่ได้รับอนุญาต ดังนั้นการไม่มี NAT จึงไม่ได้หมายความว่าความปลอดภัยจะลดลง

ความสับสนระหว่าง NAT กับความปลอดภัย

  • ข้ออ้างที่ว่า IPv4 ปลอดภัยกว่าเพราะใช้ NAT เป็น ความเข้าใจที่ไม่ถูกต้อง
    • NAT ไม่ใช่ฟังก์ชันด้านความปลอดภัย แต่เป็นเทคโนโลยีเพื่อ การประหยัดที่อยู่ (address conservation)
    • ใน IPv6 ก็สามารถใช้ NAT ได้เช่นกัน แต่ไม่ได้ช่วยเพิ่มความปลอดภัย
  • NAT ทำให้อุปกรณ์หลายเครื่องในเครือข่ายภายใน แชร์ public IP address เดียวกัน
    • ทำการเราต์โดย เขียน destination IP ใหม่ (rewrite) ตาม destination port ของแพ็กเก็ต
    • ทำงานตามกฎ port mapping หรือ port forwarding ที่ผู้ดูแลเครือข่ายตั้งค่าไว้

วิธีการทำงานจริงของ NAT

  • ในสภาพแวดล้อมที่ใช้ NAT ทราฟฟิกที่เข้ามาจากภายนอกจะไม่ถูกส่งต่อไปยังอุปกรณ์ภายใน หากมี destination port ที่ไม่ตรงกับที่คาดไว้
    • ทราฟฟิกดังกล่าวจะค้างอยู่ที่อุปกรณ์ที่มี public IP และจะไม่ถูกเราต์เข้าเครือข่ายภายใน
  • ด้วยเหตุนี้ NAT จึงดูเหมือนบล็อกการเข้าถึงจากภายนอก แต่จริง ๆ แล้วเป็นเพียง ผลข้างเคียง ไม่ใช่เป้าหมายด้านการออกแบบเพื่อความปลอดภัย

บทบาทของไฟร์วอลล์

  • ผลด้านความปลอดภัยที่มักเข้าใจผิดว่า NAT เป็นผู้ให้ แท้จริงแล้วมาจาก stateful firewall
    • เราเตอร์สมัยใหม่ส่วนใหญ่มีนโยบายไฟร์วอลล์ที่ บล็อกทราฟฟิกขาเข้าเป็นค่าเริ่มต้น ไม่ว่าจะใช้ NAT หรือไม่ก็ตาม
    • ไฟร์วอลล์จะ ทิ้ง (drop) ทราฟฟิกปลายทางที่ไม่คาดหมายก่อนที่จะมีการเขียนแพ็กเก็ตใหม่หรือทำการเราต์
  • ตัวอย่างเช่น กฎไฟร์วอลล์ IPv6 เริ่มต้นของ เราเตอร์ UniFi มีดังนี้
    • อนุญาตทราฟฟิก Established/Related (ทราฟฟิกตอบกลับขาออก)
    • บล็อกทราฟฟิก Invalid
    • บล็อกทราฟฟิกอื่นทั้งหมด

ความปลอดภัยในสภาพแวดล้อม IPv6

  • แม้ในเครือข่าย IPv6 กฎไฟร์วอลล์พื้นฐานจะบล็อกทราฟฟิกขาเข้าที่ไม่ได้รับอนุญาต
    • จึงได้รับการปกป้องในระดับเดียวกันแม้จะไม่ใช้ NAT
  • หากต้องการ อนุญาตทราฟฟิกที่ไม่ได้ถูกร้องขอ จากภายนอกเข้าสู่อุปกรณ์ IPv6 จะต้องเพิ่มกฎไฟร์วอลล์อย่างชัดเจน
    • เรื่องนี้ใช้เหมือนกันไม่ว่าจะใช้ NAT หรือไม่ก็ตาม

สรุป

  • ข้ออ้างที่ว่า IPv6 ปลอดภัยน้อยลงเพราะไม่ใช้ NAT นั้น ไม่มีมูลความจริง
  • ความปลอดภัยที่แท้จริงถูกกำหนดโดย นโยบายไฟร์วอลล์และกฎการควบคุมทราฟฟิก ไม่ใช่ NAT
  • แม้ในสภาพแวดล้อม IPv6 ก็ยังคงรักษากลยุทธ์ความปลอดภัยแบบ default-deny ได้ด้วยการตั้งค่าไฟร์วอลล์ที่เหมาะสม

1 ความคิดเห็น

 
GN⁺ 2026-01-22
ความคิดเห็นจาก Hacker News
  • แนะนำให้อ่าน RFC 4787 section 5 ก่อนเข้าร่วมการถกเถียง
    แม้ NAT จะ ไม่ใช่ไฟร์วอลล์ แต่ก็มีการกรองทราฟฟิก และด้วยเหตุนี้จึงให้ คุณสมบัติด้านความปลอดภัย ได้ในระดับหนึ่ง
    ในโลกความเป็นจริง NAT ได้พัฒนาจนเกินกว่าการแปลงที่อยู่อย่างเดียว และแม้ IPv6 จะไม่ใช้ NAT ก็สามารถใช้ไฟร์วอลล์เพื่อทำการกรองแบบเดียวกันได้

    • RFC 4787 ไม่เหมือนกับการใช้งานจริง เราเตอร์ SOHO ส่วนใหญ่ใช้ Linux ดังนั้นการคุยถึงพฤติกรรมของ NAT ที่อิงกับ netfilter จึงสมจริงกว่า
      Linux netfilter รองรับทั้ง NAT และไฟร์วอลล์ โดยกฎ DNAT/SNAT ในตาราง nat ทำหน้าที่เป็น NAT และกฎ REJECT/DROP ในตาราง filter ทำหน้าที่เป็นไฟร์วอลล์
      หากใช้เฉพาะกฎ NAT ทราฟฟิกที่ไม่ได้อยู่ในคอนเนกชันเดิมก็จะผ่านเข้าไปได้ตามปกติ
    • section นั้นของ RFC 4787 เป็นคำอธิบายเกี่ยวกับ การเชื่อมต่อขาออก
      กล่าวถึงกระบวนการที่ NAT สร้าง state table เมื่อมีการเชื่อมต่อออกไปภายนอก และอนุญาตแพ็กเก็ตขาเข้าที่สอดคล้องกัน
      กล่าวคือ “filtering” ในเอกสารนี้ไม่ได้หมายถึงการเชื่อมต่อขาเข้าที่ไม่ได้ร้องขอ
    • แม้ IPv6 จะไม่มี NAT ก็ไม่ได้ปลอดภัยน้อยกว่า แต่ ค่าเริ่มต้น (defaults) สำคัญมาก
      IPv6 สามารถปลอดภัยได้เท่ากับ IPv4 แต่ก็ขึ้นอยู่กับการตั้งค่า
    • จากประสบการณ์ทำงาน IT 30 ปี สภาพแวดล้อม NAT กระตุ้นให้เกิด การออกแบบแบบขี้เกียจ
      การที่วิศวกรระบบและแอปพลิเคชันไม่เข้าใจปัญหาแบบองค์รวม และพึ่ง NAT กับไฟร์วอลล์ที่ขอบเครือข่าย เป็นนิสัยด้านความปลอดภัยที่ไม่ดี
    • RFC ไม่ได้เป็นมาตรฐานสูงสุดเสมอไป
      โดยเฉพาะเมื่อห่างจากการใช้งานจริงมากขึ้น ความน่าเชื่อถือของ RFC ก็ลดลง
  • ในเครือข่ายมือถือของสหรัฐฯ มีการใช้ที่อยู่ IPv6 โดยไม่ต้องมี NAT
    ตัวอย่างเช่น T-Mobile ใช้ 464XLAT เพื่อทำ tunnel IPv4 บน IPv6
    สิ่งนี้แสดงให้เห็นว่าสามารถใช้งาน stateful firewall ในระดับใหญ่ได้แม้ไม่มี NAT

    • ในเครือข่าย Elisa ของฟินแลนด์ การเชื่อมต่อ TCP ขาเข้าบน IPv6 ใช้งานได้ดี
      ทดสอบด้วย Termux และ netcat โดย IPv4 อยู่หลัง CGNAT แต่ IPv6 เชื่อมต่อได้โดยตรง
    • สงสัยว่า “เหตุใดจึงไม่ยอมให้สมาร์ตโฟนทำงานเป็นเซิร์ฟเวอร์”
    • มองว่าการที่อุปกรณ์ส่วนบุคคลควรสามารถให้บริการข้อมูลได้โดยตรงเป็น สิทธิ์ตามธรรมชาติ
      ถ้าความจุของเครือข่ายไม่พอ ก็ควรแก้ปัญหานั้น
      เมื่อ IPv6 แพร่หลาย ผู้คนจะมองว่าการสื่อสารกันโดยตรงเป็นเรื่องปกติ
    • สงสัยว่าเมื่อใช้ hotspot แล้ว PC ฝั่งไคลเอนต์จะได้รับ IPv6 address เดียวกัน หรือไม่
    • อุปกรณ์พกพาถูกจำกัดด้วย สภาพแวดล้อมแบบ sandbox
  • สิ่งแรกที่ได้เรียนรู้ในฐานะวิศวกรเครือข่ายคือความสัมพันธ์ระหว่าง NAT กับความปลอดภัย
    ที่อยู่ private ของ IPv4 (192.168.0.1) เข้าถึงจากภายนอกได้ยาก แต่ ที่อยู่ global ของ IPv6 อาจเปิดเผยข้อมูลของอุปกรณ์ได้
    IPv6 มีทางเลือกอย่าง Prefix Translation ที่ช่วยคงข้อดีบางส่วนของ NAT ไว้พร้อมกับยังเข้าถึงได้อย่างโปร่งใส

    • การเปรียบเทียบที่อยู่ private ของ IPv4 กับที่อยู่ global ของ IPv6 นั้นไม่ยุติธรรม
      ต้องเทียบให้ตรงกันว่าเป็นที่อยู่ภายในหรือภายนอกทั้งคู่จึงจะยุติธรรม
      ในสภาพแวดล้อม CGNAT การเชื่อมต่อขาเข้าเป็นไปไม่ได้ ดังนั้นใน IPv6 ก็สามารถจำกัดแบบเดียวกันได้
    • ต่อให้ที่อยู่ภายในรั่วไหล จุดที่ถูกโจมตีจริงคือ ไฟร์วอลล์ที่ขอบอินเทอร์เน็ต
      จะซ่อน prefix ด้วย NAT66 ก็ได้ แต่ประโยชน์ด้านความปลอดภัยจริง ๆ ไม่มาก
    • 192.168.0.1 เข้าถึงได้ง่ายเกินไป (พูดแบบติดตลก)
    • NAT66 เป็น “ความชั่วร้ายที่จำเป็น” แต่ในบางสถานการณ์ก็อาจเป็นตัวเลือกที่ดีที่สุด
  • แฮ็กเกอร์จำนวนมากสับสนระหว่าง NAT กับไฟร์วอลล์
    NAT ไม่ได้มีไว้เพื่อความปลอดภัย และไฟร์วอลล์ต่างหากที่ให้ความปลอดภัย

    • เข้าใจความแตกต่างระหว่าง NAT กับไฟร์วอลล์ แต่ในโลกจริงทั้งสองอย่างทำงานร่วมกัน
      NAT คือ namespacing ส่วนไฟร์วอลล์คือ ความปลอดภัยตามนโยบาย
      ตัว namespacing เองก็มีคุณสมบัติด้านความปลอดภัยที่ทรงพลัง เพราะทำให้ผู้โจมตี “ไม่รู้แม้แต่ชื่อ” ของทรัพยากร
      ไฟร์วอลล์ IPv6 อาจเปิดเผยสู่ทั้งโลกได้ด้วยกฎที่ผิดเพียงบรรทัดเดียว
    • NAT บล็อกการเข้าถึงจากภายนอก จึงมี ผลด้านความปลอดภัยในทางปฏิบัติ
      ต่อให้ไม่มีไฟร์วอลล์ NAT เพียงอย่างเดียวก็สามารถปกป้องทรัพยากรภายในได้
      NAT ช่วยลดพื้นผิวการโจมตีของเครือข่ายในบ้านให้เหลือเพียงเราเตอร์ตัวเดียว
    • NAT ให้พฤติกรรมที่ผู้ใช้ส่วนใหญ่ต้องการเป็น ค่าเริ่มต้น
      ขณะที่ไฟร์วอลล์อาจมีค่าเริ่มต้นต่างกัน ทำให้ IPv6 ถูกมองว่าเป็นการถอยหลังด้านความปลอดภัยสำหรับผู้ใช้ทั่วไป
    • NAT สำหรับผู้บริโภคมีพฤติกรรมแทบไม่ต่างจาก ไฟร์วอลล์แบบบล็อกโดยค่าเริ่มต้น
      การอ้างว่า UPnP ทำลายความปลอดภัยของ NAT ก็เหมือนกับการบอกว่า PCP ทำลายไฟร์วอลล์
    • symmetric NAT หรือ CGNAT ไม่ใช่ไฟร์วอลล์ แต่ในทางปฏิบัติก็ให้ผลคล้ายกัน
  • ต่อข้ออ้างที่ว่าคุณสมบัติบล็อกโดยค่าเริ่มต้นของ NAT คือข้อได้เปรียบด้านความปลอดภัยของ IPv4
    กฎบล็อกโดยค่าเริ่มต้นของ IPv6 ก็ให้ระดับความปลอดภัยเดียวกัน ดังนั้นจึงไม่มี ความต่างด้านความปลอดภัยเชิงโครงสร้าง

    • แนวคิดเรื่อง “ความปลอดภัยโดยเนื้อแท้” ไม่มีความหมาย
      IPv4 NAT และกฎบล็อกโดยค่าเริ่มต้นของ IPv6 รักษาเงื่อนไขคงที่แบบเดียวกัน
      ทั้งคู่สามารถเปราะบางได้เหมือนกันหากตั้งค่าผิด
  • เคยชะล่าใจเพราะคิดว่ามี NAT แล้ว แต่สุดท้าย SBC ถูกแฮ็กเพราะ ไม่ได้ตั้งค่าไฟร์วอลล์ IPv6
    สาเหตุไม่ใช่ NAT แต่เป็นความผิดพลาดในการตั้งค่า IPv6

    • พื้นที่ที่อยู่ IPv6 ใหญ่มากจนสแกนทั้งช่วงไม่ได้ จึงสงสัยว่าผู้โจมตีรู้ที่อยู่ได้อย่างไร
    • เป็น ความผิดพลาดที่น่าอายพอสมควร
  • NAT เองก็สร้างปัญหาด้านความปลอดภัยได้เช่นกัน
    เกิด reflection attack หรือความยากในการติดตามจากการแยก address กับ endpoint
    ในอดีต AOL เคยมีกรณีที่ใช้ egress address ร่วมกันเพียงไม่กี่ตัว ทำให้บล็อกผู้ใช้บางรายได้ยาก

    • ตาม RFC 1631 มีการระบุว่า NAT “ลดทางเลือกในการให้ความปลอดภัย”
      แต่เมื่อเวลาผ่านไป NAT กลับถูกมองเหมือน ความเชื่อด้านความปลอดภัยแบบ cargo cult
  • ผลของ NAT แตกต่างกันไปตามการตั้งค่าของ ISP และเราเตอร์
    NAT ไม่ได้ถูกออกแบบมาเป็นฟีเจอร์ด้านความปลอดภัย แต่ให้ ผลด้านความปลอดภัยโดยอ้อม
    ใน IPv6 เมื่อแต่ละอุปกรณ์ได้รับที่อยู่โดยตรง ก็จำเป็นต้องมีไฟร์วอลล์แบบบล็อกโดยค่าเริ่มต้น

    • เราเตอร์ส่วนใหญ่ใช้การบล็อกโดยค่าเริ่มต้นใน IPv6 เช่นกัน แต่ฟีเจอร์ส่งต่อพอร์ตอัตโนมัติอย่าง UPnP อาจลบล้างสิ่งนี้ได้
      ลิงก์สเปก UPnP
    • ใน IPv6 การบล็อกขาเข้าก็ทำงานเหมือนกับ IPv4
    • หากปิด NAT แล้วก็ยังเข้าถึงไม่ได้เหมือนเดิม สาเหตุอาจไม่ใช่ตัว NAT เอง แต่เป็น การตั้งค่า routing
    • กรณีที่ใช้ IPv6 NAT พบไม่บ่อย และการทำ NAT กับที่อยู่ fc00::/7 ก็เป็นกรณีที่ค่อนข้างแปลก
    • การที่ ISP ให้ IPv6 address มาเพียงที่อยู่เดียวถือเป็น การตั้งค่าที่ผิดปกติ อย่างน้อยควรให้ /56
  • ต่อความเห็นที่ว่าคนที่ยืนยันว่า NAT คือพื้นฐานของความปลอดภัยเป็นคนที่ไม่รู้เรื่องเครือข่าย

    • มีคนแย้งว่า “นั่นเป็นการเหมารวมเกินไป” โดยบอกว่า NAT อาจไม่ใช่ความปลอดภัย แต่ก็ไม่ควรถูกมองข้ามไปเสียทั้งหมด
    • เจ้าตัวบอกว่าตนเองเป็นผู้เชี่ยวชาญ IPv6 และมีประสบการณ์ใช้งานจริงมาตั้งแต่ปี 2008
      พร้อมแชร์กรณีที่ ปัญหาการสะสมของ privacy address ทำให้ SIP server ล้มเหลว
      การถกเถียงที่เกี่ยวข้องใน เธรด Reddit VOIP ก็ยังคงใช้ได้อยู่
  • ต่อข้ออ้างที่ว่า NAT ไม่ได้ทิ้งทราฟฟิกขาเข้า
    NAT ทำเพียงแค่แปลงที่อยู่ และ ไม่ได้ทิ้งแพ็กเก็ต

    • แต่ขึ้นอยู่กับการตั้งค่าเราเตอร์ มักมีการ บล็อกอย่างชัดเจน ทราฟฟิกที่เข้ามาจาก egress interface
    • แม้ NAT จะไม่ทิ้งแพ็กเก็ต แต่หาก destination IP เป็นตัวเราเตอร์เอง สุดท้ายก็จะ ไม่ถูก route
      และมีการบอกว่าได้แก้ไขบทความให้สะท้อนข้อเสนอแนะนี้แล้ว