एसएसटीपी के माध्यम से वीपीएन कैसा है

मुझे Habr पर SSTP के कुछ संदर्भ मिले, जिसके संबंध में मैं इस प्रोटोकॉल के उपकरण के बारे में बात करना चाहता हूं। सुरक्षित सॉकेट टनलिंग प्रोटोकॉल (SSTP) माइक्रोसॉफ्ट का एक वीपीएन प्रोटोकॉल है, जो एसएसएल पर आधारित है और विंडोज 2008 और विंडोज विस्टा SP1 के बाद से उनके ओएस में शामिल है। कनेक्शन पोर्ट 443 पर HTTPS के माध्यम से है। SSL का उपयोग एन्क्रिप्शन के लिए किया जाता है, SSL और PPP का उपयोग प्रमाणीकरण के लिए किया जाता है। डिवाइस के बारे में अधिक - कट के नीचे।

प्रोटोकॉल का सर्वर हिस्सा विंडोज सर्वर 2008, 2008 R2, 2012, 2012 R2 में शामिल है। निम्नलिखित वर्तमान का वर्णन करता है (और, ऐसा लगता है, केवल) संस्करण - 1.0।
यह मुख्य रूप से नोड-टू-नोड या नोड-टू-नेटवर्क प्रकार को जोड़ने के लिए उपयोग किया जाता है। डिफ़ॉल्ट रूप से, पोर्ट 443 का उपयोग कनेक्शन के लिए किया जाता है, लेकिन आप अन्य पोर्ट भी कॉन्फ़िगर कर सकते हैं।

डेटा पैकेट की सशर्त योजना

परंपरागत रूप से, डेटा ट्रांसफर के दौरान प्रोटोकॉल स्टैक इस तरह दिखता है (केवल वीपीएन से संबंधित हेडर को अंतर्निहित स्तरों के बिना दिखाया गया है):

वास्तविक एसएसटीपी पैकेज की संरचना:

फ्लैग C = 0 यदि पैकेट डेटा के साथ है, और यदि पैकेट कंट्रोल है तो C = 1।

इस्तेमाल की गई क्रिप्टोग्राफी के बारे में कुछ शब्द

SSTP को इस तथ्य के कारण काफी व्यवस्थित किया जाता है कि यह अन्य क्रिप्टोग्राफिक प्रोटोकॉल की कार्यक्षमता का उपयोग करता है। दरअसल, SSTP द्वारा कार्यान्वित एकमात्र क्रिप्टोग्राफ़िक फ़ंक्शन "क्रिप्टोग्राफ़िक बाइंडिंग" है, जिसे नीचे वर्णित किया गया है।
सभी डेटा एन्क्रिप्शन एसएसएल द्वारा किया जाता है। सभी SSTP, PPP और उच्च प्रोटोकॉल पैकेट केवल एन्क्रिप्टेड रूप में प्रेषित होते हैं।
प्राधिकरण तुरंत तीन प्रोटोकॉल से गुजरता है: एसएसएल, पीपीपी और, वास्तव में, एसएसटीपी ही।
जब SSL कनेक्शन स्थापित होता है, तो क्लाइंट SSL प्रमाणपत्र का उपयोग करके क्लाइंट द्वारा अधिकृत होता है। क्लाइंट के सर्वर प्रमाणीकरण की अनुमति है, लेकिन सर्वर का कोई भी विंडोज समर्थित नहीं है।
पीपीपी स्तर पर, क्लाइंट सर्वर द्वारा अधिकृत होता है, और सर्वर प्रमाणीकरण इसके अतिरिक्त हो सकता है। MS-CHAPv2, EAP-TLS, PEAP-MSCHAPv2, PEAP-TLS का उपयोग करके PPP स्तर पर विंडोज सर्वर क्लाइंट प्रमाणीकरण का समर्थन करता है। पासवर्ड प्रमाणीकरण प्रोटोकॉल (पीएपी - गैर-एन्क्रिप्टेड पासवर्ड) और सीएचएपी भी समर्थित हैं, हालांकि, उनके उपयोग की अनुशंसा नहीं की जाती है, क्योंकि वे "क्रिप्टोग्राफ़िक बाइंडिंग" के लिए आवश्यक महत्वपूर्ण जानकारी के आदान-प्रदान के लिए प्रदान नहीं करते हैं। दरअसल, प्रमाणीकरण के तरीके पीपीटीपी के समान ही हैं। PPTP से अंतर यह है कि एक्सचेंज पहले से बने एन्क्रिप्टेड SSL चैनल के अंदर होता है।
अब इस "क्रिप्टोग्राफ़िक बाइंडिंग" के बारे में क्या है। इस तथ्य के कारण कि क्लाइंट और सर्वर का प्रमाणीकरण विभिन्न स्तरों पर होता है, बीच में एक आदमी हमला कर सकता है जब हमलावर सर्वर पर एक एसएसएल कनेक्शन और क्लाइंट के लिए असुरक्षित पीपीपी कनेक्शन स्थापित करता है।
अधिक जानकारी
यानी हमलावर पहले सर्वर पर HTTPS कनेक्शन स्थापित करता है। फिर, वैध क्लाइंट को PPP के माध्यम से लॉग इन करने के लिए प्रेरित किया जाता है, कुछ PPP (लेकिन SSTP) सर्वर के रूप में दिखाई देता है, और फिर यह PPP क्लाइंट को प्राधिकरण अनुरोध भेजता है जो HTTPS कनेक्शन के अंदर SSTP सर्वर से प्राप्त होता है, और सर्वर वैध उपयोगकर्ता से प्राप्त प्रतिक्रियाओं को प्राप्त करता है।
इस से बचाव के लिए, PPP स्तर पर प्रमाणीकरण प्रक्रिया के दौरान उत्पन्न कुंजी के साथ कनेक्शन (कॉल कनेक्टेड संदेश, नीचे देखें) पर हस्ताक्षर करने के लिए SSTP स्तर संदेश का उपयोग किया जाता है। इस तरह, सर्वर सत्यापित कर सकता है कि जिसने एसएसएल कनेक्शन स्थापित किया है और पीपीपी प्राधिकरण पारित करने वाला वही ग्राहक है। दरअसल, इसे "क्रिप्टोग्राफिक बाइंडिंग" कहा जाता है।
अधिक जानकारी
पीपीपी प्राधिकरण के दौरान, एक वैध ग्राहक और सर्वर के बीच एक साझा रहस्य उत्पन्न होता है, जिसे पीपीपी कनेक्शन सुनकर प्राप्त नहीं किया जा सकता है। यानी घुसपैठिया इस रहस्य को नहीं जान सकता। घुसपैठिए भी ग्राहक को SSTP संदेश पर हस्ताक्षर करने के लिए मजबूर नहीं कर सकते हैं, जैसा कि ग्राहक का मानना ​​है कि उसने असुरक्षित पीपीपी कनेक्शन स्थापित किया है और एसएसटीपी कनेक्शन के बारे में कुछ नहीं जानता है।

