प्रतिनिधि इंटरव्यू विषय

नेटवर्किंग इंटरव्यू: DNS over HTTPS और इसके उपयोग के समय को समझाइए

सामान्यमध्यम
Offer.cc संपादकीय टीमप्रकाशित अपडेट किया गया

प्रश्न

DNS over HTTPS क्या है, यह किसकी सुरक्षा करता है, और आप इसे पारंपरिक DNS या DNS over TLS की तुलना में कब चुनेंगे? रिक्वेस्ट और रिस्पॉन्स सेमेंटिक्स, बूटस्ट्रैप, कैशिंग, एंटरप्राइज पॉलिसी, विफलता हैंडलिंग, और आप इस विकल्प को कैसे सत्यापित करेंगे, इसकी व्याख्या करें।

प्रश्न और यह कब लागू होता है

यह प्रश्न नेटवर्किंग, सुरक्षा, बैकएंड, SRE और सेल्स-इंजीनियरिंग साक्षात्कारों में पूछा जाता है। एक मजबूत उत्तर DNS over HTTPS (DoH) को केवल "सर्टिफिकेट वाला DNS" मानने के बजाय एक प्रोटोकॉल सीमा के रूप में देखता है। DoH एक HTTPS एक्सचेंज के भीतर DNS क्वेरी और रिस्पॉन्स को ले जाता है। यह ट्रांसपोर्ट क्लाइंट और DoH रिज़ॉल्वर के बीच सामान्य ऑन-पाथ ऑब्जर्वर से क्वेरी को छुपाता है, लेकिन रिज़ॉल्वर को यह अभी भी प्राप्त होती है और वह इसे लॉग या फ़िल्टर कर सकता है। इसका चयन इस बात पर निर्भर करता है कि DNS किसे देखना चाहिए, किन पॉलिसी नियंत्रणों की आवश्यकता है, और क्या क्लाइंट रिज़ॉल्वर तक विश्वसनीयता से पहुँच सकता है।

साक्षात्कारकर्ता क्या मूल्यांकन कर रहा है

  • क्या आप DNS मैसेज सेमेंटिक्स को HTTP स्टेटस और ट्रांसपोर्ट व्यवहार से अलग कर सकते हैं।
  • क्या आप गोपनीयता की सीमा स्पष्ट करते हैं: चुने गए रिज़ॉल्वर तक एन्क्रिप्शन का अर्थ गुमनामी (anonymity) नहीं है।
  • क्या आप GET बनाम POST, कंटेंट टाइप, कैश व्यवहार और बूटस्ट्रैप को समझते हैं।
  • क्या आप परिनियोजन स्वामी (deployment owner), ऑब्जर्वेबिलिटी, लेटेंसी और पॉलिसी के आधार पर DoH, DoT और सामान्य DNS की तुलना करते हैं।
  • क्या आप यह दावा करने के बजाय कि एन्क्रिप्शन स्वतः ही हर परिणाम को बेहतर बनाता है, फ़ॉलबैक और परीक्षणों को परिभाषित करते हैं।

पहले स्पष्ट करने योग्य प्रश्न

पूछें कि क्लाइंट और रिज़ॉल्वर को कौन नियंत्रित करता है, क्या कॉर्पोरेट फ़िल्टरिंग या ऑडिट पॉलिसी लागू रहनी चाहिए, क्या नेटवर्क आउटबाउंड HTTPS या UDP/TCP DNS को ब्लॉक करता है, और क्या लक्ष्य स्थानीय नेटवर्क से गोपनीयता, एप्लिकेशन-स्तरीय API एक्सेस, या छेड़छाड़ से सुरक्षा है। स्पष्ट करें कि क्या ब्राउज़र, ऑपरेटिंग-सिस्टम रिज़ॉल्वर, या कोई प्रबंधित एजेंट क्वेरी जारी करेगा। इसके अलावा लेटेंसी बजट, कैप्टिव पोर्टल, स्प्लिट-होराइजन नाम, DNSSEC सत्यापन, लॉगिंग प्रतिधारण (retention), और चयनित रिज़ॉल्वर के अगम्य होने पर स्वीकार्य फ़ॉलबैक के बारे में पूछें। ये उत्तर एंटरप्राइज-प्रबंधित रिज़ॉल्वर, एप्लिकेशन DoH क्लाइंट, DoT, या सामान्य DNS के पक्ष में निर्णय तय कर सकते हैं।

