8 Eylül 2011 Perşembe

SSH Tunel

SSH protokolünün en güzel özelliklerinden birisi de tünel kazılabilmesine imkan vermesidir. Aşağıdaki gibi bir ağ şeması üzerinde bir kaç örnek ile neler yapabileceğimizi yazalım...


SSH Server ve Proxy Server isimli sunucular firewall ardında yer almakta olup, SSH Server Internet üzeründen port yönlendirmeyle erişilebilir durumdadır. Gondor isimli bilgisayar internet üzerinden SSH server isimli sunucuya SSH ile erişebiliyor. Ancak Proxy Server sunucusuna erişim firewall tarafından engellenmiş durumdadır.

Dinamik SSH Tüneli Oluşturmak
Bu senaryomuzda dinamik ssh tüneli oluşturalım ve gondor bilgisayarı ssh ile bağlandığı SSH Server bilgisayarı üzerinden web sayfalarına ulaşsın. Bunun için gondor bilgisayarı aşağıdaki gibi bir komut verebilir.

ssh -D 8888 root@11.22.33.44


Bu komut çalıştığında gondor bilgisayarı SSH Server sistemine ssh ile bağlanarak bir tünel oluşturacaktır. Tünelin girişi gondor bilgisayarının 8888 portu olduğundan gondor bilgisayarında web tarayıcı üzerinde sock ayarları 127.0.0.1:8888 olarak ayarlanarak web isteklerinin SSH server üzerinden geçirilmesi sağlanabilir.

SSH ile Yerel Portu Uzak Sisteme Yönlendirmek


Burada istediğimiz şey ulaşabildiğimiz SSH Server isimli sunucudan Proxy Sunucusuna erişmek ve gondor bilgisayarının vekil sunucu olarak Proxy Server sunucunu kullanmasını sağlamak.

Bunun için gondor bilgisayarında aşağıdaki gibi bir komut verilebilir...

ssh -L 8888:172.16.1.20:3128 root@11.22.33.44

Bu komut ile ssh bağlantımız firewall makinesi üzerinden port yönlendirme ile içerideki SSH Server sunucuna iletilecek, SSH Server sunucusu 172.16.1.20 IP adresli Proxy Server makinesinin 3128 nolu portuna bağlantı kuracaktır. Gondor isimli bilgisayarda 8888 porta bağlantı yapıldığında, ssh tüneli üzerinden Proxy Server isimli sunucunun 3128 portuna ulaşılacaktır....

Bu aşamadan sonra gondor bilgisayarında web tarayıcı ayarlarında proxy sunucu olarak 127.0.0.1:8888 girilmesi yeterli olacaktır. Gondor bilgisayarı web gezintilerini uzak sistemdeki Proxy Server makinesi üzerinden yapacaktır...


Ters SSH Tüneli Oluşturmak

Bazı durumlarda dışarıdan içeri tünel kazmak mümkün olmuyor. Böyle durumlarda içeriden birisinin dışarı tünel kazarak bizi içeri alması gerekiyor. Bu senaryoda içerideki Proxy Server bilgisayarının, gondor bilgisayarına SSH ile bağlanarak bir tünel oluşturması ve gondor bilgisayarından oluşan bu tünel kullanılarak Proxy Server sistemine erişildiği varsayılmıştır.

İlk olarak Proxy server bilgisayarı gondor bilgisayarına aşağıdaki gibi bir komutla ssh tüneli oluştursun.

ssh -R 8888:localhost:22 harun@gondor

Bu komut ile Proxy Server makinesi gondor bilgisayarına bağlanarak ssh tüneli oluşturacaktır. Bu tünelin bir ucu gondor bilgisayarındaki 8888 nolu port olurken diğer ucu Proxy Server bilgisayarının 22 nolu SSH portu olacaktır...

Bu aşamadan sonra gondor bilgisayarınan aşağıdaki gibi bir komut verilerek Proxy Server bilgisayarına doğrudan erişilebilir.

ssh root@localhost -p 8888

Bu yöntem özellikle NAT ardında kalan sistemlere erişmede kullanılabilir. Tabii ki hedef ağda sizin için tünel kazacak birilerinin olduğu durumlarda :)

Hiç yorum yok:

Yorum Gönder