SSLH: إخفاء SSH / HTTPS / OpenVPN / Telegram خلف منفذ واحد 443

الصورة

SSH / HTTPS / OpenVPN / Telegram وكل شيء على منفذ واحد ؟! ماذا ؟!
- نعم!
  • هل تريد إخفاء وجود بعض خدماتك؟
  • هل كل شيء باستثناء 443 منفذ (https) محجوب على شبكة Wi-Fi عامة؟
  • هل قمت بتكوين Telegram Proxy / OpenVPN ولا تريد "تألقه"؟
  • اتصال SSH بخادمك من البلدان الخاضعة للرقابة؟

هناك إجابة واحدة فقط لكل هذه الأسئلة - مضاعفة اتصالات SSL / TLS أو SSLH.

في المنشور ، سننظر في كيفية إخفاء مجموعة من الخدمات في أمر واحد خلف منفذ واحد .

لماذا؟


مع الإصدار الأخير من Telegram Proxy ، والذي يشبه تمامًا حركة مرور SSL ، ظهر سؤال مثير للاهتمام في التعليقات على المنشور :
نيوتن :
لدي سؤال جميل للغاية - أليس من الممكن حقًا الحصول على هذا مع SSLH؟
بعد فحص سريع لقدرات تطبيق sslh ، بدا لي أنني لن أتمكن من تشغيله ، لكني كنت مهتمًا جدًا بهذا التطبيق ، وكما اتضح ، لا يزال بإمكاني تجاوزه باستخدام القنفذ .

كيف؟


تطبيق SSLH هو معدد إرسال ، بمعنى آخر ، يقوم بتحليل حركة المرور (في الواقع يقوم بعمل mini-DPI) ، واعتمادًا على نوع حركة المرور ، يرسله إلى المنفذ المحلي 8443/999/991 أو أي ...

مما يسمح لنا باستخدام تقنية DPI للمرة الأولى لصالحك .

التحدي


للحصول على مثال لاستخدام SSLH ، قمنا بتعيين المهمة:

التطبيقات التالية مثبتة على الخادم - Telegram Proxy و Apache و SSH ونريد السماح لجميع هذه الخدمات بالدخول إلى العالم من خلال المنفذ 443.

الخادم في مثالنا هو Ubuntu 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 

IP - خادم IP خارجي
8443 - المنفذ الذي سيتم إطلاق معدد الإرسال فيه
443 - حيث يعيش أباتشي
انتبه إلى خيار anyprot - هذا هو المكان الذي سيعيش فيه Telegram Proxy ، بمعنى آخر ، إذا كانت حركة المرور لا تتناسب مع أي نوع - أرسلها إلى هناك.

إنتباه! إذا لم يكن التكوين الخاص بك يحتوي على Telegram أو SSH ، فقم بإزالة مفاتيح بدء التشغيل الإضافية.

تحقق من ذلك؟


افتح متصفحًا على عنوان الخادم الخاص بك باستخدام المنفذ 8443 - من المفترض أن ترى استجابة من Apache ، ثم حاول الاتصال عبر SSH أو من خلال Telegram Proxy.

نقل أباتشي إلى منفذ آخر


لنقل Apache من المنفذ القياسي (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 على = نعم.

الجري:

 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

عامل ميناء


لم أنجح في جمع نسخة العمل من sslh في عامل الميناء مع جميع الخدمات الأخرى ، في رأيي ، سيكون ملف إنشاء عامل الميناء الذي يمكن رفعه على المنفذ 443 مثيرًا للاهتمام:
  • اباتشي + LetsEncrypt
  • وكيل برقية
  • OpenVPN (اختياري)
  • استخدم SSH المحلي


إذا نجح شخص ما - اكتب في التعليقات - أضف إلى المقال ، في رأيي ، سيكون مفيدًا.

قد تكون مهتمًا أيضًا.


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


All Articles