ที่อยู่ IP ส่วนตัวใน DNS สาธารณะ


62

เรามีเซิร์ฟเวอร์อีเมล SMTP เดียวที่อยู่หลังไฟร์วอลล์ซึ่งจะมีบันทึก A ของสาธารณะ . วิธีเดียวในการเข้าถึงเซิร์ฟเวอร์จดหมายนี้มาจากเซิร์ฟเวอร์อื่นที่อยู่หลังไฟร์วอลล์เดียวกัน เราไม่เรียกใช้เซิร์ฟเวอร์ DNS ส่วนตัวของเราเอง

เป็นความคิดที่ดีหรือไม่ที่จะใช้ที่อยู่ IP ส่วนตัวเป็นระเบียน A ในเซิร์ฟเวอร์ DNS สาธารณะ - หรือเป็นการดีที่สุดที่จะเก็บระเบียนเซิร์ฟเวอร์เหล่านี้ไว้ในไฟล์โฮสต์เซิร์ฟเวอร์ภายในแต่ละเครื่อง

คำตอบ:


62

บางคนจะบอกว่าไม่มีระเบียน DNS สาธารณะที่ควรเปิดเผยที่อยู่ IP ส่วนตัว .... ด้วยความคิดที่ว่าคุณกำลังให้ข้อมูลที่อาจจำเป็นต้องใช้ในการโจมตีช่องโหว่ของระบบส่วนตัว

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

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

นอกเหนือจากนั้นฉันไม่เห็นเหตุผลพื้นฐานว่าทำไมการใส่ที่อยู่ส่วนตัว A ลงในพื้นที่สาธารณะเป็นปัญหา .... โดยเฉพาะอย่างยิ่งเมื่อคุณไม่มีเซิร์ฟเวอร์ DNS สำรองเพื่อโฮสต์พวกเขา

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


+1 เห็นแสดงความคิดเห็นที่จะตอบ womble สำหรับเหตุผล :)
หมดเวลาLimbăşan

2
นี่คือตัวอย่างที่ดีของปัญหาด้วยความคิดนี้: merit.edu/mail.archives/nanog/2006-09/msg00364.html
Sucuri

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

@ เคนนี่ใช่ในทางทฤษฎีแล้วมันมีประโยชน์บางอย่าง แต่มันเป็นข้อมูลที่ไม่ยากที่จะหาเพราะช่วงของที่อยู่ IP สาธารณะนั้นสามารถค้นพบได้อย่างง่ายดาย ฉันพูดถึงเรื่องนี้ในคำตอบและเพิ่มความคิดนั้นฉันจะเถียงว่าถ้าคุณขึ้นอยู่กับการซ่อนที่อยู่ IP หรือชื่อโฮสต์ว่าเป็นแนวป้องกันที่สำคัญคุณมีปัญหาที่ใหญ่กว่ามาก
Tall Jeff

1
@ เคนนี่ถึงจุดที่คุณต้องการลดจำนวนข้อมูลที่เปิดเผยต่อสาธารณะและคุณไม่ต้องการเปิดเผยสิ่งที่คุณไม่ต้องการหรืออย่างน้อยก็มีการแลกเปลี่ยนต้นทุน / ผลประโยชน์ที่ดี - ปิดเกี่ยวข้องกับการพิจารณา ไม่มีข้อโต้แย้ง นอกเหนือจากนั้นแกนกลางของจุดของฉัน (และฉันคิดว่าเราเห็นด้วย) เป็นเพียงว่าการทำให้งงงวยเป็นรูปแบบของการรักษาความปลอดภัยที่แย่และไม่มีความดี / ไม่ดีอย่างแน่นอน แต่เพียงการแลกเปลี่ยนต้นทุน / ผลประโยชน์เท่านั้น พิจารณาเป็นกรณีไปแล้วแต่ความเสี่ยงของคุณเป็นต้น
Tall Jeff

36

