SSH / HTTPS / OpenVPN / Telegram dan semuanya pada satu port ?! Apa?
- Ya!
- Ingin menyembunyikan keberadaan beberapa layanan Anda?
- Apakah semuanya kecuali 443 (https) port diblokir pada jaringan wi-fi publik?
- Sudahkah Anda mengonfigurasi Telegram Proxy / OpenVPN dan tidak ingin "menyinari" itu?
- Koneksi SSH ke server Anda dari negara yang disensor?
Hanya ada satu jawaban untuk semua pertanyaan ini -
Koneksi SSL / TLS multiplexing, atau SSLH.Dalam posting, kita akan melihat cara
menyembunyikan sekelompok layanan dalam 1 perintah di belakang 1 port .
Mengapa
Dengan rilis Telegram Proxy baru-baru ini, yang
hampir sepenuhnya mirip dengan lalu lintas SSL, sebuah pertanyaan menarik telah muncul di komentar di
pos :
Newton :
Saya punya pertanyaan yang cukup noob - apakah benar-benar tidak mungkin untuk mendapatkan ini bersama dengan sslh?
Setelah memeriksa kemampuan aplikasi sslh dengan cepat, saya merasa bahwa saya tidak akan dapat memulainya, tetapi saya sangat tertarik dengan aplikasi ini, dan, ternyata, saya masih dapat
melintasinya dengan landak .
Bagaimana?
Aplikasi SSLH adalah multiplexer, dengan kata lain, ia menganalisis lalu lintas
(benar-benar melakukan pekerjaan mini-DPI) dan, tergantung pada jenis lalu lintas, mengirimkannya ke port lokal 8443/999/991 atau ...
Yang memungkinkan kita menggunakan teknologi DPI
untuk pertama kalinya demi keuntungan .
Tantangan
Untuk contoh menggunakan SSLH, kami menetapkan tugas:
Aplikasi berikut diinstal di server - Telegram Proxy, Apache, SSH dan kami ingin membiarkan semua layanan ini masuk ke dunia melalui port 443.
Server dalam contoh kami adalah Ubuntu 16.04.4 LTS, Apache2 + LetsEncrypt, SSH, Telegram Proxy in Docker.Saat ini, Apache sedang mengerjakannya, sebagaimana mestinya.
Instalasi & Pengaturan
Instal SSLH:
sudo apt-get install --no-install-recommends sslh
Selama instalasi, sebuah pertanyaan akan ditanyakan tentang mode penggunaan, ada dua di antaranya:
- stabil tetapi lebih banyak sumber daya intensif
- cepat, tetapi dengan kehilangan koneksi saat proses jatuh
Saya untuk opsi kedua, tentu saja, Anda dapat memilih yang lain.
Periksa apakah mukjizat kita bekerja dengan perintah berikut:
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 - server IP eksternal
8443 - port tempat multiplexer kami akan diluncurkan
443 - tempat tinggal Apache
Perhatikan opsi anyprot - ini adalah tempat Proxy Telegram kami akan hidup, dengan kata lain, jika lalu lintas tidak cocok dengan jenis apa pun - kirim ke sana.
Perhatian! Jika konfigurasi Anda tidak memiliki Telegram atau SSH, hapus kunci startup tambahan.Lihat itu?
Buka browser di alamat server Anda dengan port 8443 - Anda akan melihat respons dari Apache, lalu coba sambungkan melalui SSH atau melalui Telegram Proxy.
Porting Apache ke Port Lain
Untuk mentransfer Apache dari port standar (443) ke yang lain, misalnya ke 7443, kunjungi file berikut:
sudo nano /etc/apache2/ports.conf sudo nano /etc/apache2/sites-enabled/000-default-le-ssl.conf
Dalam contoh, Apache + SSL / HTTPS diinstal menggunakan LetsEncrypt dengan sertifikat berbeda, file konfigurasi dapat dengan cara lain.Mulai otomatis
Sudah waktunya untuk mengatur autorun.
Edit file:
sudo nano /etc/default/sslh
Di bidang
DAEMON_OPTS = , tambahkan atribut saat menjalankan perintah sslh-select, atur RUN ke = yes.
Jalankan:
sudo systemctl start sslh
Pastikan semuanya baik-baik saja:
sudo systemctl status sslh
Apa hasilnya?
Setelah menyelesaikan tutorial ini, Anda harus memiliki server yang memiliki beberapa layanan yang tersedia melalui satu port
(yang mana pilihan Anda) .
Bagaimana dengan OpenVPN? Protokol apa yang masih bisa dilakukan aplikasi?
Pada saat penulisan, sslh dapat mendeteksi dan multiplexing protokol-protokol berikut:
[--ssh <addr>] [--openvpn <addr>] [--tinc <addr>] [--xmpp <addr>] [--http <addr>] [--ssl <addr>] [--tls <addr>] [--anyprot <addr>]
Sebelum menggunakan, lebih baik memastikan protokol mana yang didukung versi
Anda ,
(tiba-tiba itu lebih baru) menggunakan:
sslh-select -h
Referensi
Pengembangan SSLH dilakukan di github, dalam repositori ini:
github.com/yrutschle/sslhDocker
Saya tidak berhasil mengumpulkan versi kerja sslh di buruh pelabuhan bersama dengan semua layanan lain, menurut pendapat saya file pembuat
docker yang dapat diangkat pada port 443 akan menarik:
- Apache + LetsEncrypt
- Proxy Telegram
- OpenVPN (opsional)
- Gunakan SSH lokal
Jika seseorang berhasil - tulis di komentar - tambahkan ke artikel, menurut saya, itu akan berguna.
Anda mungkin juga tertarik.