एसएसएलएच: एसएसएच / एचटीटीपीएस / ओपनवीपीएन / टेलीग्राम को एक एकल पोर्ट 443 के पीछे छिपाएं

छवि

SSH / HTTPS / OpenVPN / Telegram और एक पोर्ट पर सब कुछ! क्या!
- हाँ!
  • अपनी कुछ सेवाओं की उपस्थिति छिपाना चाहते हैं?
  • 443 (https) पोर्ट को छोड़कर सब कुछ एक सार्वजनिक वाई-फाई नेटवर्क पर अवरुद्ध है?
  • क्या आपने Telegram Proxy / OpenVPN को कॉन्फ़िगर किया है और इसे "चमकाना" नहीं चाहते हैं?
  • सेंसर देशों से आपके सर्वर का SSH कनेक्शन?

इन सभी प्रश्नों का केवल एक ही उत्तर है - मल्टीप्लेक्सिंग एसएसएल / टीएलएस कनेक्शन, या एसएसएलएच।

पोस्ट में, हम देखेंगे कि 1 पोर्ट के पीछे 1 कमांड में सेवाओं का एक गुच्छा कैसे छिपाया जाए

क्यों?


टेलीग्राम प्रॉक्सी के हालिया रिलीज़ के साथ, जो लगभग पूरी तरह से एसएसएल ट्रैफ़िक जैसा दिखता है, पोस्ट के लिए टिप्पणियों में एक दिलचस्प सवाल सामने आया है:
न्यूटन :
मेरे पास एक बहुत अच्छा सवाल है - क्या यह वास्तव में sslh के साथ मिलकर संभव नहीं है?
Sslh एप्लिकेशन की क्षमताओं की त्वरित जांच के बाद, यह मुझे लगने लगा कि मैं इसे शुरू नहीं कर पाऊंगा, लेकिन मुझे इस एप्लिकेशन में बहुत रुचि थी, और जैसा कि यह निकला, मैं अभी भी इसे हेजल के साथ पार कर सकता हूं।

कैसे?


SSLH एप्लिकेशन मल्टीप्लेक्सर है, दूसरे शब्दों में, यह ट्रैफ़िक का विश्लेषण करता है (वास्तव में मिनी-डीपीआई काम करता है) और, ट्रैफ़िक के प्रकार के आधार पर, इसे स्थानीय पोर्ट 8443/999/991 या किसी अन्य को भेजता है ...

जो हमें लाभ के लिए पहली बार DPI तकनीक का उपयोग करने की अनुमति देता है।

कार्य


SSLH का उपयोग करने के एक उदाहरण के लिए, हम कार्य निर्धारित करते हैं:

सर्वर पर निम्नलिखित एप्लिकेशन इंस्टॉल किए जाते हैं - टेलीग्राम प्रॉक्सी, अपाचे, एसएसएच और हम इन सभी सेवाओं को पोर्ट 443 के माध्यम से दुनिया में आने देना चाहते हैं।

हमारे उदाहरण में सर्वर उबंटू 16.04.4 LTS, Apache2 + LetsEncrypt, SSH, Telegram Proxy in Docker है।

फिलहाल, अपाचे इस पर काम कर रहा है, जैसा कि यह होना चाहिए।

स्थापना और सेटअप


SSLH स्थापित करें:

sudo apt-get install --no-install-recommends sslh 

स्थापना के दौरान, उपयोग मोड के बारे में एक प्रश्न पूछा जाएगा, उनमें से दो हैं:

  • स्थिर लेकिन अधिक संसाधन गहन
  • तेजी से, लेकिन कनेक्शन के नुकसान के साथ जब प्रक्रिया गिर जाती है

मैं दूसरे विकल्प के लिए हूं, निश्चित रूप से, आप दूसरा चुन सकते हैं।

जाँच करें कि क्या हमारा चमत्कार निम्नलिखित कमांड के साथ काम करता है:

 sudo sslh-select -f --listen IP:8443 --tls 127.0.0.1:443 --ssh 127.0.0.1:22 --anyprot 127.0.0.1:9443 