कनेक्शन स्थापना

1. क्लाइंट SSTP सर्वर के 443 वें पोर्ट में एक टीसीपी कनेक्शन स्थापित करता है।
2. एसएसएल / टीएलएस कनेक्शन टीसीपी कनेक्शन पर स्थापित किया गया है। क्लाइंट सर्वर प्रमाणपत्र की पुष्टि करता है।
3. HTTPS ग्रीटिंग को पास करता है।
4. एसएसटीपी कनेक्शन की स्थापना शुरू होती है। सभी SSTP पैकेट HTTPS के अंदर जाते हैं। क्लाइंट एक कॉल कनेक्ट अनुरोध संदेश भेजता है। यह संदेश SSTP के अंदर उपयोग किए जाने वाले प्रोटोकॉल नंबर को बताता है; मानक के वर्तमान संस्करण में यह हमेशा पीपीपी होता है।
5. सर्वर अनुरोध की जांच करता है और, यदि सबकुछ ठीक है, तो कॉल कनेक्ट एएमडीजेल संदेश के साथ इसका जवाब देता है, जिसमें यह 32-बिट यादृच्छिक संख्या (क्लाइंटऑनस) की रिपोर्ट करता है, जिसका उपयोग अगले ग्राहक की प्रतिक्रिया में पुनरावृत्ति से बचाने के लिए किया जाता है, साथ ही एक हैश सूची भी। अगली प्रतिक्रिया (SHA1 और / या SHA256) पर हस्ताक्षर करने के लिए कार्य।
6. एक पीपीपी प्राधिकरण है। सभी PPP पैकेट SSTP पैकेट में एम्बेडेड होते हैं और तदनुसार, SSL एन्क्रिप्ट किया जाता है।
7. क्लाइंट एक कनेक्ट कनेक्टेड संदेश भेजता है, जिसमें SSL कनेक्शन स्थापित करते समय प्राप्त क्लाइंटनेटऑन और सर्वर सर्टिफिकेट हैश (क्लाइंट सर्टिफिकेट हाश) शामिल होता है।
यह संदेश सर्वर द्वारा निर्दिष्ट हैश का उपयोग करके हस्ताक्षरित किया गया है (अधिक सटीक रूप से, इसके आधार पर एचएमएसी) और पीपीपी प्राधिकरण प्रक्रिया में प्राप्त की गई कुंजी। इस प्रकार, क्रिप्टोग्राफिक बाध्यकारी लागू किया जाता है। यदि पीपीपी में प्राधिकरण के लिए एक प्रोटोकॉल का उपयोग किया जाता है जो एमपीपीई (पीएपी या सीएचएपी) के लिए मुख्य पीढ़ी का समर्थन नहीं करता है, तो एचएमएसी की गणना शून्य के बराबर कुंजी का उपयोग करके की जाती है; यानी, वास्तव में, क्रिप्टोग्राफ़िक बंधन का प्रदर्शन नहीं किया जाता है और किसी व्यक्ति के बीच में ऊपर वर्णित आक्रमण संभव है।
8. सर्वर कॉल कनेक्टेड संदेश की जांच करता है, इस पर एसएसटीपी स्थापित माना जाता है।
9. पीपीपी सेटिंग्स की स्थापना पूर्ण होने के करीब है।
सब कुछ, कनेक्शन स्थापित है। इसके अलावा, पार्टियां डेटा पैकेट का आदान-प्रदान करती हैं।

कनेक्शन टूट गया

एक संचार ब्रेक से एक साधारण चैनल को अलग करने के लिए, पार्टियां एक-दूसरे को "पिंग" करती हैं। यदि 60 सेकंड के भीतर कोई पैकेट एक्सचेंज नहीं है, तो एक इको रिक्वेस्ट (एसएसटीपी कंट्रोल पैकेट) भेजा जाता है। यदि अगले 60 सेकंड के भीतर कोई जवाब नहीं है, तो कनेक्शन काट दिया जाता है।

कनेक्शन समाप्ति

कनेक्शन को किसी विशेष बारीकियों के बिना पूरा किया जाता है, पार्टियां कनेक्शन के अंत के बारे में एसएसटीपी संदेशों का आदान-प्रदान करती हैं और कुछ सेकंड के बाद कनेक्शन को तोड़ देती हैं।

विस्तृत प्रोटोकॉल विवरण।
प्रोटोकॉल का एक बहुत ही संक्षिप्त विवरण।

Source: https://habr.com/ru/post/In196134/


All Articles