Firewall Engelini Aşıp Evden Çalışmak İsteyenler İçin: revinetd

0
FZ
Uzunca bir zamandır heterojen ağ ortamlarında, firewall idi, sistem yöneticisinin kaygıları idi, evden ofisteki ağa bağlanma idi, filanca yazılım falanca iş için uygun ama her şey için değil... vs. gibi dertlerle boğuşurken eMBA yazılım ekibimizden Ercümend Oyuktaş'ın keşfettiği minik bir yazılım ile dertlerimize son verdik.

Okuyacağınız kılavuzun işinize yaramasını ümit ederiz. Yazının orjinaline buradan erişebilirsiniz.

Firewall Engelini Aşıp Evden Çalışmak İsteyenler İçin: revinetd

İşyerinizdeki güvenlik duvarı (firewall) yüzünden evden işyerindeki makinanıza bağlanamıyorsanız, heterojen bir bilgisayar ağınız var ise (GNU/Linux, MS Windows, vs.) ve sistem yöneticinizle gereksiz tartışmalara girmek istemiyorsanız bu yazıyı okuyun.

Uzunca bir süreden beri evden işyerindeki makinama bağlanmak istiyor ancak bir türlü bunun için yeterli ve sağlam bir yol bulamıyordum. Tak revinetd ile karşılaşana kadar. Revinetd - reverse port redirector (http://revinetd.sourceforge.net) sistemine rastladıktan sonra bu iş çözüm bekleyen bir problem olmaktan çıktı.

Revinetd: Nasıl Çalışıyor?

Revinetd iki farklı modda çalışıyor, listen-listen ve connect-connect. Evinizdeki Bilgisayar A'da listen-listen d urumunda çalışıyor. İşyerinizdeki Bilgisayar B'de ise connect-connect durumunda çalışıyor. Bilgisayar C ise işyerinde bağlanmak istediğiniz hedef bilgisayar. Bilgisayar C, işyerinizde Bilgisayar B'nin ulaşabildiği herhangi bilgisayar (ya da doğrudan kendisi B=C) olabilir.

Şimdi yukarıdaki plana göre sıra ile bilgisayarlar üzerinde çalıştırmamız gereken komutlara bakalım:

Bilgisayar A - Hizmet Sunucu:

revinetd -s -l 3389 -L 100

şu anda revinetd hizmet sunucu (server) durumunda çalışıyor. 3389 portundan yerel bir istemci (client) programının bağlanmasını, 100 portunda Ajan bilgisayarın bağlanmasını bekliyor.

Bilgisayar B - Ajan

revinetd -r -c [Bilgisayar A IP adresi]:100 -t [Bilgisayar C IP adresi]:3389

bu bilgisayarda ise revinetd ajan durumunda çalışıyor. Bilgisayar A'nın 100 numaralı portuna bağlantı kuruyor. Bu bağlantı, Sunucunun İstemci / Hedef ikili bağlantısı kurmak için yeni veri bağlantısı isteyeceği iletişim kanalı olarak kullanılıyor. Sunucu 100 numaralı porta gelen ilk bağlatının iletişim kanalı ve ondan sonraki tüm bağlantıların veri bağlantısı olduğunu biliyor. Güvenlik duvarından (firewall) ilave port açılması ihtiacını en aza indirmek için böyle yapılmış.

Şema 1


Bilgisayar A'da istemci programı 127.0.0.1:3389 portuna bağlanıyor. Hizmet sunucusu bağlantıyı algılıyor ve iletişim kanalı üzerinden ajan bilgisayardan yeni veri bağlantısı talebinde bulunuyor.

Şema 2


Ajan Bilgisayar B mesajı alıyor ve Hizmet Sunucu Bilgisayar A'ya bağlanıyor. Bilgisayar A bağlantı sağlandığında Hedef Bilgisayar C'ye bağlantı kurarak proxy-port ikilisi veri rölesini başlatıyor.

Şema 3


Böylece Bilgisayar A'da çalışan istemci programınız 127.0.0.1:3389 portuna bağlı olmasına karşın Bilgisayar-C:3389 bağlıymış gibi çalışacak.

Revinetd İçin Hazırlık

  • 1. Adım revinetd edinmek. http://revinetd.sourceforge.net adresinden revinetd yazılımını indirebilirsiniz.
  • 2. Adım derleme.
  • ./configure
    make
    make install


    Not: MS Windows kullancıları Cygwin ile derleyebilirler. (Ben Emre "FZ" Sevinç'in bilgisayarındaki Cygwin'i kullanarak makinasında derledigi revinetd.exe ile sorunsuz çalışıyorum. Emre'ye teşekkürler :)

  • 3. Adım (ADSL modem) kullanıyorsanız


  • Evdeki makinanızda revinetd uygulamasının dinleyeceği portu ayarlamak. Dilediğiniz bir boş porttan dinleyebilirsiniz, tabii işyerinden çıkabildiginiz portları da göz önünde bulundurun. Örnegin işyerinizdeki güvenlik uygulamaları nedeniyle 1024 ve üzeri portlara çıkışınız yoksa tabii ki evdeki makinenizin de 1024 altında kalan bir porttan dinliyor olması uygun olacaktır. Biz, örnegimizde revinetd'yi 100 numaları porttan dinlemek üzere ayarlayacagiz. ADSL modeminizin konfigürasyon menüsünden VIRTUAL SERVER başlığı altında revinetd uygulamasının dinleyeceği port için bir kayıt yaratmalısınız.

    public port start : 100
    public port end : 100
    private port : 100
    private ip : makinenizin local IP adresi

    Konfigürasyon işlemini tamamladığınızda ayarlarınızı kaydetmeyi ve modeminizi yeniden başlatmayı unutmayın. Modeminizinin konfigürasyon menüsüne nasıl gireceğinizi bilmiyor veya konfigürasyon menüsünde VIRTUAL SERVER başlığına rastlayamadıysanız bu işlemler ile ilgili ilk önce modeminizin kullanım kitapçığına bakmanız gerek. Boylece revinetd nin kullanimi icin artık hazırız.
Yukarıdaki hazırlıkları yaptıysanız bu kılavuzun ilk bölümündeki komutları kullanarak önce ofisinizdeki bilgisayarı ayarlayabilir ve sonra evinize gittiğinizde gerekli, işlemlere devam edebilirsiniz.

Buradaki örnek olabildiğince genel (generic) tutulmuştur, ofisinizdeki bir web server, "remote desktop", vs. gibi bir uygulamanın hizmet verdiği portu belirledikten sonra evinizdeki bilgisayarınızdan ulaşmanız mümkün olabilecektir. Programın derlenmiş halini ve MS Windows üzerinde çalışması için gerekli olan cygwin.dll dosyasını buradan edinebilirsiniz.

Ercümend Oyuktaş
2004-01-11
e-posta: mathware at yahoo nokta com

Görüşler

0
conan
Ercu rules hehe ;)
0
ercumend
Il y a deux manières de construire une conception de logiciel ; l'un doit la rendre si simple qu'il n'y a évidemment aucune insuffisance, et l'autre manière est de la faire ainsi compliquée qu'il n'y a aucune insuffisance évidente. La première méthode est plus difficile bien.
0
ttk
emeği geçenlerin eline sağlık, gayet faydalı bir döküman ve uygulama.
0
FZ
Pratik olarak işinize yararsa ne mutlu yazana ve yayınlayana ;-)
0
ttk
Firewall'ı aşabilmeyi sağlaması faydasının yanında, standart belli portlardan çıkış verilmek zorunda kalınan hizmetlerin ilk anda bu portları tarayıp geçenler tarafından bulunmasını da engelleyebilme gibi bir faydası da var programın.
Sistemimizin verdiği hizmetlerin açık portlar yoluyla kolayca teşhis edilip saldırıya hedef olma ihtimalini azaltması çok faydalı.
Terminal servisin portunu nasıl gizlesem diye düşünüyordum, epey işime yarayacak bu bilgiler.
Teşekkür ederim :)
0
Doggie
süper haber, hele amaç çalışmayıp şirkette birşeyleri karıştırmak ise. İleri yoldaş !
0
FZ
Bence de süper bir haber/yazı ancak amaç evden ofise bağlanıp herhangi bir durum olduğunda uzaktan müdahale edebilmek ve teknik problemleri çözebilmek. İstanbul şehri, İstanbul trafiği, yollar, yolda kaybedilen vakit vs. düşünelecek olursa, uzaktan ofiste bilgisayar ağına bağlanıp geliştirme yapmanın ya da teknik bir programlama problemini çözmenin değeri daha iyi anlaşılır. Dediğim gibi, tamamen teknik bir mesele.
0
Doggie
süper haber, hele amaç çalışmayıp şirkette birşeyleri karıştırmak ise. İleri yoldaş !
0
ttk
Yazılarınıza baktım da, nikinize gayet uygun düşüyor yazılarınız.
0
FZ
Bu yazıyı sistem yöneticinize okutmayın! ;-)