आईपी ​​- बाहरी आईपी सर्वर
8443 - पोर्ट जिस पर हमारा मल्टीप्लेक्स लॉन्च किया जाएगा
४४३ - जहाँ अपाचे रहते हैं
Anyprot विकल्प पर ध्यान दें - यह वह जगह है जहां हमारा टेलीग्राम प्रॉक्सी लाइव होगा, दूसरे शब्दों में, यदि ट्रैफ़िक किसी भी प्रकार से फिट नहीं है - वहां भेजें।

चेतावनी! यदि आपके कॉन्फ़िगरेशन में टेलीग्राम या एसएसएच नहीं है, तो अतिरिक्त स्टार्टअप कुंजियों को हटा दें।

इसकी जाँच करें?


पोर्ट 8443 के साथ अपने सर्वर पते पर एक ब्राउज़र खोलें - आपको अपाचे से प्रतिक्रिया देखनी चाहिए, फिर एसएसएच या टेलीग्राम प्रॉक्सी के माध्यम से कनेक्ट करने का प्रयास करें।

पोर्टिंग अपाचे दूसरे पोर्ट में


अपाचे को मानक पोर्ट (443) से दूसरे में स्थानांतरित करने के लिए, उदाहरण के लिए 7443 पर, निम्न फाइलों पर जाएं:

 sudo nano /etc/apache2/ports.conf sudo nano /etc/apache2/sites-enabled/000-default-le-ssl.conf 

उदाहरण में, Apache + SSL / HTTPS को एक अलग प्रमाण पत्र के साथ LetsEncrypt का उपयोग करके स्थापित किया गया था, कॉन्फ़िगरेशन फ़ाइलें अन्य तरीकों से हो सकती हैं।

ऑटोप्ले


यह ऑटोरन सेट करने का समय है।

फ़ाइल संपादित करें:

 sudo nano /etc/default/sslh 

DAEMON_OPTS = फ़ील्ड में, sslh -select कमांड चलाते समय विशेषताएँ जोड़ें, RUN को = yes पर सेट करें।

चलाएँ:

 sudo systemctl start sslh 

सुनिश्चित करें कि सब कुछ ठीक है:

 sudo systemctl status sslh 

परिणाम क्या है?


इस ट्यूटोरियल को पूरा करने के बाद, आपके पास एक सर्वर होना चाहिए जिसमें एक पोर्ट के माध्यम से कई सेवाएँ उपलब्ध हों (जो आपकी पसंद की हों)

OpenVPN के बारे में क्या? क्या प्रोटोकॉल अभी भी आवेदन करने में सक्षम है?


लेखन के समय, sslh निम्नलिखित प्रोटोकॉल का पता लगा सकता है और उन्हें बढ़ा सकता है:
 [--ssh <addr>] [--openvpn <addr>] [--tinc <addr>] [--xmpp <addr>] [--http <addr>] [--ssl <addr>] [--tls <addr>] [--anyprot <addr>] 

उपयोग करने से पहले, यह सुनिश्चित करना बेहतर है कि आपके संस्करण का कौन सा प्रोटोकॉल समर्थन करता है, (अचानक यह नया है) का उपयोग कर:

 sslh-select -h 


संदर्भ


SSLH विकास गितुब पर, इस भंडार में होता है: github.com/yrutschle/sslh

डाक में काम करनेवाला मज़दूर


मैं अन्य सभी सेवाओं के साथ docker में sslh के कार्यशील संस्करण को एकत्र करने में सफल नहीं हुआ, मेरी राय में docker-compose फाइल जिसे पोर्ट 443 पर उठाया जा सकता है, वह दिलचस्प होगी:
  • Apache + LetsEncrypt
  • टेलीग्राम प्रॉक्सी
  • OpenVPN (वैकल्पिक)
  • स्थानीय SSH का उपयोग करें


यदि कोई सफल होता है - टिप्पणियों में लिखें - लेख में जोड़ें, मेरी राय में, यह उपयोगी होगा।

आपकी रुचि भी हो सकती है।


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


All Articles