30-सेकंड का उत्तर ढांचा

DoH प्रत्येक DNS क्वेरी-रिस्पॉन्स युग्म को एक HTTPS रिक्वेस्ट और रिस्पॉन्स में मैप करता है, जो सामान्यतः application/dns-message मीडिया टाइप के साथ DNS वायर प्रारूप का उपयोग करता है। यह क्लाइंट-टू-रिज़ॉल्वर हॉप को एन्क्रिप्ट करता है और HTTPS की अनुमति देने वाले नेटवर्क को पार कर सकता है, लेकिन रिज़ॉल्वर अभी भी क्वेरी को देखता है और पॉलिसी के लिए एक स्वीकृत एंडपॉइंट की आवश्यकता हो सकती है। GET कैश-अनुकूल हो सकता है; POST एन्कोडेड क्वेरी को URL में डालने से बचाता है और संवेदनशील रिक्वेस्ट के लिए बेहतर है। मैं स्पष्ट गोपनीयता या API आवश्यकता के लिए DoH चुनूँगा, प्रबंधित रिज़ॉल्वर और स्पष्ट ट्रांसपोर्ट पृथक्करण महत्वपूर्ण होने पर इसकी तुलना DoT से करूँगा, और रोलआउट से पहले बूटस्ट्रैप, कैशिंग, स्प्लिट-DNS व्यवहार, फ़ॉलबैक, टेलीमेट्री न्यूनतमकरण और परीक्षणों को परिभाषित करूँगा।

चरण-दर-चरण गहन विश्लेषण

1. प्रोटोकॉल लेयर्स का मानचित्रण करें

DNS प्रश्न अभी भी एक DNS संदेश ही रहता है। RFC 8484 एक क्वेरी-रिस्पॉन्स युग्म को एक HTTP एक्सचेंज में मैप करता है और बाइनरी प्रतिनिधित्व के लिए application/dns-message को परिभाषित करता है। HTTPS कनेक्शन के लिए TLS गोपनीयता और अखंडता प्रदान करता है, जबकि HTTP मेथड्स, स्टेटस कोड, कनेक्शन पुनर्चक्रण और कैश नियंत्रण प्रदान करता है। DNS NXDOMAIN या SERVFAIL अभी भी एक DNS रिस्पॉन्स कोड है; यह HTTP 2xx रिस्पॉन्स के भीतर आ सकता है। HTTP 4xx या 5xx का अर्थ है कि HTTP एक्सचेंज विफल हो गया और इसमें मूल DNS उत्तर शामिल नहीं है, इसलिए क्लाइंट को HTTP विफलता हैंडलिंग अलग से लागू करनी होगी।

2. GET, POST और कैशिंग का सोच-समझकर चयन करें

RFC 8484 के अनुसार DoH सर्वर को RFC मीडिया प्रकार के लिए GET और POST दोनों का समर्थन करना आवश्यक है। GET बेस64URL-एन्कोडेड DNS संदेश को dns क्वेरी पैरामीटर में रखता है, जो सामान्य HTTP कैश पुनर्चक्रण को बेहतर बना सकता है, लेकिन यह क्वेरी को URL लॉग, मध्यस्थों और ब्राउज़र इतिहास के लिए भी दृश्यमान बनाता है जब तक कि उन सतहों को नियंत्रित न किया जाए। POST बाइनरी संदेश को कंटेंट टाइप के साथ बॉडी में ले जाता है। संवेदनशील नामों के लिए, POST या सावधानीपूर्वक प्रबंधित GET पाथ को प्राथमिकता दें, हेडर को न्यूनतम करें, और सुनिश्चित करें कि कैश ऐसी ताजगी (freshness) का निर्माण न करे जो DNS TTL पॉलिसी के विपरीत हो। Google एक RFC 8484 एंडपॉइंट और एक अलग JSON एंडपॉइंट प्रदान करता है; वे अलग-अलग API अनुबंध हैं।