ฉันมีการอภิปรายที่ยาวนานในหัวข้อนี้ในรายการ NANOG นานมาแล้ว แม้ว่าฉันจะคิดเสมอว่ามันเป็นความคิดที่ไม่ดี แต่กลับกลายเป็นว่ามันไม่ใช่ความคิดที่เลวร้ายในทางปฏิบัติ ปัญหาส่วนใหญ่มาจากการค้นหา rDNS (ซึ่งสำหรับที่อยู่ส่วนตัวไม่ทำงานในโลกภายนอก) และเมื่อคุณให้การเข้าถึงที่อยู่ผ่าน VPN หรือสิ่งที่คล้ายคลึงกันสิ่งสำคัญคือต้องแน่ใจว่าไคลเอนต์ VPN ได้รับการปกป้องอย่างถูกต้องจาก "รั่ว" ทราฟฟิกเมื่อ VPN หยุดทำงาน

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


1
+1 ขอขอบคุณที่เป็นเสียงของสติปัญญาในการตอบสนอง FUD ทั้งหมดต่อคำถามนี้ "ความเสี่ยงด้านความปลอดภัย" ภูมิภาคหลังส่วนล่างของฉันและเห็นปัญหาการกำหนดเส้นทางและปัญหา DNS รวมอยู่ในข้อเข่ากระตุกเดียว "ไม่ทำ" การตอบสนองเพียงแค่ทำให้ฉันประหลาดใจเกี่ยวกับความสามารถของผู้คนที่ใช้เครือข่ายทั่วสถานที่
Mihai Limbăşan

1
การแก้ไข: ทำให้ "เห็นปัญหาการกำหนดเส้นทางและปัญหา DNS และการรับรองความถูกต้อง / ข้อมูลระบุตัวตนผิดพลาด"
Mihai Limbăşan

8

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

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


1
ปัญหาอะไรจริงเหล่านี้คืออะไร? ผู้คนจะสับสนในวิธีใด?
womble

2
ดังนั้น ... สุภาพ ... ที่จะไม่ใส่ที่อยู่ 1918 ใน DNS สาธารณะ? ฉันพบปัญหามากมายที่โซน DNS "ซ่อน" และ "แบ่งขอบฟ้า" ได้เกิดขึ้น แต่ไม่มากนักที่เกิดจาก IP ส่วนตัวใน DNS สาธารณะ ฉันไม่เห็นปัญหา
womble

2
@ Womble คอมพิวเตอร์อาจสับสนถ้าด้วยเหตุผลบางอย่างที่พวกเขาพยายามเชื่อมต่อกับโฮสต์ที่อยู่นอกเครือข่ายของคุณและแทนที่จะได้รับเซิร์ฟเวอร์ SMTP พวกเขาคาดหวังว่าพวกเขามีทุกอย่างที่อยู่ IP นั้นบน LAN ที่พวกเขาเชื่อมต่ออยู่ อาจเป็นไปได้ว่าพนักงานคนหนึ่งของคุณที่ใช้แล็ปท็อปในระยะไกลอาจเริ่มพ่นชื่อผู้ใช้และรหัสผ่านเป็นข้อความธรรมดาในเครือข่ายของผู้อื่นเพียงเพราะพวกเขายังมี 192.168.1.1
Zoredache

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

1
@Zoredache: ทำไมบางคนถึงแก้ไขชื่อพวกเขาไม่มีสิทธิ์เข้าถึง? DNS ไม่ได้เป็นสถานที่เดียวที่คุณจะได้รับที่อยู่ส่วนตัวต่อไป - HTML สามารถใช้ตัวอักษร IP ตัวอย่างเช่น ...
womble

5

ไม่ไม่ต้องใส่ที่อยู่ IP ส่วนตัวของคุณใน DNS สาธารณะ

ประการแรกมันรั่วข้อมูลแม้ว่ามันจะเป็นปัญหาเล็กน้อย

ปัญหาที่เลวร้ายยิ่งขึ้นถ้าระเบียน MX ของคุณชี้ไปที่รายการโฮสต์นั้นคือทุกคนที่พยายามส่งอีเมลไปจะได้รับเวลาการส่งอีเมลที่ดีที่สุด

