Baglantilar


17 Kasım 2007
Kategori: Genel

SSH (Secure SHell) uzaktaki sistemlere bağlantıda telnet yerine güvenli alternatif olarak kullanılan de factoi bir bağlantı metodudur. SSH sistemler arasındaki bağlantıyı kriptoladığı için, şifre ve diğer önemli bilgileri meraklı gözlerden koruduğu için uzun zaman önce diğer bağlantı metodlarından daha çok tercih edilmeye başlandı.

ÇoÄŸu Linux sistemde kurulum ile birlikte gelmektedir. Bir sistem yöneticisi ssh komutu ile kolayca diÄŸer sistemlerdeki shell’lere eriÅŸebilmekte ve komutlar çalıştırabilmektedir. Fakat SSH’ın baÄŸlantıyı güvenli hale getirmekten baÅŸka amaçlı kullanımı da söz konusu olabilir.

GiriÅŸ
EÄŸer yeni bir SSH kullanıcısıysanız, bu makale baÄŸlantıları güvenli hale getirmede yararlı bilgiler sunacaktır. EÄŸer baÅŸka bir sistemde login’iniz varsa, farklı trafikleri de SSH kullanarak güvenli olarak yönlendirebilirsiniz. Bu metoda port yönlendirme adı verilmektedir.

Yeni Başlayanlar için IP Ağları
IP AÄŸlarında, tüm baÄŸlantılar bir sistemin port numarasından diÄŸer sistemin port numarasına yapılır. Portlar 0-65535 arasındadır ve bazı rakamlar özel olarak bazı servisler için belirlenmiÅŸdir. ÖrneÄŸin, port 80 genelde web (HTTP) sunucuları tarafından ve port 22 de SSH sunucuları tarafından kullanılır. Bilinen-rezerve port numaralarını /etc/services dosyasında görebilirsiniz. 1024’ün altındaki port numaraları genelde sadece sistem yöneticilerinin kontrolündedir.

SSH port yönlendirme, SSH baÄŸlantısı kullanarak bir host’taki port’un diÄŸerinde görünmesini saÄŸlar. Port yönlendirme pek çok amaca hizmet edebilir, fakat en önemli kullanımı yönlendirilen porta olan trafiÄŸin kriptolanması olabilir.

Yerel Port Yönlendirme
Bir portu yerel olarak yönlendirdiğinizde, (bağlantı kurduğunuz) SSH sunucusundan bir portu (ssh komutunu çalıştırdığınız) yerel makinanızda kullanılabilir hale getirirsiniz. Uzaktaki bir makinadaki, güvenlik duvarı gibi sebeplerden erişemediğiğiniz bir port yerel makinanızdaki bir port gibi kullanılabilir. Bu sayede yerel makinanızdaki diğer programlar da bu portu kullanabilirler. Bu biraz kafa karıştırıcı görünebilir fakat aşağıdaki örnekler bu tekniğin nasıl işlediğini açıkça gösterecektir.

Güvenli Proxy
Web trafiÄŸinizi gizlemek istediÄŸinizi varsayalım. Bunun için pek çok sebep akla gelebilir. Diyelim ki müşteri tarafında hizmet veren bir danışmansınız ve müşterinizin belirli bir problemin cevabını Google’da aradığınızı görmesini istemiyorsunuz. Ya da firmanızın web sitesindeki çalışma saatlerini iÅŸlediÄŸiniz uygulamaya eriÅŸeceksiniz.

EÄŸer uzakta squid web Proxy kullanan bir sisteminiz varsa ve SSH ile eriÅŸilebiliyorsa kolaylıkla port yönlendirme yaparak güvenli Proxy kanalı kurabilirsiniz. Uzaktaki sisteminiz Internet’ten gentoo.olympos.org ismiyle eriÅŸilebilir olduÄŸunu ve Proxy çalıştıran host isminin Proxy olduÄŸunu varsayalım. Proxy’nizin port 1080’i kullandığını ve sadece yerel aÄŸdaki sistemlerin baÄŸlantısına izin verdiÄŸini varsayalım. Ve firma.com firması IT departmanında olympian.firma.com ismindeki bir makinanın başında oturduÄŸunuzu varsayalım.

Bu durumda port yönlendirmesi için aşağıdaki komutu çalıştırırız:
ssh -L 1080:proxy:1080 kullanici@gentoo.olympos.org

