SSH Port Forwarding

Home » Linux » SSH Port Forwarding
Linux Yorum Yapılmamış

IMAP TCP/143 uzerindne calisir. Istemci ile Imap sunucu arasindaki iletisim clear text(sifrelenmemis ) olarak gerceklesir. Uzaktaki Imap sunucu ile istemci arasindaki trafigi SSH port forwarding kullanarak sifreleyebiliriz. Nasil mi?

Yerel makinemizde 1024-65535 arası bir port seçelim., mesela 5000 olsun. Imap istemcimizde kullandigimiz imap sunucuyu localhost ve portunu da 5000 olacak sekilde degistirelim. Sonra ssh ile asagıdaki yönlendirmeyi yapalım

$ssh –L5000:localhost:143 mail_sunucu(IMAP)

Bu komut ile yapılanlar;

Mail_sunucu makinesine gecerli bir hesap ile ssh baglantısı

yapılmış olur ve localhost’un 5000. portu mail_sunucu

makinesinin 143. portuna SSH üzerinden tunnelleme yapilmiş olur.

Böylece IMAP istemcimizin ayarını localhost ve portunu 5000 olarak

değiştirdiğimiz zaman mail sunucu ile aramızdaki trafik SSH araciligi ile şifrelenmiş olur.

Adım adım inceleyecek olursak ;

1. Imap istemcisi yerel agdaki 5000. porta baglanıyor

2. Yerel agdaki ssh istemcisi 5000. porta gelen veriyi şifreliyor ve ssh aracılığı ile mail_sunucu makinesine gönderiyor.

3. Mail_sunucu makinesi ssh aracılığı ile gelen veriyi çözerek 143.porta iletiyor

4. Mail_sunucu makinesindeki Imap sunucu isteği cevaplıyor ve paket aynı şekilde ters yönden istemciye ulaşıyor.

Burada dikkat edilmesi gereken yapılan forwarding işleminde sadece ssh istemcisinin çalıştığı makinenin tunneling yapabileceğidir.
Host:Localhost, port:5000 bind işlemi olur yani forwarding isleminde ssh istemcisi localhost’u kullanır. Bu da demektir ki, bu tunellemeyi sadece bu makine uzerindeki IMAP istemcisi kullanabilir. OpenSSH bu kısıtlamayı kaldıracak bir seçenek içerir, -g ile dışarıdaki makinelerin de bu tunellemeyi

kullanabilmesine izin verir. Fakat bu secenek varsayılan kurulumda aktif olarak gelmez.

$ssh -g -L5000:localhost:143 S

Remote forwarding

Local yönlendirmeden farkı işlemlerin ters olmasıdır yani tunlleme işlemini sunucu tarafında yapılıyor.

$ssh -R5000:localhost:143 istemci_makine

Bu komutla istemci makinin 5000. portu ile sunucu makine arasında bir tunnel oluşturulmuş olur. Istemci makinede gecerli bir ssh hesabının olması gerekir.
Ek notlar:

* Sadece ssh izni ile firewalldan izin verilmeyen diger portlar/protokollerin kullanimi icin.
* ftp protokolu icin sadece control baglantısını yanı kullanıcı adı ve parola bilgilerini koruma altına alabilir. Arada gidip gelen veriyi tünellemez…
* ssh ile sadece tcp tabanlı protokooller tünnellenebilir udp tabanlı protokoller ya da ip tabanlı olmayan protokoller tünellenemez. Bu da ssh’in gercek VPN baglantılar karşısında bir dezavantajıdır.

www.openssh.com

SSH definitive Guide 2th. edition

LEAVE A COMMENT