ขึ้นอยู่กับซอฟต์แวร์อีเมลของผู้ส่งพวกเขาอาจได้รับการตีกลับ

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

ตัวอย่างเช่น:

  • เครือข่ายมีเซิร์ฟเวอร์อีเมลภายใน แต่ไม่มี DNS ที่แยก
  • ผู้ดูแลระบบจึงใส่ทั้งสาธารณะและที่อยู่ IP ภายในใน DNS
  • และระเบียน MX ชี้ไปที่ทั้งสอง:

 $ORIGIN example.com
 @        IN   MX    mail.example.com
 mail     IN   A     192.168.1.2
          IN   A     some_public_IP

  • บางคนเห็นสิ่งนี้อาจพยายามเชื่อมต่อกับ 192.168.1.2
  • กรณีที่ดีที่สุดมันตีกลับเพราะพวกเขาไม่มีเส้นทาง
  • แต่ถ้าพวกเขามีเซิร์ฟเวอร์ที่ใช้ 192.168.1.2 อีเมลจะไปผิดที่

ใช่มันเป็นการกำหนดค่าที่ใช้งานไม่ได้ แต่ฉันเห็นสิ่งนี้เกิดขึ้น

ไม่มันไม่ใช่ความผิดของ DNS แต่ทำตามที่บอก


การส่งจดหมายไปยังเครื่องที่ไม่ถูกต้องเป็นปัญหา DNS อย่างไร คุณควรตรวจสอบสิทธิ์เซิร์ฟเวอร์ SMTP นั่นเป็นปัญหาการกำหนดค่า SMTP ซึ่งไม่มีส่วนเกี่ยวข้องใด ๆ กับ DNS คุณไม่ได้เปรียบเทียบแอปเปิ้ลกับส้มที่นี่คุณกำลังเปรียบเทียบขนมปังกัมมันตรังสีที่มีกัมมันตภาพรังสีกับอนุพันธ์ของลากรองจ์ที่ละ 5 มิลลิกรัมบนแท่ง หากคุณกังวลเกี่ยวกับการรับ MX ผิดหรือผลลัพธ์คุณควรใช้ DNSSEC แทนการถือ DNS รับผิดชอบต่อสิ่งที่มันไม่รับผิดชอบและหากคุณส่ง SMTP ผิดพลาดไปยังหมายเลข RFC1918 ที่ไม่ถูกต้องคุณได้กำหนดค่าผิดหรือออกแบบเครือข่ายของคุณผิด
Mihai Limbăşan

(โพสต์ซ้ำยกย่องสำหรับการชี้แจง)
หมดเวลาLimbăşan

หากมีใครบางคนในเครือข่ายของคุณ "สร้าง" หมายเลข IP แล้วโปรโตคอล IP นั้นทำงานได้อย่างถูกต้องตามที่ออกแบบไว้นั่นคือไม่มีการรักษาความปลอดภัย สิ่งที่คุณถามคือ "ฉันจะมั่นใจได้อย่างไรว่าฉันกำลังพูดกับใครก็ตามที่ฉันควรจะคุยด้วย" และคำตอบสำหรับสิ่งนั้นไม่สามารถส่งได้โดย IP และ / หรือโดย DNS คำตอบนั้นถูกส่งโดย DNSSEC และ / หรือ SSL / TLS และ / หรือกลไกชั้นแอปพลิเคชัน
Mihai Limbăşan

เพิ่งอ่านความคิดเห็นของคุณไปที่โพสต์ของเดฟ - โพสต์ของคุณสมเหตุสมผลมากขึ้นในตอนนี้ :) ฉันยังไม่เห็นด้วยกับหลักฐาน แต่ฉันไม่คิดว่ามันจะไม่มีเหตุผลอีกต่อไป ...
Mihai Limbăşan

2
ไม่มันไม่เกี่ยวกับการรับรองความถูกต้องเลยเพียงแค่การเชื่อมต่อจบลงในที่ที่ผิด ฉันเห็นสิ่งนั้นมากมายเมื่อ Verisign ตัดสินใจใช้สัญลักษณ์แทน * .com ย้อนกลับไปในปี 2001
Alnitak