Artık olympian.firma.com veya localhost port 1080’i Proxy olarak kullanabiliriz. Web tarayıcınız yerel makinenizde port 1080’e baÄŸlanır fakat baÄŸlantı SSH oturum üzerinden gentoo sistemine yönlendirilir ve orada HTTP isteklerini yapmak için Proxy’ye baÄŸlanır. firma.com da ağı dinleyenler sadece olympian makinasından gentoo.olympos.org adresine SSH trafiÄŸi olduÄŸunu görecektir.

Site Güvenlik Politikalarına Göz Atın
firma.com IT güvenlik politikaları bu tip kriptolanmış bağlantılar ve diğer trafik için kurallar içeriyor olabilir. Güvenli, kriptolanmış web surf güzel olabilir, fakat bir işinizin olması da önemlidir!

Servis Yönetimi
Farklı bir örnek daha deniyelim. Yerel “olympian” makinanızda port 8888’de web-tabanlı bir yönetim aracınız olduÄŸunu varsayalım. Akıllıca bir hareket olarak bu port’a yerel makinanın kendisi haricinde baÅŸka bir yerden baÄŸlantı kabul ettirmiyorsunuz. Fakat bir kaç saatliÄŸine müşteri tarafında firma.com’un baÅŸka bir sisteminde iken ÅŸirketinizden bu yönetim aracına baÄŸlantı yapmaları gerekiyor.

Bu durumda da SSH erişiminiz varsa yerel port yönlendirme imdadınıza yetişecektir:
ssh -L 8888:localhost:8888 kullanici@olympian

Yukarıdaki localhost olympian makinasının kendisine iÅŸaret etmektedir. Artık bir web tarayıcısı açıp port 8888’e baÄŸlandığınızda web tabanlı yönetim arabirimine eriÅŸebileceksiniz.

Web tarayıcısı adres çubuÄŸuna http://localhost:8888 yazdığınızda web tarayıcısı yerel makinada bu port’a baÄŸlanacak ve sonrasında SSH oturum üzerinden olympian makinasına yönlendirilecektir.

Uzak Port Yönlendirme
VNC sunucusunun büyük ölçüde deÄŸiÅŸtirilmiÅŸ bir hali olan ve bir kullanıcının uzaktan diÄŸer bir kullanıcının masaüstü görüntüsüne eriÅŸip yardımcı olabilmesini saÄŸlayan vino’yu duymuÅŸsunuzdur. vino sunucusu normalde X sunucuya baÄŸlantı kurmada 5900 nolu portu dinler.EÄŸer birden fazla X sunucusu çalıştırıyorsanız X görüntü numarasını 5900’e ekleyip kullanılan port numarasını bulabilirsiniz veya basitçe netstat -ltp ile portları listeleyebilirsiniz. Yardımcı olmak isteyen kiÅŸi veya sistem yöneticisi VNC istemcisi (vnclient) ile diÄŸer sisteme baÄŸlanabilir. Fakat yardıma ihtiyacı olan kiÅŸiye normal yollardan eriÅŸilemiyorsa?

Bir arkadaşınızın uzaktan yardıma ihtiyacı olduÄŸunu varsayalım fakat kendi kontrolünde olmayan ve SSH ile login’e izin vermeyen bir sistem arkasında olduÄŸunu varsayalım.

Ä°lk olarak “gentoo” isimli sisteminizde arkadaşınız için bir kullanıcı hesabı açın. Sonra arkadaşınıza aÅŸağıdaki komutu çalıştırmasını söyleyin:
ssh -R 5900:localhost:5900 arkadas@gentoo.olympos.org

Yukarıdaki komutta ilk port numarası 5900 uzaktaki sisteme (gentoo.olympos.org) yapılacak bağlantıda kullanılacak olanportu belirtir. localhost arkadaşınızın kendi sistemine işaret eder. İkinci port numarası 5900 vino çalışan arkadaşınızın sistemindeki port numarasıdır.

Önemli: EÄŸer sisteminizde 5900’ü kullanan bir iÅŸlem varsa (ör. kendi vino sunucunuz) arkadaşınızın yukarıdaki örnekte ilk port numarası olarak 5901’i kullanması gerekir.

Sonrasında vncviewer localhost komutu ile arkadaşınıza yardımcı olabilirsiniz. EÄŸer arkadaşınız port 5901’e yönlendirme yaparsa localhost:1 kullanın, port 5902 için localhost:2 vs. Bu sayede birden fazla kiÅŸiye aynı anda baÄŸlantı kurabilirsiniz.

Kaynak: http://www.redhatmagazine.com/2007/11/06/ssh-port-forwarding/

- Bu yazı şu ana kadar 368 kez görüntülendi..
Sizin Yorumunuz



Yazilar için RSS aboneligi