Computer >> คอมพิวเตอร์ >  >> ระบบเครือข่าย >> อินเทอร์เน็ต

สิ่งที่คุณต้องรู้เกี่ยวกับ DNS

การค้นหา DNS คืออะไร

Domain Name System Lookup หรือเรียกสั้นๆ ว่า DNS คือสิ่งที่เกิดขึ้นในช่วงเวลาระหว่างผู้ที่พิมพ์ URL ลงในแถบค้นหาและหน้าที่โหลด ในทางเทคนิค เป็นกระบวนการที่แปล URL (เช่น www.google.com) เป็นที่อยู่ IP

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

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

ด้วยขนาดของอินเทอร์เน็ต คอมพิวเตอร์จึงไม่สามารถเก็บที่อยู่ IP ทั้งหมดไว้ในหน่วยความจำได้ การพิมพ์ www.google.com ลงในเบราว์เซอร์เป็นการบอกให้คอมพิวเตอร์ค้นหาที่อยู่ IP ของเว็บไซต์แทน

สิ่งที่คุณต้องรู้เกี่ยวกับ DNS

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

ขั้นตอนที่ 1  (ขั้นตอนที่สอดคล้องกับตัวเลขแผนภาพด้านบน): ถัดไป คอมพิวเตอร์จะถามเนมเซิร์ฟเวอร์แบบเรียกซ้ำในเครื่องของ ISP ISP คือผู้ให้บริการอินเทอร์เน็ต เช่น Time Warner Cable, Spectrum, Verizon ฯลฯ เนมเซิร์ฟเวอร์ฟังดูซับซ้อน แต่เป็นเพียงซอฟต์แวร์เซิร์ฟเวอร์ที่ออกแบบมาเพื่อตอบคำขอ DNS (เช่น "ที่อยู่ IP สำหรับ www.google คืออะไร" คอม?”)

เนมเซิร์ฟเวอร์ใดๆ สามารถตอบคำถามนี้ได้ โดยการตอบกลับด้วยที่อยู่ IP (หากรู้) หรือตอบว่าไม่ทราบและบอกเซิร์ฟเวอร์ที่ร้องขอให้ถามเซิร์ฟเวอร์อื่น เนมเซิร์ฟเวอร์แบบเรียกซ้ำนั้นแตกต่างกันเพราะหากไม่ทราบคำตอบของคำถาม มันจะทำงานเพื่อค้นหาคำตอบ แทนที่จะเพียงกำหนดทิศทางของคำถามใหม่ ไม่ใช่เนมเซิร์ฟเวอร์ทั้งหมดที่มีการเรียกซ้ำ

ขั้นตอนที่ 2: เนมเซิร์ฟเวอร์แบบเรียกซ้ำจะตรวจสอบแคชก่อน หากไม่มีที่อยู่ IP ระบบจะถามเนมเซิร์ฟเวอร์รูท (เนมเซิร์ฟเวอร์รูทไม่ทราบที่อยู่ IP แต่สามารถอ่านคำขอและบอกเนมเซิร์ฟเวอร์แบบเรียกซ้ำว่าจะไปที่ใดต่อไป) เนมเซิร์ฟเวอร์แบบเรียกซ้ำทั้งหมดมาพร้อมกับที่อยู่ IP ของเซิร์ฟเวอร์ชื่อรูท 13 รายการซึ่งกำหนดค่าไว้ล่วงหน้า เนมเซิร์ฟเวอร์แบบเรียกซ้ำจะเลือกหนึ่งรายการและถามคำถามเดียวกัน (“ที่อยู่ IP สำหรับ www.google.com คืออะไร”)

ขั้นตอนที่ 3: เนมเซิร์ฟเวอร์รูทจะอ่านโดเมนระดับบนสุด (ส่วนท้ายของคำขอ) ในกรณีนี้คือ .com (www.google.com) และจะบอกเนมเซิร์ฟเวอร์แบบเรียกซ้ำให้ถามเซิร์ฟเวอร์โดเมนระดับบนสุดสากล (GTLD) GTLD เป็นรายการอ้างอิงสำหรับโดเมนแต่ละประเภท — .com, .net., .edu เป็นต้น แม้ว่าพวกเขาจะไม่ทราบที่อยู่ IP ของเว็บไซต์ แต่ก็รู้ว่าเนมเซิร์ฟเวอร์ใดจะมีข้อมูลนั้น

ขั้นตอนที่ 4: เนมเซิร์ฟเวอร์แบบเรียกซ้ำจะถามเนมเซิร์ฟเวอร์ GTLD สำหรับที่อยู่ IP ของ www.google.com