3

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

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


หากผู้ใช้มีแล็ปท็อปที่ใช้ในสำนักงานของคุณและที่อื่น ๆ โอกาสที่พวกเขาจะกำหนดค่าไฟล์โฮสต์ให้ชี้ไปที่ IP ภายในของ MTA หรือใช้ IP โดยตรงในการตั้งค่า MUA ผลลัพธ์ที่เหมือนกัน นำ IPv6 และการตายของ RFC1918 มันเป็นวิธีเดียวที่จะให้แน่ใจว่า ...
womble

จุดที่ยอดเยี่ยม Zoredache นี่คือเวกเตอร์การโจมตีที่น่าสนใจ โปรดคลิกฉันเพื่อทำสิ่งที่คุณต้องการให้ฉันทำในตอนแรก "ขึ้นอยู่กับ MUA ซึ่งอาจแสดงว่า" สิ่งที่น่ารำคาญเกิดขึ้นตามปกติหรืออาจล้มเหลวทันทีหาก ​​ssl cert ไม่ตรงกัน
Dave Cheney

สถานการณ์การโจมตีนี้ถูกกำจัดอย่างมีประสิทธิภาพหรือไม่หากเซิร์ฟเวอร์ทั้งหมด (เช่นเว็บ / HTTPS, IMAP และ SMTP) ในเครือข่ายที่ถูกต้องต้องใช้การเชื่อมต่อไคลเอนต์ที่ใช้ SSL / TLS หรือไม่
Johnny Utahh

@JohnnyUtahh คุณต้องการเซิร์ฟเวอร์ทั้งหมดเพื่อสนับสนุน TLS พร้อมกับใบรับรองที่ถูกต้องและคุณต้องการให้ไคลเอนต์ทั้งหมดได้รับการกำหนดค่าให้ตรวจสอบใบรับรองและไม่เคยลองใช้การเชื่อมต่อที่ไม่ใช่ TLS ซึ่งเป็นค่าเริ่มต้นทั่วไปมากขึ้นแล้วในขณะนี้เมื่อ 10 ปีที่แล้ว แต่ยังมีซอฟต์แวร์เก่า / โง่ที่อาจลองใช้การเชื่อมต่อที่ไม่ใช่ tls
Zoredache

ใช่ทุกอย่างเข้าท่าขอบคุณ @Zoredache
Johnny Utahh

3

สองตัวเลือกของคุณคือ / etc / hosts และใส่ที่อยู่ IP ส่วนตัวในพื้นที่สาธารณะของคุณ ฉันขอแนะนำให้อดีต หากนี่แสดงถึงโฮสต์จำนวนมากคุณควรลองใช้โปรแกรมแก้ไขของคุณเองภายในไม่ใช่เรื่องยาก


1
แน่นอนว่าเป็นตัวเลือก แต่ทำไม อะไรคือการใช้งานตัวแก้ไขภายในหรือ (ชาญฉลาดกว่ามาก) โดยใช้บางอย่างเช่นมุมมอง BIND คุณจะได้รับนอกเหนือจากค่าใช้จ่ายในการดูแลระบบและภาระการบำรุงรักษา นั่นคือสิ่งที่ฉันไม่เข้าใจ
Mihai Limbăşan

1
ใช้เซิร์ฟเวอร์ชื่อของคุณเองไม่ใช่วิทยาศาสตร์จรวด หากเครือข่ายของคุณมีขนาดเพียงพอที่คุณจะพิจารณาใช้ / etc / hosts เป็นแฮ็กหรือใช้เวลานานคุณจะต้องตั้งค่าตัวแก้ไขคู่ในเครือข่ายของคุณ คุณจะได้รับประโยชน์จากการลดปริมาณการรับส่งข้อมูล DNS จากเครือข่ายของคุณและช่วยให้คุณสามารถแก้ไขปัญหาการสืบค้นทั่วไปได้เร็วขึ้น
Dave Cheney

