DNS ज़ोन में लोकलहोस्ट


15

हमारा ISP हमारे बाहरी DNS को भी होस्ट करता है। डिफ़ॉल्ट रूप से उनमें लोकलहोस्ट के लिए एक प्रविष्टि शामिल है।

उदाहरण के लिए: localhost.example.com। 12764.0.1 में 86400

जब मैंने उन्हें इसे हटाने के लिए कहा तो उन्होंने मुझे एक कठिन समय दिया और कहा कि यह सिर्फ बिंद के काम करने का तरीका है।

मैंने कुछ शोध करने की कोशिश की है कि मैं क्यों इसमें शामिल होना चाहता हूं, लेकिन मुझे बहुत कुछ नहीं मिला। मुझे कम से कम एक जगह मिली, जिसने सोचा कि यह एक संभावित XSS अटैक वेक्टर हो सकता है। यह काफी सामान्य प्रतीत होता है, इसलिए मैंने एलेक्सा से शीर्ष 20 वेबसाइट डोमेन पर लुकअप किया और अधिकांश में ऐसी प्रविष्टि नहीं है, लेकिन एक युगल करते हैं। कुछ अन्य लोगों के पास एक प्रविष्टि है लेकिन 127.0.0.1 की ओर इशारा करने के बजाय वे किसी अन्य विश्व मार्ग-सक्षम आईपी पते की ओर संकेत करते हैं।

तो वैसे भी, मैं अपने डोमेन के लिए ज़ोन में लोकोहास्ट क्यों रखना चाहूंगा? उनके किसी भी मुद्दे के साथ यह नहीं कर रहे हैं? क्या इस संबंध में किसी प्रकार का सर्वोत्तम अभ्यास है? क्या यह वास्तव में एक डिफ़ॉल्ट बाइंड चीज़ है जिसकी मुझे जानकारी नहीं है?

धन्यवाद


अच्छा प्रश्न। मैंने पहले कभी ऐसा नहीं सुना।
टॉमटॉम

मेरी ISPs ज़ोन फ़ाइल में "लूपबैक" भी है। WTF?
डेविड टोनहोफर

जवाबों:


13

localhost.example.comकभी-कभी इंटरनेट पर लीक होने वाले "लोकलहोस्ट" अनुरोधों को रोकने के लिए आंतरिक DNS सर्वरों में शामिल किया जाता है (उस स्थिति के लिए जहां जॉन स्मिथ http://localhost/अपने ब्राउज़र में टाइप करता है और जिस कारण से उसकी रिसोल्वर मेजबानों की फाइल में नहीं दिखती है, उसका खोज पथ जोड़ता है example.com) & नाम ​​सर्वर से पूछना शुरू करता है कि वह क्या हल करता है)।

आपके पास एक स्थानीयहोस्ट प्रविष्टि नहीं है (और यदि आपका ISP सोचता है कि "BIND काम करता है" तो वे या तो गुमराह हैं या बेवकूफ हैं: BIND ज़ोन फ़ाइल में क्या कार्य करता है, और यदि वे localhostलाइन को हटा देते हैं तो वह सेवा बंद कर देगा। रिकॉर्ड)। एक मुक्त उदाहरण के रूप में, localhost.google.comहल नहीं करता है, और मैं उस डोमेन के लिए NS को शर्त लगा रहा हूं जो BIND चल रहा है।

XSS वेक्टर एक ऐसी चीज है जिसके बारे में मैंने कभी नहीं सोचा था, लेकिन यह कुछ चिंता की बात है: localhostआपके सार्वजनिक DNS में प्रविष्टि का मतलब है कि कोई भी हैक की गई मशीन "आपके डोमेन में" हो सकती है (127.0.0.1 पर एक वेबसर्वर चलाकर) और संभावित रूप से हर तरह की गंदी बातें। संभवतः प्रवेश से छुटकारा पाने के लिए एक अच्छा पर्याप्त कारण है।


1
व्यक्तिगत रूप से मुझे लगता है कि उचित डॉट समाप्त नहीं होने localhost.some.testका सिर्फ एक और शिकार है । होने के पीछे तर्क (डॉट ध्यान दें!) स्पष्ट है, लेकिन DNS ज़ोन में डॉट्स अक्सर भूल जाते हैं। फिर उसका अपना रहस्यमयी जीवन शुरू हो गया। localhost.
poige

देखें tools.ietf.org/html/rfc1537 आम डीएनएस डेटा फ़ाइल विन्यास त्रुटियों जो सुझाव है कि स्थानीय होस्ट प्रविष्टि सही है।
बिलथोर

1
नहीं, rfc1537 यह निर्दिष्ट नहीं करता है। यह निर्दिष्ट करता है कि रिकर्सर्स को एक लोकलहोस्ट होने की आवश्यकता है। ज़ोन और रिवर्स के लिए एक ज़ोन। कहीं भी यह नहीं कहता है कि आपके ज़ोन को लोकलहोस्ट प्रविष्टि की आवश्यकता है।
हबी

@BillThor इस अन्य उत्तर पर टिप्पणी RFC 1537 और उसके उत्तराधिकारी (RFC 1912) के लिए प्रासंगिक है - जैसा कि हबीबी ने उल्लेख किया है कि ज़ोन localhost. कुछ ऐसा है जिसे हम करने वाले हैं, लेकिन हम जिस क्षेत्र में सेवा करते हैं, वहां localhost रिकॉर्ड होने का अभ्यास समाप्त हो गया है एहसान का। (यह प्रश्न वास्तव में मुझे नीचे ले जाता है कि 5 साल पहले RFC खरगोश छेद, शायद मैं बाद में उस टिप्पणी थ्रेड से नए RFC और विचारों के साथ अपने उत्तर को अपडेट करूंगा :))
voretaq7

