จะเกิดอะไรขึ้นเมื่อ TTL ของคุณเข้าสู่การบันทึก DNS


13

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

(และคุณค้นพบว่ามันสายเกินไป)


10
ผู้ดูแลได้ถูกไล่ออก
ซาเวียร์ลูคัส

5
เพียงบันทึกสั้น: ค่า TTL สูงสุดคือ 2 ^ 31-1 ซึ่งเป็นเพียงน้อยกว่า 68 ปี :) ดูRFC 2181
สเวน

คำตอบ:


21

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

บริษัท จะทำอย่างไรเมื่อ TTL ที่ไม่ดีทำให้มันกลายเป็นเรื่องธรรมดา?

คุณมีตัวเลือกน้อยที่นี่ ก่อนอื่นคุณต้องระบุ vector ของปัญหาและกำจัดมัน การพยายามเก็บความเสียหายนั้นไม่มีจุดหมายเมื่อคุณไม่สามารถควบคุมปัญหาที่เกิดขึ้นซ้ำได้

  1. รอ. หากไม่ใช่บันทึกที่สำคัญคุณอาจรอได้ ดังที่ Ryan ได้กล่าวถึง "ความเสียหายสูงสุด" ไม่ใช่ 68 ปี แต่ในทางปฏิบัติมักจะเป็น 7 วัน นี่เป็นค่าเริ่มต้นทั่วไปสำหรับอายุการใช้งานสูงสุดของรายการแคชบวก (BIND, JunOS ฯลฯ ) แม้ในกรณีที่สิ่งนี้ไม่ถูกต้องใครก็หวังว่าเซิร์ฟเวอร์จะได้รับการอัพเดทความปลอดภัยประจำที่บังคับให้รีสตาร์ทกระบวนการ การพูดเป็นโอเปอเรเตอร์ของกลุ่มขนาดใหญ่หลายแห่งฉันไม่คิดว่ามันเป็นไปได้ที่ MSO จะตั้งค่านี้ให้มีขนาดใหญ่ขึ้นตามวัตถุประสงค์: มันทำหน้าที่สร้างแบบสอบถามภายนอกเพิ่มเติมเท่านั้น (ซึ่งเราเกลียด) คุณอาจต้องไปยังขั้นตอนถัดไปสำหรับ บริษัท ที่ใช้ซอฟต์แวร์ที่ได้รับความนิยมน้อยหรือผู้ให้บริการที่เกลียดชังตนเอง
  2. รบกวนผู้ให้บริการแคช DNS หากคุณต้องการลบเรคคอร์ดจากแคชโดยเร็วตัวเลือกเดียวที่แท้จริงของคุณคือการเริ่มต้นเข้าถึงผู้ให้บริการที่ใหญ่ที่สุดของ DNS แบบเรียกซ้ำที่คุณสามารถนึกถึงและลงมือทำ บริษัท เหล่านี้บางแห่งมีแนวโน้มที่จะเพิกเฉยต่อคุณไม่ว่าพวกเขาคิดว่า บริษัท ของคุณมีขนาดเล็กเกินไปสำหรับลูกค้าที่จะใส่ใจหรือพวกเขากำหนดนโยบายการล้างแคชของตนเองเพื่อลดจำนวนการโทรสนับสนุนที่พวกเขาต้องจัดการ ในกรณีหลังพวกเขาอาจจะยักและปล่อยให้ปัญหาดูแลตัวเองในเวลาที่กำหนด บริษัท ของคุณสร้างปัญหานี้ขึ้นมาเพื่อตนเอง
  3. รับลูกค้า ISP เพื่อรบกวน ISP ของคุณ หากไม่กี่วันที่ผ่านมาและผู้ให้บริการอินเทอร์เน็ตรายใหญ่ไม่สนใจบันทึกที่เก็บไว้ให้ลองขอให้ลูกค้ารายหนึ่งร้องเรียนและสร้างตั๋วภายในให้กับ บริษัท นั้น นี่เป็นเรื่องยากสำหรับพวกเขาที่จะเพิกเฉย แต่มันจะไม่ชนะความโปรดปรานใด ๆ กับทีม ops ของพวกเขาเนื่องจากจากมุมมองของพวกเขาที่คุณทำเช่นนี้กับตัวเอง หากนี่เป็นเหตุการณ์ที่เกิดขึ้นซ้ำ ๆ พวกเขาอาจจะเริ่มยกเลิกตั๋วเหล่านี้เพื่อหลอกคุณ
  4. แนะนำคู่ค้าของคุณให้เลี่ยงผ่านระเบียน DNS หากเป็นระเบียน DNS ที่มีความสำคัญต่อการใช้งานโดยคู่ค้าของคุณและไม่มีตัวเลือกใด ๆ ข้างต้นเป็นที่ยอมรับ (เช่นคุณมีรายได้ไม่ถึงนาที) บริษัท ของคุณไม่มีทางเลือกนอกจากต้องทำงานร่วมกับคู่ค้าเพื่อเลี่ยงปัญหา หากพวกเขาไม่ได้ควบคุมแคชในเครื่องของพวกเขาสิ่งนี้มักจะเกิดขึ้นได้ด้วยการแทรกรายการลงในตารางโฮสต์ของระบบที่ได้รับผลกระทบเนื่องจากไม่ต้องแก้ไขโปรแกรมที่ใช้ระเบียน DNS นี้เป็นเพียงการทำงานได้หากการสูญเสียรายได้ที่จะเชื่อมโยงกับไม่กี่ บริษัท ที่เลือกบริโภคข้อมูล ในกรณีอื่น ๆ คุณติดอยู่กับสามตัวเลือกแรก