3
ฉันรู้ว่ามันไม่ใช่วิทยาศาสตร์จรวด แต่เป็นค่าบำรุงรักษาและความเสี่ยงด้านความปลอดภัยที่อาจเกิดขึ้น แน่นอนว่ามีความเสี่ยงด้านความปลอดภัยที่สูงกว่าการรั่วไหลของเครือข่าย RFC1918 การรับส่งข้อมูล DNS นั้นเล็กน้อยมาก - ฉันโฮสต์เกิน 80 โซนไฟล์ขนาดใหญ่และไม่ว่างบน DNS ของฉันที่ทำงานและปริมาณการใช้งาน DNS รายสัปดาห์น้อยกว่า 2 นาทีของ Youtube การเร่งความละเอียดของการสืบค้นเป็นข้อโต้แย้งที่มีสติในช่วงแรกกับหมายเลข RFC1918 ใน DNS ที่ฉันได้เห็นที่นี่ :) ได้รับการโหวตให้คิดมากกว่าการกระตุกเข่าปกติ "โอ้โหมันเป็นความเสี่ยงด้านความปลอดภัย"
Mihai Limbăşan

1
@Alnitak: ฉันเข้าใจว่าคุณมาจากไหน แต่นั่นก็ไม่ใช่ปัญหา DNS และฉันยืนยันว่าการพยายามแก้ไขปัญหาที่มาจากที่อื่นผ่าน DNS ไม่ใช่ความคิดที่ดีเลย ปัญหาควรได้รับการแก้ไขที่ต้นทางไม่ได้รับการแก้ไขโดยแฮ็ค DNS - แฮ็กทำให้เครือข่ายมีความเปราะ
Mihai Limbăşan

2
ใช่ฉันเห็นด้วย และการใส่ข้อมูลโฮสต์ส่วนตัวของคุณใน DNS สาธารณะเป็นวิธีการแฮ็คสำหรับปัญหาที่ไม่มีเซิร์ฟเวอร์ DNS ภายใน ... :) ปัญหาคือเลเยอร์ที่สูงกว่าไม่รู้ว่าข้อมูลนี้ควรจะเป็น "ส่วนตัว" .
Alnitak

2

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


+1 การปฏิเสธ DNS ไม่ถูกต้อง !! medium.com/@brannondorsey/ ......
Ohad Schneider

1

เป็นการดีที่สุดที่จะเก็บไว้ในไฟล์โฮสต์ หากมีเพียงเครื่องเดียวเท่านั้นที่ควรเชื่อมต่อกับมันคุณจะได้อะไรจากการใส่ลงใน DNS สาธารณะ


การทำงานบนคลาวด์คุณสามารถมีเครื่องจักรส่วนตัวหลายพันเครื่อง ไม่กี่ปีที่ผ่านมา Netflix กล่าวว่าพวกเขามีโหนด Cassandra กว่า 2,000 รายการ นั่นไม่ใช่การปฏิบัติในการใช้/etc/hostsไฟล์เพราะทุก 2,000 เครื่องแล้วจะต้องจัดการทรัพย์สินทางปัญญาเหล่านี้ / คู่ชื่อ ...
อเล็กซิส Wilke

1

ถ้าโดยส่วนตัวคุณหมายถึง 10.0.0.0/8, 192.168.0.0/16 หรือ 172.16.0.0/12 ก็ไม่ควร เราเตอร์อินเทอร์เน็ตส่วนใหญ่รับรู้ว่าเป็นอะไร - ที่อยู่ส่วนตัวที่ต้องไม่ถูกส่งไปยังอินเทอร์เน็ตสาธารณะในรูปแบบตรงซึ่งเป็นสิ่งที่ช่วยให้ NAT เป็นที่นิยม ทุกคนที่พยายามติดต่อเซิร์ฟเวอร์ DNS สาธารณะของคุณจะดึงข้อมูลที่อยู่ IP ส่วนตัวจาก DNS เพียงเพื่อส่งแพ็คเก็ตไปยัง .... ไม่มีที่ไหนเลย เมื่อการเชื่อมต่อของพวกเขาพยายามที่จะท่องอินเทอร์เน็ตไปยังที่อยู่ส่วนตัวของคุณเราเตอร์ (กำหนดค่าอย่างถูกต้อง) บางคนที่อยู่ระหว่างทางก็จะกินแพ็คเก็ตที่ยังมีชีวิตอยู่