3. गोपनीयता और पॉलिसी सीमाओं को परिभाषित करें

DoH स्थानीय ऑब्जर्वर को संरक्षित हॉप पर प्लेनटेक्स्ट DNS पैकेट पढ़ने से रोकता है, लेकिन रिज़ॉल्वर अभी भी क्वेरी, क्लाइंट मेटाडेटा, समय और चुने गए पॉलिसी संदर्भ को देख सकता है। HTTPS स्वयं DNS उत्तर को मान्य नहीं करता है; रिज़ॉल्वर का DNSSEC व्यवहार और क्लाइंट का ट्रस्ट मॉडल प्रासंगिक बना रहता है। एक प्रबंधित एंटरप्राइज को एक स्वीकृत रिज़ॉल्वर, श्रेणी फ़िल्टरिंग, स्प्लिट-होराइजन ज़ोन, प्रतिधारण नियंत्रण और ऑडिट साक्ष्य की आवश्यकता हो सकती है। प्रत्येक एप्लिकेशन को मनमाने सार्वजनिक रिज़ॉल्वर का चयन करने की अनुमति देने से वे नियंत्रण बाईपास हो सकते हैं, भले ही ट्रैफ़िक एन्क्रिप्टेड हो।

4. बूटस्ट्रैप, विफलताओं और फ़ॉलबैक को संभालें

क्लाइंट को DoH सर्वर का पता पहले खोजना होगा, इससे पहले कि वह उसी सेवा के माध्यम से उस सर्वर को रिज़ॉल्व कर सके। बूटस्ट्रैप कॉन्फ़िगर किए गए IP, एक विश्वसनीय रिज़ॉल्वर, या किसी अन्य प्रोविज़निंग चैनल का उपयोग कर सकता है; प्रत्येक पाथ को सर्टिफिकेट सत्यापन और रोटेशन की आवश्यकता होती है। HTTP त्रुटियों, DNS रिस्पॉन्स त्रुटियों, टाइमआउट, कैप्टिव पोर्टल अवरोधन, और पॉलिसी अस्वीकृति को अलग-अलग परिणामों के रूप में समझें। रिज़ॉल्वर आउटेज होने पर किसी स्वीकृत ट्रांसपोर्ट पर फ़ॉलबैक किया जा सकता है, लेकिन किसी अविश्वसनीय रिज़ॉल्वर पर स्वचालित या मूक (silent) फ़ॉलबैक गोपनीयता या एंटरप्राइज पॉलिसी का उल्लंघन कर सकता है। डिफ़ॉल्ट रूप से पूर्ण क्वेरी सामग्री को बनाए रखे बिना यह रिकॉर्ड करें कि किस रिज़ॉल्वर और ट्रांसपोर्ट ने उत्तर दिया।

5. परिनियोजन विकल्पों की तुलना करें और उन्हें सत्यापित करें

पारंपरिक DNS सरल है और नेटवर्क ऑपरेटर के लिए दृश्यमान है, लेकिन प्लेनटेक्स्ट ट्रांसपोर्ट पाथ पर क्वेरी को उजागर करता है। DoT एक समर्पित TLS सेवा में DNS को एन्क्रिप्ट करता है और अक्सर ऑपरेटिंग-सिस्टम रिज़ॉल्वर के लिए सीधा और सरल होता है। DoH, DNS को HTTPS में मिलाता है और मौजूदा HTTP इंफ्रास्ट्रक्चर, ब्राउज़र API और पोर्ट 443 रीचेबिलिटी का उपयोग कर सकता है, जिसकी कीमत अधिक HTTP-लेयर पॉलिसी और ऑब्जर्वेबिलिटी जटिलता के रूप में चुकानी पड़ती है। नियंत्रित परीक्षण से पैकेट कैप्चर, रिज़ॉल्वर-साइड DNS और HTTP स्टेटस लॉग, कैश हिट और TTL व्यवहार, स्प्लिट-DNS मामलों, DNSSEC विफलताओं, कैप्टिव पोर्टल, रिज़ॉल्वर आउटेज, सर्टिफिकेट रोटेशन और फ़ॉलबैक पॉलिसी के साथ इस विकल्प को सत्यापित करें। केवल औसत लेटेंसी के बजाय लुकअप p50/p95/p99, विफलता श्रेणियों और क्वेरी लीकेज को मापें।

