ตัวแก้ไข DNS แบบเปิดคืออะไรและฉันจะป้องกันเซิร์ฟเวอร์ของฉันจากการถูกแฮกเกอร์ใช้งานในทางที่ผิดได้อย่างไร


15

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

เป็นเซิร์ฟเวอร์ที่กำหนด IP สาธารณะที่ฉันโฮสต์หลาย ๆ แอปพลิเคชันบริการเว็บรวมถึงเว็บไซต์และ API ฉันได้รับแจ้งว่าเซิร์ฟเวอร์ของฉัน "กำลังเรียกใช้ตัวแก้ไข DNS แบบเปิดซึ่งใช้ในการถ่ายทอดการปฏิเสธการโจมตีบริการไปยังเอนทิตีภายนอก"

สิ่งนี้หมายความว่า? การโจมตีครั้งนี้ทำงานอย่างไร และฉันจะป้องกันระบบของฉันจากการถูกทารุณกรรมเช่นนี้ได้อย่างไร

ในกรณีเฉพาะของฉันเซิร์ฟเวอร์ที่เป็นปัญหาอยู่ใน Windows Server 2012 และให้บริการ DNS สำหรับโดเมน Active Directory


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

@ HopelessN00b ขอบคุณคำตอบของคุณค่อนข้างมีประโยชน์ ฉันไม่ได้ใช้ BIND (โฮสต์ของฉันสันนิษฐานว่าฉันเป็นและให้คำสั่งบางอย่างแก่ฉันในการทำงาน); ฉันมีเซิร์ฟเวอร์ DNS ตั้งค่าเป็นบทบาทใน IIS เป็นเรื่องที่น่าสนใจฉันไม่ได้กำหนดค่าเซิร์ฟเวอร์ DNS ด้วยตนเองและฉันไม่แน่ใจว่าฉันค่อนข้างเข้าใจว่าทำไมฉันถึงต้องการสิ่งนี้ จะเกิดอะไรขึ้นถ้ามันถูกปิดการใช้งาน?
JSideris

เอ่ออย่าปิดการใช้งาน DNS ในระบบ Windows เป็นไปได้ว่าคุณจะทำลาย Active Directory แจ้งให้เราทราบว่า Windows Server รุ่นใดและฉันสามารถ (อาจ) แก้ไขในหน้าจอบางหน้าเพื่อแสดงวิธีรักษาความปลอดภัยให้กับ Windows DNS box
HopelessN00b

Alright ฉันเพิ่งตั้งค่าไดเรกทอรีที่ใช้งานในสุดสัปดาห์นี้ เป็นมาตรฐาน windows server 2012
JSideris

คำตอบ:


28

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

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

ArsTechnica ทำบทความที่ดีเกี่ยวกับ DNS Amplification DDoS เมื่อไม่นานมานี้ว่าทำการโจมตี Spamhausและมีค่าในการอ่านอย่างรวดเร็วเพื่อรับข้อมูลพื้นฐาน (และภาพที่ดีของเครื่องขยายเสียง)

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


ตัวอย่างเช่นถ้าฉันใช้ BIND 9 และต้องการป้องกันการเรียกซ้ำ DNS จากที่อยู่ภายนอกฉันจะใช้รหัสต่อไปนี้ในการกำหนดค่าของฉัน:

options {
    directory "/var/named/master";
    allow-recursion { 127.0.0.1; 10.0.0.0/8; 192.168.0.0/16; 172.16.0.0/12; };

บรรทัดของรหัสนั้นบอกเซิร์ฟเวอร์ BIND ของฉันให้ประมวลผลการร้องขอ DNS ซ้ำสำหรับที่อยู่ลูปแบ็คท้องถิ่น (ซึ่งฉันเดาว่าฉันสามารถ / ควรตั้งค่าเป็นบล็อกลูปแบ็คโลคัลทั้งหมด / 8) และพื้นที่ 3 ที่อยู่ IPv4 ส่วนตัว


สำหรับ Windows Server 2012 ที่คุณบอกว่าคุณใช้อยู่คุณมีตัวเลือกด้านล่าง

1. แยกเซิร์ฟเวอร์ DNS ของคุณออกจากเซิร์ฟเวอร์ IIS ของคุณ

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

2. บล็อกคำขอ DNS ภายนอกด้วยไฟร์วอลล์เช่นไฟร์วอลล์ Windows ที่มีอยู่ภายใน

  • ด้วยความประหลาดใจของฉัน DNS ของ Windows ไม่อนุญาตให้คุณ จำกัด ที่อยู่ที่ร้องขอ DNS แบบเรียกซ้ำซึ่งเป็นวิธีการที่ Microsoft แนะนำ
  • ป้อนคำอธิบายรูปภาพที่นี่
    • เลือกกฎ DNS (TCP และ UDP) ไปที่Remote IP addressส่วนและเพิ่มซับเน็ตที่ใช้บน LAN ของคุณรวมถึงที่อยู่ IP สาธารณะใด ๆ ของเซิร์ฟเวอร์ที่ต้องการเข้าถึง Active Directory เช่นเดียวกับตัวอย่างเช่นการผูก, IPv4 แอดเดรสส่วนตัวและ127.0.0.0/8 10.0.0.0/8 192.168.0.0/16172.16.0.0/12

3. ปิดการใช้งานการเรียกซ้ำ

  • ฉันไม่แน่ใจว่าสิ่งนี้จะส่งผลกระทบต่อสภาพแวดล้อมของคุณอย่างไรเนื่องจากคุณไม่ได้ระบุว่า DNS และโฆษณานั้นได้รับการกำหนดค่าอย่างไรในสภาพแวดล้อมของคุณและเป็นตัวเลือกสุดท้าย
  • ป้อนคำอธิบายรูปภาพที่นี่
    1. เปิดตัวจัดการ DNS
    2. ในคอนโซลทรีคลิกขวาเซิร์ฟเวอร์ DNS ที่เกี่ยวข้องจากนั้นคลิกคุณสมบัติ
    3. ที่ไหน?
    4. DNS / เซิร์ฟเวอร์ DNS ที่เกี่ยวข้อง
    5. คลิกที่แท็บ Advanced
    6. ในตัวเลือกเซิร์ฟเวอร์ให้เลือกกล่องกาเครื่องหมายปิดการใช้งานการสอบถามซ้ำแล้วคลิกตกลง
      • เนื่องจากเรามีสภาพแวดล้อมที่มีความหลากหลายของป่าไม้และใช้ผู้ส่งต่อที่มีเงื่อนไขเพื่อที่จะทำงานฉันจะไม่ทำเครื่องหมายในช่องนั้น อาจเป็นสิ่งที่คุณควรพิจารณาเช่นกัน

คำตอบที่ยอดเยี่ยม!
Fred the Magic Wonder Dog

โซลูชั่นที่สมบูรณ์แบบจัดทำเป็นเอกสารที่ดี :)
JSideris

2
ถ้าอย่างนั้น 8.8.8.8 หรือ 1.1.1.1 จะป้องกันตัวเองจากการเป็นตัวแก้ไขแบบเปิดได้อย่างไร
LinuxBabe
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.