Cara ini bisa dijalankan untuk Debian 8, Debian 9 dan Debian 10
Penjelasan mengenai stunnel bisa dibaca diwebsite resmi stunnel.org. Tutorial kali ini akan menjelaskan cara instalasi stunnel melalui source code
Instalasi stunnel
Login ke Debian, untuk mempermudah tutorial ini, login sebagai root
ssh root@ip.vps.anda
install aplikasi yang dibutuhkan untuk instalasi stunnel
# bersihkan cache paket software dan update apt-get clean all; apt-get update; # paket instalasi yang dibutuhkan apt-get install make gcc nano openssl libssl0.9.8 libssl-dev telnet
Download source code stunnel saat tulisan ini dibuat versi terbaru adalah stunnel-4.56
wget --no-check-certificate https://www.stunnel.org/downloads/stunnel-4.56.tar.gz
ekstrak file stunnel-4.56.tar.gz dan pindah ke folder stunnel-4.56
tar zxvf stunnel-4.56.tar.gz; stunnel-4.56
compile dan install stunnel
./configure; make; make install
waktu diminta memasukkan
Country Name (2 letter code) [PL]: State or Province Name (full name) [Mazovia Province]: Locality Name (eg, city) [Warsaw]: Organization Name (eg, company) [Stunnel Developers]: Organizational Unit Name (eg, section) [Provisional CA]: Common Name (FQDN of your server) [localhost]:
contoh saya menginput
Country Name (2 letter code) [PL]:ID State or Province Name (full name) [Mazovia Province]:Jakarta Locality Name (eg, city) [Warsaw]:Jaranguda Organization Name (eg, company) [Stunnel Developers]:Jaranguda SSL Organizational Unit Name (eg, section) [Provisional CA]:SSL Common Name (FQDN of your server) [localhost]:jaranguda.com
Bila tidak ada error maka instalasi tersebut sudah berhasil. Bila terjadi error coba lihat langkah-langkah diatas, apakah anda sudah menjalankannya satu persatu.
Konfigurasi
stunnel yang telah terinstall terletak di /usr/local/etc/stunnel/ pindah ke folder tersebut
cd /usr/local/etc/stunnel/
copy contoh file konfigurasi stunnel
cp stunnel.conf-sample stunnel.conf
dibaris paling bawah stunnel.conf tambahkan
[www] accept = 8080 connect = ipserver:80
ganti ipserver dengan IP public anda menginstall stunnel tersebut. Sekarang generate certificate mail.pem
openssl req -new -x509 -days 3650 -nodes -out mail.pem -keyout mail.pem
jalankan stunnel dengan perintah
stunnel stunnel.conf
dengan asumsi anda masih berada di direktori /usr/local/etc/stunnel. Untuk melihat apakah service tersebut telah jalan atau tidak, telnet ke port 8080
telnet localhost 8080
tampilan yang muncul, yang menandakan stunnel telah berhasil di install
Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'.
Menggunakan SSL Letsencrypt
Selain self-signed SSL, bisa juga digunakan SSL berbayar, atau gratisan yang sudah di trusted
oleh browser. buat file stunnel.pem
(atau apapun namanya), letakkan private key dibagian paling atas, baru sertifikatnya.
kalo untuk letsencrypt yang digenerate dengan acme.sh bisa dengan
cat /root/.acme/DOMAIN/DOMAIN.key /root/.acme/DOMAIN/fullchain.cer > /etc/stunnel/stunnel.pem
lalu restart stunnel