ขั้นตอนที่ 5: เนมเซิร์ฟเวอร์ GTLD จะอ่านส่วนถัดไปของคำขอของคุณ โดยอ่านจากขวาไปซ้าย (ในกรณีนี้คือ "google" ของ www.google.com) และจะส่งข้อความกลับไปพร้อมกับเนมเซิร์ฟเวอร์ที่เชื่อถือได้เพื่อติดต่อกลับ เนมเซิร์ฟเวอร์ที่เชื่อถือได้คือเนมเซิร์ฟเวอร์ที่รับผิดชอบโดเมน (และเป็นแหล่งข้อมูลหลัก)

ขั้นตอนที่ 6: เนมเซิร์ฟเวอร์แบบเรียกซ้ำจะถามคำถามเดียวกันกับเนมเซิร์ฟเวอร์ที่เชื่อถือได้ (“ที่อยู่ IP สำหรับ www.google.com คืออะไร”) ในทางเทคนิค เซิร์ฟเวอร์กำลังขอ Address Record (A) ซึ่งเป็นวิธีที่เซิร์ฟเวอร์อ้างถึงที่อยู่ IP

ขั้นตอนที่ 7: เซิฟเวอร์นี้มีคำตอบ! มันจะส่งที่อยู่ IP กลับไปยังเนมเซิร์ฟเวอร์แบบเรียกซ้ำ ตั้งค่าสถานะเพื่อให้เนมเซิร์ฟเวอร์แบบเรียกซ้ำรู้ว่าคำตอบนั้นเชื่อถือได้ เนมเซิร์ฟเวอร์แบบเรียกซ้ำจะบันทึกที่อยู่ IP ไว้ในแคชในกรณีที่มีคนพยายามเข้าถึงเว็บไซต์เดียวกันในไม่ช้า แต่ละรายการในแคชจะถูกแท็กด้วย "time to live" ซึ่งบอกเซิร์ฟเวอร์ว่าต้องเก็บข้อมูลไว้นานแค่ไหนก่อนที่จะลบออก