3

यह मानते हुए कि आपका आंतरिक नाम रिज़ॉल्यूशन नाम रिज़ॉल्यूशन को ठीक से संभाल रहा है, लोकलहोस्ट के लिए किसी भी DNS अनुरोध को कभी भी आपके बाहरी DNS प्रदाता के पास नहीं जाना चाहिए, और इसलिए यह बिल्कुल भी समस्या नहीं होनी चाहिए।

एक कारण यह है क्यों किसी को यह करना होगा, मैं अपने सिर के ऊपर से सोच सकते हैं कि, अगर कोई एक बार एक वेब संलेखन उपकरण है कि करने के लिए निरपेक्ष संदर्भों का भार के साथ बँधा हुआ इस्तेमाल किया है http: // स्थानीय होस्ट , लेकिन यह है कि मान लिया गया है आपकी आईएसपी भी अपने डीएनएस बक्से पर होस्ट कर रहा था और एक लंबा शॉट है।

हालाँकि, RFC 1537 निर्दिष्ट करता है :

इस बारे में व्यापक चर्चा हुई है कि स्थानीय डोमेन को इसमें जोड़ा जाए या नहीं। निष्कर्ष यह था कि "लोकलहोस्ट।" सबसे अच्छा समाधान होगा; दिए गए कारण थे:

  • "लोकलहोस्ट" का उपयोग स्वयं किया जाता है और कुछ प्रणालियों पर काम करने की उम्मीद की जाती है।

  • 127.0.0.1 को "localhost.my_domain" में अनुवाद करने पर कुछ सॉफ़्टवेयर के लिए लूपबैक इंटरफ़ेस का उपयोग करके खुद से कनेक्ट करने का कारण बन सकता है जब वह नहीं करना चाहता था।

ध्यान दें कि सभी डोमेन जिनमें होस्ट हैं उनमें "लोकलहोस्ट" ए रिकॉर्ड होना चाहिए।

इसलिए सख्ती से बोलना ऐसा प्रतीत होता है जैसे कि आपका ISP लोकलहोस्ट को शामिल करने के लिए सही है, लेकिन पूरी तरह से योग्य नाम का उपयोग करने के लिए गलत है।


5
ऐसा लगता है कि RFC-1537 को RFC-1912 द्वारा बाधित किया गया था, जो Note that ...भाषा को हटा देता है (मैं संभावित XSS मुद्दों के जवाब में अनुमान लगाऊंगा, जिन्हें हमने 1996 में पता होना शुरू कर दिया था :) 1537 बताते हैं कि यह BCC टेम्प्लेट में क्यों है।
voretaq7

क्या आपका मतलब है कि इस तरह के क्षेत्र में एक प्रविष्टि होनी चाहिए जैसे कि example.com: localhost। 86400 इन ए 127.0.0.1; अवधि ध्यान दें
मैथ्यू

3
1912 का 4.1 वास्तव में इस पर काफी स्पष्ट है: ietf.org/rfc/rfc1912.txt
मैक्सिमस मिनिमस

5 साल, लेकिन स्पष्ट करने के लायक: RFC 1912 का 4.1 स्पष्ट है कि localhost ज़ोन सर्वर पर मौजूद होना चाहिए (इसलिए यदि उसे सीधे सादे "लोकलहोस्ट" का अनुरोध मिलता है, तो वह इसे अगले सर्वर तक श्रृंखला नहीं देता है), यह एक है दूर के क्षेत्र (बनाने ) localhostमें शामिल होने से रोना , जो यह कहने में समान रूप से स्पष्ट है कि आपको संभावित अनपेक्षित दुष्प्रभावों के कारण ऐसा नहीं करना चाहिए । उम्मीद "लोकलहोस्ट" के लिए अपने आप में एक विशेष, जादुई, पूरी तरह से योग्य डोमेन होने की है। example.comlocalhost.example.com
voretaq7

0

मुझे यकीन नहीं है कि बिंदु क्या होगा ... डिफ़ॉल्ट रूप से, बाहरी पता होस्ट फ़ाइल द्वारा ओवर-राइड किया जाएगा, जो हमेशा स्थानीयहोस्ट को 127.0.0.1 पर मैप करता है।

एक डिफ़ॉल्ट BIND ज़ोन फ़ाइल में एक लोकलहोस्ट ज़ोन शामिल होता है, हालाँकि। इसके बारे में वास्तव में कभी नहीं सोचा था।


यह लोकलहोस्ट ज़ोन नहीं है (जब तक कि उस ज़ोन का गलत कॉन्फ़िगरेशन न हो)। यह 'लोकलहोस्ट' भी नहीं है। और आमतौर पर स्थानीय होस्ट फ़ाइल द्वारा ओवर-राइड नहीं किया जाएगा।
मैथ्यू
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.