Merhabalar,
Bu yazımda sizlere Stunnel ile TLS/SSH kurulumunu anlatacağım
Stunnel Nedir?
Stunnel, evrensel bir TLS/SSL tünelleme hizmeti sağlamak için kullanılan açık kaynaklı, çok platformlu bir uygulamadır. Stunnel, yerel olarak TLS veya SSL konuşmayan istemciler veya sunucular için güvenli şifreli bağlantılar sağlamak için kullanılabilir.
Stunnel Kurulumu
Öncelikle root kullanıcısı ile sunucuya bağlantı sağlıyoruz.
Aşağıdaki komut ile gerekli programı kuruyoruz.
apt -y install stunnel4
Stunnel TLS Sertifika Oluşturma
Kurulum tamamlandıktan sonra stunnel kurulu olduğu klasöre giriş yapalım.
cd /etc/stunnel
Aşağıdaki komut ile TLS sertifikası oluşturalım. İstenilen bilgileri girmenize gerek yoktur. Varsayılan bilgiler ile devam edebilirsiniz.
openssl req -new -x509 -days 365 -nodes -out stunnel.pem -keyout stunnel.pem
Stunnel Config Oluşturma
/etc/stunnel klasörü içerisindeyken aşağıdaki komut ile config dosyası oluşturalım.
nano stunnel.conf
Örnek kurulumumuz SSH için olduğundan dolayı aşağıdaki dosyayı kullanabilirsiniz.
pid = /var/run/stunnel.pid
cert = /etc/stunnel/stunnel.pem
[ssh]
accept = 443
connect = 127.0.0.1:22
Örnek dosyamızda, sunucu 443 portunu dinleyerek; gelen istekleri 22 yani SSH portuna yönlendirecektir.
Config dosyasını kendi ihtiyaçlarınıza göre düzenleyebilirsiniz.
Stunnel Servisini Başlatma
Aşağıdaki komut ile Stunnel servisini aktif edelim ve sunucu yeniden başladığında servisin de başlamasını sağlayalım.
systemctl enable --now stunnel4
Servisin çalıştığından emin olmak için aşağıdaki komutu kullanabilirsiniz.
service stunnel4 status
Stunnel Kullanımı
HTTP Injector veya HTTP Custom gibi bir yazılım ile TLS/SSH (Stunnel) seçeneğini seçerek sunucunuza 443 portu üzerinden güvenli SSH bağlatısı yapabilirsiniz.
İyi günlerde kullanmanız dileğiyle ;)
Centos 7 ye kurulum yaptım olmadı yardımcı olursanız sevinirim
Merhaba,
Stunnel servisini başlattığınızda herhangi bir hata mesajı alıyor musunuz?
Merhaba hocam raspberry pi cihazına kurulum yapabilirmiyiz
Merhaba,
Debian için kontrol ettim; stunnel4 için ARM paket mevcuttur. PI cihaza kurulum yapabilirsiniz.
Teşekkür ederim
hocam kurulumu yaptım çalıştırdım http enjektor ile nasıl bağlantı yapcağım ssh host, kullanıcı adı,parola kısmına ne yazmam gerekiyor
Host kısmına kurulumu yaptığınız sunucunun IP adresini, port kısmına stunnel portunu, kullanıcı adı ve şifre olarak da sunucuya SSH ile bağlandığınız kullanıcı adı ve şifreyi girmeniz yeterli olacaktır.
lines 1-19/19 (END)…skipping…
● stunnel4.service – LSB: Start or stop stunnel 4.x (TLS tunnel for network daemons)
Loaded: loaded (/etc/init.d/stunnel4; generated)
Active: active (running) since Thu 2023-12-21 18:31:55 +03; 1min 55s ago
Docs: man:systemd-sysv-generator(8)
Tasks: 2 (limit: 389)
CPU: 521ms
CGroup: /system.slice/stunnel4.service
└─424 /usr/bin/stunnel4 /etc/stunnel/stunnel.conf
Dec 21 18:31:55 raspberrypi stunnel[410]: LOG5[ui]: Running with OpenSSL 3.0.11 19 Sep 2023
Dec 21 18:31:55 raspberrypi stunnel[410]: LOG5[ui]: Threading:PTHREAD Sockets:POLL,IPv6,SYSTEMD TLS:ENGINE,OCSP,PSK,SNI Auth:LIBWRAP
Dec 21 18:31:55 raspberrypi stunnel[410]: LOG5[ui]: Reading configuration from file /etc/stunnel/stunnel.conf
Dec 21 18:31:55 raspberrypi stunnel[410]: LOG5[ui]: UTF-8 byte order mark not detected
Dec 21 18:31:55 raspberrypi stunnel[410]: LOG5[ui]: FIPS mode disabled
Dec 21 18:31:55 raspberrypi stunnel[410]: LOG3[ui]: No trusted certificates found
Dec 21 18:31:55 raspberrypi stunnel[410]: LOG5[ui]: Configuration successful
Dec 21 18:31:55 raspberrypi stunnel4[351]: Starting TLS tunnels: /etc/stunnel/stunnel.conf: started
Dec 21 18:31:55 raspberrypi stunnel[410]: LOG5[ui]: Binding service [ssh] to :::443: Address already in use (98)
Dec 21 18:31:55 raspberrypi systemd[1]: Started stunnel4.service – LSB: Start or stop stunnel 4.x (TLS tunnel for network daemons).
~
Hocam http enjektorden bağlanmıyor sunucuya dediğinizi yapıyorum ama olmuyor.
Binding service [ssh] to :::443: Address already in use (98)
443 portu kullanılıyor gibi görünüyor.
Stunnel çalıştırmadan önce
netstat -anp | grep 443
ile hangi uygulamanın portu kullandığını kontrol edebilirsiniz.
Çalıştı. Teşekkür ederim.
Hangi server ve işletim sistemine kurdunuz
Herhangi bir server işinizi görecektir.
Çok yüksek özellikli bir sunucu olmasına gerek yok.
İşletim sistemi olarak da her zaman tercihim öncelikle Debian daha sonra da Ubuntu oluyor.
Merhaba, kurulum yaptım fakat http İnjector ile bağlanıyorum. Bağlanıyor ancak internete çıkamıyorum. Bunu nasıl çözeceğim ?
Merhaba, sunucunuzda da internete çıkış yapan interface’i NAT (masquerade) olarak ayarlamanız gerekiyor.
Örneğin sunucu interface ismi eth0 ise, aşağıdaki komut işinizi görecektir.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Merhabalar, gerekli yönlendirmeyi ens192 olduğu için o şekilde sağladım. Fakat yine çıkış alamadım. İlgili ekran görüntüsü iptables : https://prnt.sc/5DJCz_kmZLbK
Merhaba,
Bağlantı sağladıktan sonra, tcpdump ile stunnel portunu dinleyip kayıtları gösterebilir misiniz?
Örneğin port 443 ise:
tcpdump -i any port 443
Herhangi bir paket yakalayamıyor 443 den ama connected diyor http injectorde anlayamadım. https://prnt.sc/gT_sepSUoagR
Merhaba, stunnel.conf ve
service stunnel4 status
komutunun çıktısı ne şekilde görünüyor?Merhaba, Stunnel conf : https://prnt.sc/iYgzQ9BjDgZj
Service status : https://prnt.sc/RPzr21EUGFlt şeklindedir.
Merhaba,
Stunnel servisi çalışmıyor gibi görünüyor.
443 portu yenine farklı bir port dener misiniz?
Sunucunuzda web server varsa eğer port çakışması olabilir.
Merhaba direkt host bilgileri ile bağlanmak yerine kendi belirlediğimiz şifre ve kullanıcı adı ile giriş yapabilmek mümkün mü
Merhaba,
root kullanıcısı yerine, ssh yetkisine sahip bir kullanıcı oluşturup; o kullanıcı ile de bağlantı sağlayabilirsiniz.
https://linuxconfig.org/how-to-enable-and-disable-ssh-for-user-on-linux adresinde gerekli anlatım mevcuttur.
Root yetkisi vermeden yapmanın bir yolu var mı?
İlgili kullanıcıyı
sudoers
grubundan silebilirsiniz.sudo deluser USERNAME sudo
komutu işinize yarayacaktır.Hocam merhaba yapılışına ait bir video çekip yayınlarsanız çoğu kişinin sorusuna çözüm bulmuş olursunuz yazılanları yapiyorum ama olmuyor
Öneri için teşekkürler. Fırsat bulursam videolu anlatım yapmaya çalışacağım.