SSLH, berbagi port untuk HTTPS & SSH

Beberapa internet service provider atau beberapa perusahaan kadang memblok sebagian besar port dan hanya port tertentu yang di buka seperti port 80 dan 443, hal ini di lakukan biasanya karena alasan keamanan. Terus gimana solusinya untuk remote SSH (port 22), kalo nemuin kasus di mana hanya port 80 atau 443 saja yang di open ?, kita nggak bisa remote server donk...

Tenang saja..., untuk kasus ini kita bisa menggunakan SSLH, yaitu sebuah SSL/SSH multiplexer. in akan listen untuk koneksi dengan port 443. SSLH mengijinkan kita untuk menjalankan beberapa program di port 443 di OS linux. jadi kita dapat menjalankan SSL dan SSH menggunakan port yang sama dalam waktu yang sama.

SSLH – Sharing sebuah Port untuk HTTPS, SSH, dan OpenVPN


SSLH saat ini sudah merupakan paket yang ada di sebagian distro linux, jadi kita tinggal install menggunakan package manager, semisal apt-get atau pacman dll.

Di Arch Linu dan turunannya, seperti  Antergos, Manjaro Linux bisa menggunakan Pacman

sudo pacman -S sslh


Di Debian, Ubuntu dan turunannya

sudo apt-get install sslh


Di RHEL, CentOS kamu perlu untuk menambahkan EPEL di repository dan kemudian isnatall SSLH

sudo yum install epel-release


sudo yum install sslh



Konfigurasi webserver Apache atau Nginx


seperti yang kita ketahui, Apache dan Nginx akan berjalan di port 443 untuk semua interface secara default (0.0.0.0:443), kita harus merubah setingan ini ke localhost (127.0.0.1:443 atau localhost:443)

Untuk melakukan ini, edit setingan webserver (nginx atau apache)

listen 443 ssl;


rubah ke

listen 127.0.0.1:443 ssl;


Jika menggunakan virtualhost di Apache, pastikan kita juga merubah setingan di bawah ini.

VirtualHost 127.0.0.1:443



Configure SSLH


Setelah melakukan perubahan di sisi webserver, sekarang kita rubah konfigurasi SSLH

sudo vi /etc/default/sslh


temukan baris berikut

Run=no


dan rubah menjadi

Run=yes


kemudian sedikit geser ke bawah dan modofikasi baris yang akan mengijinkan SSLH untuk listen di port 443 untuk semua interface
DAEMON_OPTS="--user sslh --listen 0.0.0.0:443 --ssh 127.0.0.1:22 --ssl 127.0.0.1:443 --pidfile /var/run/sslh/sslh.pid"

Dimana,

  • –user sslh : username.

  • –listen 0.0.0.0:443 : SSLH listen di port 443 untuk semua interface.

  • –sshs 127.0.0.1:22 : mengarahkan SSH traffic ke port 22 di localhost.

  • –ssl 127.0.0.1:443 : mengarahkan HTTPS/SSL traffic ke port 443 di localhost.


 

Komentar