3
เป็นตัวอย่างสำหรับตัวเลือก 2, Google Public DNS มีหน้านี้เพื่อล้างแคช
Bardi Harbourow

16

ก่อนอื่นคู่มือการกำหนดค่า Bind ฉันกำลังดูสถานะที่ TTL เป็นจำนวนเต็ม 32 บิตที่ถูกเซ็นชื่อซึ่งแสดงในไม่กี่วินาที มันบอกว่า

TTL ที่ถูกต้องอยู่ในช่วง 0-2147483647 วินาที

หรือประมาณ 68 ปี ดังนั้นคุณอาจไม่สามารถตั้งค่าเป็น 100 ปีตั้งแต่แรก

สมมุติว่าคุณตั้งไว้ที่ 68 ปี มันค่อนข้างชัดเจนว่าจะเกิดอะไรขึ้น ตัวแก้ไข DNS ที่เคารพ TTL ที่ยาวมาก ๆ ในระเบียน DNS ของคุณจะทำการแคชไว้นานเท่าที่จะทำได้ ตัวแก้ไข DNS บางตัวไม่เคารพ TTL เลยและใช้นโยบายแคชของตัวเองอย่างไรก็ตามพวกเขาต้องการ

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


นั่นหมายความว่าเมื่อมีคนแฮ็คการควบคุม DNS ของ บริษัท X วางไว้ใน 68 ปีและส่งต่อ IP ไปสู่ ​​pornhub เขาได้ทำลายชื่อโดเมน 'ตลอดกาล' จริงหรือ : X
Dirk Boer

11
สมมติว่าคุณได้แก้ไขปัญหาแล้วไม่น่าเป็นไปได้ที่เซิร์ฟเวอร์ DNS แบบดาวน์สตรีมจะใช้เวลา 68 ปีโดยที่ไม่มีการล้างแคชเช่นการรีบูตเครื่อง มีความเป็นไปได้ที่ตัวแก้ไข DNS แบบดาวน์สตรีมจะใช้แนวคิดของตนเอง "MAXTTL" ที่ให้ขีด จำกัด ที่เหมาะสมกว่าสำหรับ TTL ที่ได้รับเช่น 3 วันแทนที่จะเป็น 68 ปี อ่าน RFC 2308 เป็นตัวอย่างของสิ่งที่ฉันพูดถึง
Ryan Ries

4
เกี่ยวกับ BIND โดยเฉพาะมันมีค่า จำกัด เริ่มต้น 7 วัน max-cache-ttl: "ตั้งเวลาสูงสุดที่เซิร์ฟเวอร์จะแคชคำตอบธรรมดา (บวก) ค่าเริ่มต้นคือหนึ่งสัปดาห์ (7 วัน)"
Håkan Lindqvist
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.