หากคุณต้องการรับอีเมลจาก "นอก" เพื่อมา "ข้างใน" ในบางจุดแพ็กเก็ตจะต้องข้ามไฟร์วอลล์ของคุณ ฉันขอแนะนำให้ตั้งค่าที่อยู่ DMZ เพื่อจัดการสิ่งนี้ - ที่อยู่ IP สาธารณะเดียวที่ควบคุมโดยเราเตอร์ / ไฟร์วอลล์ที่คุณมี การตั้งค่าที่มีอยู่คุณอธิบายเสียงเหมือนว่ามันทำอย่างนั้น

แก้ไข: การชี้แจงเจตนา ... (ดูความคิดเห็นด้านล่าง) หากนี่ไม่สมเหตุสมผลฉันจะลงคะแนนเพื่อลบโพสต์ของตัวเอง


3
ทั้งหมดนี้เป็นสิ่งที่ดีและเป็นความจริง แต่คุณไม่ได้ระบุเหตุผลที่แท้จริงว่าทำไมไม่ควรเผยแพร่ที่อยู่ RFC1918 ใน DNS คุณเพิ่งอธิบายว่าที่อยู่ RFC1918 คืออะไรและเป็นไปได้ที่จะไม่มีเส้นทางไปยังที่อยู่บางแห่ง มันแตกต่างจากหมายเลข IP อื่น ๆ อย่างไร? เป็นไปได้หรือไม่ที่ไม่มีเส้นทางไปที่ 198.41.0.4 - นั่นหมายความว่าผิดที่จะเผยแพร่ 198.41.0.4 ใน DNS หรือไม่ DNS เป็นระบบการจำแนกชื่อ มันไม่มีอะไรเกี่ยวข้องกับการกำหนดเส้นทางทั้งสองเป็น orthogonal คุณกำลังแยกแยะปัญหาสองประเภทซึ่งโดยทั่วไปแล้วเป็นจำนวนเงินของ FUD
Mihai Limbăşan

1
บริบทของการสนทนาคือการใช้ที่อยู่ IP ส่วนตัวในเซิร์ฟเวอร์ DNS สาธารณะ จุดโพสต์คือการระบุว่าตามค่าเริ่มต้นเราเตอร์จะไม่กำหนดเส้นทางที่อยู่ IP ส่วนตัว ฉันไม่ได้พยายามระบุว่าคุณไม่สามารถใช้ที่อยู่ IP ส่วนตัวในเซิร์ฟเวอร์ DNS ได้เพียงว่าคุณไม่ควรให้ที่อยู่ IP เหล่านั้น "ภายนอก" หากนี่ยังไม่ชัดเจนเพียงพอฉันจะถอนการโพสต์ด้วยความยินดี มิฉะนั้นฉันไม่เห็นด้วยโพสต์นั้นเป็นจุด 100% - ผลกระทบสุทธิสำหรับบุคคลนี้คือ / พวกเขาจะมีปัญหา / หากพวกเขาทำเช่นนี้
Avery Payne

พยักหน้าความคิดเห็นของคุณภายใต้โพสต์ของ Alnitak ล้างมันหมดแล้ว :) ขอบคุณ
Mihai Limbăşan

"ใครก็ตามที่พยายามติดต่อเซิร์ฟเวอร์ DNS สาธารณะของคุณจะดึงข้อมูลที่อยู่ IP ส่วนตัวจาก DNS เพียงเพื่อส่งแพ็คเก็ตไปยัง .... ไม่มีที่ไหนเลย" - ไม่จริงคุณเพิ่งอธิบาย DNS rebinding และทำงานบนเราเตอร์ที่ปลอดภัยที่สุดบางตัว ออกไปรวมถึง PepWave Surf SOHO ของฉัน: rebind.network/rebind
Ohad Schneider

0