एक मजबूत उत्तर का उदाहरण

DoH एक ऐसा प्रोटोकॉल है जो HTTPS एक्सचेंज के भीतर DNS क्वेरी और रिस्पॉन्स को रखता है। DNS संदेश अपना सामान्य अर्थ बनाए रखता है; HTTPS क्लाइंट से चयनित रिज़ॉल्वर तक के हॉप की सुरक्षा करता है, और HTTP मेथड्स, स्टेटस कोड, कनेक्शन पुनर्चक्रण और कैश व्यवहार प्रदान करता है। इसलिए DNS NXDOMAIN को HTTP 2xx रिस्पॉन्स में ले जाया जा सकता है, जबकि HTTP 5xx एक ट्रांसपोर्ट या सर्विस विफलता है जिसमें कोई DNS उत्तर नहीं होता है। मैं DoH का उपयोग तब करूँगा जब मुझे एप्लिकेशन-स्तरीय एक्सेस या स्थानीय नेटवर्क से गोपनीयता की आवश्यकता हो और मैं एक स्वीकृत रिज़ॉल्वर निर्दिष्ट कर सकूँ। मैं संवेदनशील नामों के लिए POST को प्राथमिकता दूँगा, हेडर को न्यूनतम रखूँगा, और रिज़ॉल्वर पॉलिसी, DNSSEC हैंडलिंग, स्प्लिट-होराइजन ज़ोन और प्रतिधारण को स्पष्ट रखूँगा। बूटस्ट्रैप कॉन्फ़िगर किए गए या विश्वसनीय रिज़ॉल्यूशन के माध्यम से होना चाहिए, और फ़ॉलबैक को स्वीकृत पॉलिसी के भीतर ही रहना चाहिए। रोलआउट से पहले मैं कैश और TTL सेमेंटिक्स, GET के लिए URL लॉगिंग जोखिम, कैप्टिव पोर्टल, सर्टिफिकेट रोटेशन, रिज़ॉल्वर आउटेज, DNSSEC त्रुटियों और यह परीक्षण करूँगा कि क्या पैकेट या लॉग इच्छित रिज़ॉल्वर के बाहर प्रश्नों को प्रकट करते हैं।

सामान्य गलतियाँ

  • यह कहना कि "HTTPS, DNS को अज्ञात बनाता है" → चयनित रिज़ॉल्वर अभी भी क्वेरी और मेटाडेटा देखता है → सटीक संरक्षित हॉप और रिज़ॉल्वर ट्रस्ट सीमा का उल्लेख करें।
  • DNS NXDOMAIN को HTTP त्रुटि मानना → DNS रिस्पॉन्स कोड HTTP 2xx के भीतर हो सकते हैं → HTTP और DNS स्टेटस लेयर्स को अलग-अलग पार्स करें।
  • URL लॉग पर चर्चा किए बिना गुप्त डेटा के लिए GET चुनना → एन्कोडेड क्वेरी इतिहास या मध्यस्थ लॉग में प्रवेश कर सकती है → POST या नियंत्रित कैश और लॉगिंग पॉलिसी का उपयोग करें।
  • यह दावा करना कि DoH हमेशा DoT से बेहतर है → परिनियोजन स्वामी, पॉलिसी, रीचेबिलिटी और ऑब्जर्वेबिलिटी भिन्न होते हैं → पहले ठोस वातावरण की तुलना करें।
  • उसी अनसुलझे रिज़ॉल्वर के माध्यम से DoH होस्टनाम को बूटस्ट्रैप करना → क्लाइंट एक सर्कुलर डिपेंडेंसी में फँस जाता है → एक एड्रेस या विश्वसनीय बूटस्ट्रैप पाथ का प्रावधान करें।
  • टाइमआउट के बाद किसी भी सार्वजनिक रिज़ॉल्वर पर फ़ॉलबैक करना → गोपनीयता और एंटरप्राइज फ़िल्टरिंग बाईपास हो सकती है → फ़ॉलबैक को केवल स्वीकृत ट्रांसपोर्ट और एंडपॉइंट्स तक सीमित रखें।
  • केवल औसत लेटेंसी मापना → आउटेज, कैश मिस और लीकेज छिपे रहते हैं → p95/p99, विफलता श्रेणियों, TTL व्यवहार और रिज़ॉल्वर पहचान को खंडित करके मापें।