ขั้นตอนที่ 8: เนมเซิร์ฟเวอร์แบบเรียกซ้ำจะบอกคอมพิวเตอร์ของคุณว่าที่อยู่ IP คืออะไร (คราวนี้ไม่ได้ติดแท็กว่ามีสิทธิ์ เนื่องจากไม่ใช่แหล่งข้อมูลหลัก มันเป็นเพียงการส่งต่อข้อมูลเท่านั้น

ขั้นตอนที่ 9: คอมพิวเตอร์ของคุณส่งคำขอ www.google.com ไปยังที่อยู่ IP ที่เพิ่งได้รับ

ขั้นตอนที่ 10: เว็บเซิร์ฟเวอร์ตามที่อยู่นี้จะส่งคืนหน้าแรกของ Google และหน้าเว็บโหลดขึ้น

กระบวนการทั้งหมดนี้ใช้เวลาเพียงไม่กี่มิลลิวินาทีจึงจะเสร็จสมบูรณ์และเกิดขึ้นหลายล้านล้านครั้งต่อวัน

DNS มีผลกระทบต่อผู้ใช้อย่างไร

เนื่องจาก DNS เป็นส่วนสำคัญของการทำงานของอินเทอร์เน็ต จึงเป็นเป้าหมายที่สำคัญสำหรับแฮกเกอร์ ปัญหารากของ DNS เหมือนกับปัญหาด้านความปลอดภัยส่วนใหญ่ที่เราประสบกับเทคโนโลยีในปัจจุบัน อินเทอร์เน็ตและเทคโนโลยีส่วนใหญ่ที่เราใช้ในปัจจุบันได้รับการออกแบบมาสำหรับนักวิจัยกลุ่มเล็ก ๆ และเมื่อเวลาผ่านไปขยายไปสู่ระบบที่คนทั้งโลกใช้ DNS (และ HTTP และโปรโตคอลส่วนใหญ่ที่เราใช้) ไม่ได้ออกแบบมาโดยคำนึงถึงความปลอดภัย ตอนนี้ เราต้องเพิ่มการแก้ไขสำหรับปัญหาด้านความปลอดภัยต่างๆ น่าเสียดายที่การรักษาความปลอดภัยแบบปิดในตอนท้ายไม่ได้ผลเท่ากับการรักษาความปลอดภัยที่รวมอยู่ในการพัฒนา

ปัญหาหนึ่งที่ทำให้เกิด DNS คือไม่มีการตรวจสอบความถูกต้องของเนมเซิร์ฟเวอร์เมื่อได้รับการตอบกลับ ดังนั้น แฮ็กเกอร์สามารถส่งการตอบกลับที่เป็นอันตรายไปยังแบบสอบถาม DNS ของคอมพิวเตอร์ และหลอกให้คอมพิวเตอร์คิดว่าเป็นการตอบสนองที่แท้จริงจากเซิร์ฟเวอร์ชื่อ DNS กล่าวอีกนัยหนึ่งเมื่อคอมพิวเตอร์ถามว่า "ที่อยู่ IP สำหรับ www.chase.com คืออะไร" แฮ็กเกอร์จะตอบสนอง (ก่อนที่เซิร์ฟเวอร์ DNS จะสามารถทำได้) ด้วยที่อยู่ IP สำหรับไซต์ที่เป็นอันตรายของแฮ็กเกอร์ เมื่อเว็บไซต์โหลดขึ้นมา ดูเหมือนว่าเว็บไซต์ Chase.com แต่จริงๆ แล้วถูกควบคุมโดยแฮ็กเกอร์

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

ในปี 2559 การโจมตี DNS ได้ทำลายส่วนสำคัญของอินเทอร์เน็ตสำหรับชายฝั่งตะวันออกส่วนใหญ่ของสหรัฐอเมริกาเป็นเวลาเกือบหนึ่งวันเกือบหนึ่งวัน ในกรณีนี้ การหยุดทำงานเกิดจากการโจมตี DDoS การโจมตี DDoS เป็นการโจมตีแบบกระจายการปฏิเสธการให้บริการ ซึ่งเครื่องหลายพันเครื่องทั่วอินเทอร์เน็ตโจมตีระบบในเวลาเดียวกัน โดยทั่วไปแล้ว เครื่องเหล่านี้เป็นเครื่องที่ติดมัลแวร์โดยที่เจ้าของไม่ทราบ และแฮ็กเกอร์รายหนึ่งหรือกลุ่มแฮกเกอร์กำลังควบคุมเครื่องทั้งหมด เครื่องเหล่านี้เรียกว่า 'บ็อตเน็ต' เมื่อใช้ร่วมกัน

บ็อตเน็ตส่งคำขอ DNS ไปยังเซิร์ฟเวอร์เหยื่อ และจำนวนคำขอที่ส่งก็ล้นระบบ ทำให้เซิร์ฟเวอร์ไม่สามารถจัดการการรับส่งข้อมูลที่ถูกต้องตามกฎหมายที่ได้รับ ดังนั้น ในขณะที่แฮกเกอร์กำลังโจมตีเซิร์ฟเวอร์ DNS และคอมพิวเตอร์พยายามขอที่อยู่ IP เซิร์ฟเวอร์ก็ไม่สามารถตอบสนองได้ ดังนั้นคอมพิวเตอร์จึงไม่สามารถเข้าถึงไซต์ที่เซิร์ฟเวอร์ควบคุม (หรือได้รับอนุญาต) จนกว่าการโจมตีจะหยุดลง

การโจมตีนี้สามารถบรรเทาได้ด้วยเซิร์ฟเวอร์การจัดสรรเกินเพื่อจัดการกับความต้องการที่มากเกินไปหรือมีไฟร์วอลล์ DNS

วิธีที่กว้างขึ้นในการแก้ไขปัญหาต่างๆ ที่นำเสนอโดย DNS คือ DNSSEC DNSSEC เสริมความแข็งแกร่งให้กับการรับรองความถูกต้องด้วยลายเซ็นดิจิทัลโดยอิงจากการเข้ารหัสคีย์สาธารณะ โดยพื้นฐานแล้วเจ้าของข้อมูลที่ร้องขอจะเซ็นชื่อแบบดิจิทัล เพื่อให้แน่ใจว่าสถานการณ์ข้างต้นจะไม่เกิดขึ้น สิ่งนี้ให้การรับรองความถูกต้องของแหล่งกำเนิดข้อมูล (ข้อมูลจริงมาจากที่ที่ตัวแก้ไขคิดว่ามาจากที่ใด) และการปกป้องความสมบูรณ์ของข้อมูล (ข้อมูลไม่ได้ถูกแก้ไขระหว่างการส่ง)

ขออภัย ในการแก้ไข DNS DNSSEC จำเป็นต้องมีการปรับใช้แบบกว้างๆ จำเป็นต้องเปิดใช้งานโดยเฉพาะโดยผู้ให้บริการเครือข่ายในตัวแก้ไขแบบเรียกซ้ำ และโดยเจ้าของชื่อโดเมนบนเซิร์ฟเวอร์ที่เชื่อถือได้ สิ่งนี้ยังไม่เกิดขึ้น แต่หวังว่าจะเกิดขึ้นเมื่อผู้คนจำนวนมากขึ้นตระหนักถึงปัญหาที่ DNS นำเสนอและสนับสนุนการเปลี่ยนแปลง