ฉันมาถึงที่นี่เพราะฉันกำลังมองหาข้อมูลที่คล้ายกันและรู้สึกประหลาดใจที่หลายคนบอกว่าไม่ควรเปิดเผยที่อยู่ IP ส่วนตัวของคุณ ฉันเดาว่าในแง่ของการถูกแฮ็กมันไม่ได้สร้างความแตกต่างอะไรมากถ้าคุณอยู่ในเครือข่ายที่ปลอดภัย อย่างไรก็ตาม DigitalOcean มีการรับส่งข้อมูลเครือข่ายท้องถิ่นทั้งหมดบนสายเคเบิลเดียวกันกับทุกคนที่มีการเข้าถึงการรับส่งข้อมูลคนอื่น ๆ (อาจทำได้กับ Man in the Middle Attack) หากคุณเพิ่งจะได้รับเครื่องคอมพิวเตอร์ในศูนย์ข้อมูลเดียวกัน ข้อมูลจะช่วยให้คุณเข้าใกล้การแฮ็คข้อมูลของฉันได้ในขั้นตอนเดียว (ตอนนี้ลูกค้าแต่ละรายมีเครือข่ายส่วนตัวที่สงวนไว้เช่นเดียวกับบริการคลาวด์อื่น ๆ เช่น AWS)

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

การตั้งค่าต้องใช้สองโซน match-clientsการเลือกใช้ นี่คือตัวอย่างของการตั้งค่าจากเซิร์ฟเวอร์ DNS สองในหนึ่งเดียวที่มี BIND9 :

acl slaves {
    195.234.42.0/24;    // XName
    193.218.105.144/28; // XName
    193.24.212.232/29;  // XName
};

acl internals {
    127.0.0.0/8;
    10.0.0.0/24;
};

view "internal" {
    match-clients { internals; };
    recursion yes;
    zone "example.com" {
        type master;
        file "/etc/bind/internals/db.example.com";
    };
};
view "external" {
    match-clients { any; };
    recursion no;
    zone "example.com" {
        type master;
        file "/etc/bind/externals/db.example.com";
        allow-transfer { slaves; };
    };
};

นี่คือโซนภายนอกและเราสามารถเห็น IP ไม่ได้เป็นส่วนตัว

; example.com
$TTL    604800
@       IN      SOA     ns1.example.com. root.example.com. (
                     2006020201 ; Serial
                         604800 ; Refresh
                          86400 ; Retry
                        2419200 ; Expire
                         604800); Negative Cache TTL
;
@       IN      NS      ns1
        IN      MX      10 mail
        IN      A       192.0.2.1
ns1     IN      A       192.0.2.1
mail    IN      A       192.0.2.128 ; We have our mail server somewhere else.
www     IN      A       192.0.2.1
client1 IN      A       192.0.2.201 ; We connect to client1 very often.

สำหรับโซนภายในเราก่อนจะรวมโซนภายนอกซึ่งเป็นวิธีการทำงาน เช่นถ้าคุณเป็นคอมพิวเตอร์ภายในคุณจะเข้าถึงเฉพาะโซนภายในเท่านั้นดังนั้นคุณยังต้องใช้คำจำกัดความของโซนภายนอกดังนั้น$includeคำสั่ง:

$include "/etc/bind/external/db.example.com"
@       IN      A       10.0.0.1
boss    IN      A       10.0.0.100
printer IN      A       10.0.0.101
scrtry  IN      A       10.0.0.102
sip01   IN      A       10.0.0.201
lab     IN      A       10.0.0.103

ในที่สุดคุณต้องตรวจสอบให้แน่ใจว่าคอมพิวเตอร์ทั้งหมดของคุณใช้ DNS และทาสนั้น สมมติว่าเครือข่ายคงที่นั้นจะหมายถึงการแก้ไข/etc/network/interfacesไฟล์ของคุณและใช้ DNS IP ของคุณในnameserverตัวเลือก บางสิ่งเช่นนี้

iface eth0 inet static
    ...
    nameserver 10.0.0.1 10.0.0.103 ...

ตอนนี้คุณควรจะตั้งค่าทั้งหมด

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