फॉलो-अप प्रश्न और उत्तर

क्या DoH यह प्रमाणित करता है कि DNS उत्तर प्रामाणिक है?

नहीं। TLS केवल क्लाइंट द्वारा चुने गए HTTPS सर्वर को प्रमाणित करता है। DNS उत्तर की प्रामाणिकता रिज़ॉल्वर के सत्यापन व्यवहार और उस रिज़ॉल्वर में क्लाइंट के विश्वास पर निर्भर करती है; DNSSEC और HTTPS अलग-अलग विषय हैं। डिज़ाइन में यह दर्ज होना चाहिए कि क्या सत्यापन आवश्यक है और सत्यापन विफलता को कैसे प्रदर्शित किया जाए।

HTTP 200 में असफल DNS लुकअप क्यों हो सकता है?

HTTP एक्सचेंज सफल रहा और उसने एक वैध DNS संदेश का परिवहन किया। DNS संदेश में NXDOMAIN, SERVFAIL, या कोई अन्य DNS रिस्पॉन्स कोड हो सकता है। क्लाइंट को दोनों लेयर्स को पार्स करना चाहिए और एक वैध DNS नकारात्मक उत्तर को इस तरह पुनः प्रयास (retry) करने से बचना चाहिए जैसे कि HTTP अनुरोध विफल हो गया हो।

DoT कब एक बेहतर विकल्प होता है?

DoT तब एक उपयुक्त विकल्प है जब कोई ऑपरेटिंग सिस्टम या एंटरप्राइज रिज़ॉल्वर ट्रांसपोर्ट को नियंत्रित करता है, एक समर्पित DNS पोर्ट और सीधी नेटवर्क पॉलिसी चाहता है, और उसे ब्राउज़र-उन्मुख HTTP API की आवश्यकता नहीं होती है। DoH तब बेहतर होता है जब मौजूदा HTTPS रीचेबिलिटी या एप्लिकेशन API की आवश्यकता हो। यह निर्णय स्वामित्व और पॉलिसी पर आधारित होता है, न कि इस व्यापक नियम पर कि "एन्क्रिप्टेड हमेशा बेहतर होता है"।

जब DoH रिज़ॉल्वर कैप्टिव पोर्टल पर अगम्य हो तो क्या होना चाहिए?

पोर्टल या बार-बार TLS/HTTP विफलता का पता लगाएं, पुनः प्रयास प्रवर्धन (retry amplification) को रोकें, और कॉन्फ़िगर की गई पॉलिसी का पालन करें: स्वीकृत फ़ॉलबैक का उपयोग करें, उपयोगकर्ता-दृश्यमान पुनर्प्राप्ति पाथ के साथ रिज़ॉल्यूशन रोकें, या केवल तभी नेटवर्क-प्रदत्त DNS का अस्थायी रूप से उपयोग करें जब पॉलिसी अनुमति दे। रोलआउट से पहले इसका परीक्षण करें क्योंकि अंधाधुंध फ़ॉलबैक प्रत्येक क्वेरी को लीक कर सकता है।

सार्वजनिक स्रोत

संबंधित प्रश्न