डोमेन फ्रंटिंग VPN नहीं है: दो नाम, एक अनुरोध
एक HTTPS अनुरोध में दो नाम सुरंग नहीं हैं। फ्रंटिंग प्रदाता के रूटिंग नियमों पर निर्भर करती है; VPN तय करता है कि कौन से पैकेट चलें। इन्हें अलग-अलग बनाएँ।
दोनों तकनीकें इसलिए एक साथ दर्ज होती हैं क्योंकि दोनों में एक मध्यस्थ होता है और दोनों छिपाने जैसी लगती हैं। वे अलग-अलग वस्तुओं पर काम करती हैं। डोमेन फ्रंटिंग इस बारे में है कि एक HTTPS अनुरोध की किस परत पर कौन सा नाम दिखता है। VPN इस बारे में है कि कौन से पैकेट किसी विशेष मार्ग से पीयर तक जाते हैं। फ्रंटिंग को VPN का एक प्रकार कहना ऐसे डिज़ाइनों तक ले जाता है जो काम नहीं कर सकते, और ऐसी समीक्षाओं तक जो गलत सवाल पूछती हैं।
दो नाम, दो परतें
एक TLS कनेक्शन अपने हैंडशेक में सर्वर का नाम ले जा सकता है। कनेक्शन बन जाने के बाद, HTTP अनुरोध उस प्राधिकार को पहचानता है जो वह चाहता है, आमतौर पर Host हेडर में। ये दो फ़ील्ड हैं जिन्हें दो अलग-अलग क्षणों में दो अलग-अलग सॉफ़्टवेयर हिस्से पढ़ते हैं।
| Layer | What carries the name | Who reads it |
|---|---|---|
| TLS handshake | Server name indication | The TLS terminator in front of the service |
| HTTP request | Authority or Host header | The routing layer that picks a backend |
| Network path | Destination address and port | Routers, and the VPN peer if one is in use |
डोमेन फ्रंटिंग पहले दो के बीच के अंतर का फ़ायदा उठाती है ताकि कोई फ्रंटिंग सेवा कनेक्शन स्वीकार करे और फिर अनुरोध को कहीं और रूट करे। यह केवल वहीं काम करती है जहाँ वह सेवा इसे रूट करने को तैयार हो, और यह प्रोटोकॉल की तरकीब नहीं बल्कि प्रदाता की नीति का सवाल है।
फ्रंटिंग तकनीक पर नहीं, प्रदाता पर निर्भर करती है
एक सीमित उदाहरण के तौर पर, Front Door पर अक्सर पूछे जाने वाले प्रश्न Azure का दस्तावेज़ डोमेन फ्रंटिंग के विरुद्ध सुरक्षाओं का वर्णन करता है। इसमें एक ही सदस्यता और कॉन्फ़िगर किए गए मार्गों के भीतर डोमेन के लिए अनुमत बेमेल का, और जब बेमेल सुरक्षा किसी अनुरोध को अवरुद्ध करती है तो 421 Misdirected Request प्रतिक्रिया का वर्णन है।
वह एक दस्तावेज़ी नीति एक साथ दोनों नारों को रद्द कर देती है। अलग-अलग नामों का हर जोड़ा काम नहीं करता, और हर बेमेल प्रतिबंधित भी नहीं है। दूसरी सेवाओं की अपनी जाँचें, अपनी तैनाती आवश्यकताएँ और अपने त्रुटि कोड हैं।
यह किसी दूसरे नेटवर्क के प्रतिबंधों को दरकिनार करने का निर्देश भी नहीं है। किसी प्रदाता के रूटिंग नियमों को पढ़कर यह समझना कि वह क्या अनुमति देता है, आर्किटेक्चर का काम है; उन नियमों को बचने की विधि मानना अलग परिणामों वाली अलग गतिविधि है। आप जो दस्तावेज़ लिख रहे हैं उसमें इन दोनों गतिविधियों को अलग रखें। दूसरी ही वह है जिससे समीक्षा में कोई डिज़ाइन अस्वीकार होता है।
VPN वास्तव में क्या चुनता है
नेटवर्क VPN में, रूटिंग और प्लेटफ़ॉर्म नीति पीयर तक जाने वाली सुरंग के लिए आंतरिक ट्रैफ़िक चुनती हैं। व्यवस्था के अनुसार यह कई एप्लिकेशन या एक निर्धारित उपसमुच्चय को कवर कर सकता है, और ऐसे प्रोटोकॉल ले जा सकता है जिनमें कोई HTTP अनुरोध ही नहीं होता।
फ्रंटिंग इनमें से कुछ भी नहीं करती। किसी फ्रंटिंग सेवा के माध्यम से एक HTTPS अनुरोध व्यवस्थित करना निजी नेटवर्क मार्ग स्थापित नहीं करता, मनमाने UDP एप्लिकेशन नहीं ले जाता, और डिवाइस के हर प्रोग्राम को सेवा उपयोग करने पर बाध्य नहीं करता। यदि आपको वह कवरेज चाहिए, तो आपको प्रॉक्सी या सुरंग चाहिए, नाम की तरकीब नहीं।
इसीलिए समीक्षा में दोनों गड्ड-मड्ड हो जाते हैं: दोनों को मध्यस्थ कहा जाता है, और दोनों पहुँच से जुड़े दस्तावेज़ों में आते हैं। दोनों जो इंटरफ़ेस देते हैं वह बिल्कुल अलग है, और उनमें से केवल एक ही नेटवर्क मार्ग है।
दृश्यता द्विआधारी नहीं है
तुलना भी केवल छिपा बनाम दृश्य नहीं है। DNS क्वेरी, गंतव्य पते, हैंडशेक की विशेषताएँ, पैकेट का आकार और समय सब उस व्यक्ति के लिए अवलोकनीय रहते हैं जो उन्हें देखने की स्थिति में हो, और वह पर्यवेक्षक क्या सीखता है यह इस पर निर्भर है कि वह कहाँ बैठा है।
एप्लिकेशन डेटा भी उन सिरों पर दिखता है जो उसे समाप्त करते हैं। आपका अनुरोध रूट करने वाली फ्रंटिंग सेवा उन सिरों में से एक है, और VPN पीयर दूसरा है। कोई भी व्यवस्था सामग्री को उस पक्ष के लिए अपारदर्शी नहीं बनाती जिसे आपकी सेवा के लिए उसे पढ़ना पड़ता है।
तीन बक्से बनाएँ
आर्किटेक्चर समीक्षा के लिए, TLS सिरे, HTTP रूटिंग सेवा और अंतिम एप्लिकेशन को तीन अलग बक्सों के रूप में बनाएँ, फिर किसी भी VPN पीयर को फिर से कहीं और बनाएँ। वेब गंतव्य चुनने वाला स्थान और निजी नेटवर्क के पैकेट ले जाने वाला स्थान एक ही सिस्टम होना ज़रूरी नहीं है, और आमतौर पर होते भी नहीं।
बक्से अलग हो जाने के बाद सवालों के जवाब मिलते हैं: यह प्रदाता कौन से नाम स्वीकार करता है, किन प्रोटोकॉल को ढुलाई चाहिए, और कौन सा पक्ष क्या देख सकता है। जो आरेख इन्हें मिला देता है वह ऐसा डिज़ाइन बनाता है जिसे कोई लागू नहीं कर सकता, और ऐसी समीक्षा जो शब्दावली पर बहस करती है।