Görüş belirtmek için giriş yapın...

İlgili Yazılar

Linux´da Bellek Yönetimi Başlangıcı

FZ

Bora Şahin arkadaşımızın Linux'da Bellek Yönetimi Başlangıcı başlıklı detaylı ve özgün makalesi "kernel hacking" ve genel olarak sistem programlama ile ilgilenen okuyucularımızın hizmetine sunulmuştur.

Kargo Kültü Bilim

FZ

Meşhur fizikçi Richard Feynman'ın 1974 yılındaki önemli bir konuşmasının metnini FM camiası ile paylaşmak istedik. Önemli bir kılavuz olduğunu düşündüğümüz bu metnin okurken bir hayli eğleneceğinizi ve bir şeyler kapabileceğinizi düşündük.

Erciyes Üniversitesi Linux Topluluğu GNU/Linux Dergisi Çıkardı

anonim

Bilişim Kulübü altında faaliyet gösteren Erciyes Üniversitesi Linux Topluluğu (EULT) 2007 yılında kuruldu. Açık kaynak kodlu yazılıma katkıda bulunmak, GNU/Linux'a yeni başlayanlara rehberlik etmek amacıyla yola çıkan topluluk 2008 Ocak ayı itibarı ile e-dergisinin ilk sayısını yayınladı.

Dergiye http://universitem.erciyes.edu.tr/eult_e_dergi_1.pdf adresinden ulaşabilirsiniz.

C64 Türkiye #4 Çıktı

anonim

Ne zaman çıkacağı belli olmayan C64 dergisi C64 Türkiye'nin 4. sayısı sonunda çıktı. Derginin son sayısı ve dergide tanıtılan programlar için internet sitemize uğrayabilirsiniz: http://geocities.com/c64turkiye

Sistem Çağrıları Nedir ve Nasıl Çalışır?

anonim

Her şey burada başladı. FM'de yayımlanan bir yazıda gördüğüm "kernel mode" ve "user mode" deyimlerini araştırıken bu konuda açık bir Türkçe makale olmadığını farkettim. Bu konudaki araştırmalarım sonucu günlüğüme yazdığım ufak bir bilgi notundaki hataların Sn. Tonguç Yumruk tarafından düzeltilmesi ve gelip giden e-postalar sonucunda aklımdaki soru şuydu: "Sistem Çağrıları Nedir ve Nasıl Çalışır?"

Sorunun cevabı ise artık bu kısa makalede. Faydalı olması dileğiyle...