DNS (Domain Name System) เป็นวิธีที่มีประวัติยาวนาน โดยสามารถกำหนดชื่อโดเมนให้กับคอมพิวเตอร์ที่มีที่อยู่ IP เพื่อให้คอมพิวเตอร์มีชื่ออักขระได้ เช่น คอมพิวเตอร์ที่มีที่อยู่ IP 207.46.193.254 คือเซิร์ฟเวอร์ Microsoft www. ไมโครซอฟต์คอม DNS ได้รับการออกแบบมาอย่างดีและทำงานได้ดีเกือบตลอดเวลา อย่างไรก็ตาม มีสถานการณ์ที่ไม่น่าพึงพอใจอยู่เสมอ และมันจะเกิดขึ้น ทำให้ผู้ดูแลระบบปวดหัว แล้วจะค้นหาเบาะแสของความล้มเหลวได้อย่างไร? ระบบ DNS ของคุณมีด้านใดบ้างที่ยังไม่ค่อยเหมาะนัก?
มีแบบให้ติดตามมั้ย? คำตอบคือใช่ ต่อไปนี้เป็นบาปเจ็ดประการของเซิร์ฟเวอร์ DNS สำหรับการอ้างอิงของคุณ:
1. ใช้ BIND เวอร์ชันเก่า
Bind เป็นซอฟต์แวร์เซิร์ฟเวอร์ DNS แบบโอเพ่นซอร์ส ปัจจุบันเป็นซอฟต์แวร์เซิร์ฟเวอร์ DNS ที่ใช้กันอย่างแพร่หลายมากที่สุดในโลก BIND เวอร์ชันเก่าเกือบทั้งหมดมีช่องโหว่ร้ายแรงและเป็นที่รู้จัก ผู้โจมตีสามารถใช้ประโยชน์จากช่องโหว่เหล่านี้เพื่อทำลายเซิร์ฟเวอร์ชื่อ DNS ของเราและทำลายโฮสต์ที่เรียกใช้เซิร์ฟเวอร์เหล่านั้น ดังนั้นคุณควรใช้ BIND ล่าสุดและแพตช์ให้ทันเวลา
2. วางเซิร์ฟเวอร์ชื่อโดเมนที่สำคัญทั้งหมดไว้ในซับเน็ตเดียวกัน
ในกรณีนี้ ความล้มเหลวของอุปกรณ์ เช่น สวิตช์หรือเราเตอร์ หรือความล้มเหลวของการเชื่อมต่อเครือข่ายจะป้องกันไม่ให้ผู้ใช้อินเทอร์เน็ตเข้าถึงเว็บไซต์ของคุณหรือส่งอีเมลถึงคุณ
3. อนุญาตให้มีการเรียกซ้ำไปยังผู้สอบถามที่ไม่ได้รับอนุญาต
หากตั้งค่าเป็นสถานการณ์ต่อไปนี้:
(การเรียกซ้ำ ใช่|ไม่ใช่; [ใช่] อนุญาตการเรียกซ้ำ { address_match_list }; |
มันไม่ปลอดภัย ในที่นี้ ตัวเลือกการเรียกซ้ำจะระบุว่ามีการสอบถามชื่อเซิร์ฟเวอร์ชื่อโดเมนอื่นๆ ในนามของไคลเอ็นต์หรือไม่ โดยทั่วไปเนมเซิร์ฟเวอร์ไม่ได้ถูกตั้งค่าให้ปิดการเรียกซ้ำ อย่างน้อยเราควรอนุญาตให้มีการเรียกซ้ำสำหรับไคลเอนต์ของเราเอง แต่ปิดการใช้งานการเรียกซ้ำสำหรับการสืบค้นภายนอก เพราะหากคุณสามารถจัดการการสืบค้นแบบเรียกซ้ำสำหรับไคลเอ็นต์ใดๆ ได้ คุณจะเปิดเผยเนมเซิร์ฟเวอร์เพื่อแคชที่เป็นพิษและการโจมตีแบบปฏิเสธบริการ
4. อนุญาตให้เซิร์ฟเวอร์ชื่อรองที่ไม่ได้รับอนุญาตทำการถ่ายโอนโซน
Zone Transfer หมายถึงกระบวนการคัดลอกไฟล์ฐานข้อมูลโซนระหว่างเซิร์ฟเวอร์ DNS หลายเครื่อง หากคุณให้บริการถ่ายโอนโซนแก่ผู้สอบถาม คุณจะเปิดเผยเซิร์ฟเวอร์ชื่อโดเมนแก่ผู้โจมตี ส่งผลให้เซิร์ฟเวอร์เสียหาย
5. ไม่มีการใช้ตัวส่งต่อ DNS
ตัวส่งต่อ DNS คือเซิร์ฟเวอร์ที่ทำการสืบค้น DNS ในนามของบริการ DNS อื่น ๆ ซอฟต์แวร์เนมเซิร์ฟเวอร์จำนวนมาก รวมถึงเซิร์ฟเวอร์ DNS ของ Microsoft และเนมเซิร์ฟเวอร์ BIND รุ่นเก่าบางรุ่น ไม่สามารถป้องกันตัวเองจากพิษของแคชได้อย่างเพียงพอ และซอฟต์แวร์เซิร์ฟเวอร์ DNS อื่นๆ ก็มีช่องโหว่ที่อาจถูกโจมตีจากการตอบสนองที่เป็นอันตรายได้เช่นกัน แต่ผู้ดูแลระบบจำนวนมากอนุญาตให้เนมเซิร์ฟเวอร์เหล่านี้ค้นหาเนมเซิร์ฟเวอร์อื่นๆ บนอินเทอร์เน็ตได้โดยตรง โดยไม่ต้องใช้ตัวส่งต่อเลย
6. ตั้งค่า Start of Authority (SOA) ไม่ถูกต้อง
SOA ทำเครื่องหมายจุดเริ่มต้นของข้อมูลโซนและกำหนดพารามิเตอร์ที่ส่งผลต่อทั้งโซน ผู้ดูแลระบบจำนวนมากตั้งค่าโซนต่ำเกินไป ซึ่งอาจทำให้ระบบหยุดชะงักเมื่อการสอบถามแบบฟลัชหรือการถ่ายโอนโซนเริ่มล้มเหลว เนื่องจาก RFC กำหนด SOA ใหม่ บางคนจึงรีเซ็ต TTL แคชเชิงลบ ซึ่งทำให้ค่าดังกล่าวสูงเกินไป
7. บันทึก NS ไม่ตรงกันในข้อมูลการอนุญาตและโซน
ผู้ดูแลระบบบางรายเพิ่มหรือลบเนมเซิร์ฟเวอร์หลักแต่ลืมทำการเปลี่ยนแปลงข้อมูลการมอบสิทธิ์ของโซนให้สอดคล้องกัน (หรือที่เรียกว่าข้อมูลการมอบสิทธิ์) ซึ่งจะขยายเวลาที่ใช้ในการแก้ไขชื่อโดเมนและลดความยืดหยุ่น
แน่นอนว่านี่เป็นเพียงข้อผิดพลาดทั่วไปบางประการที่ผู้ดูแลระบบอาจทำ แต่สามารถใช้เป็นข้อมูลอ้างอิงพื้นฐานในการกำหนดค่าเซิร์ฟเวอร์ DNS ของคุณได้