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

Yeni Yılın İlk Sayısıyla E-bergi Sizlerle

ilke444

ODTÜ Bilgisayar Topluluğu'nun olarak hazırladığımız aylık bilgisayar bilimi ve özgür yazılım elektronik dergisi e-bergi, yeni yılda da Ocak 2009 sayısıyla sizlerle!

Bilgisayar Mühendisliği Dergisi

FZ

Bilgisayar mühendisliği ile ilgili güzel ve detaylı makaleleri barındıran derginin internet sitesine bir göz atmakta fayda var.

Kısaca bir göz atışta ilgi çeken ve güncel makaleler: Netfilter-1, COSEML, UML ile yazılım modellemesi, yapay zekâ, vs.

EncFS ile dosya sistemi şifreleme ve kolay kullanım

FZ

FM editörlerinden sundance'in "Userspace Filesystem Encryption with EncFS" başlıklı makalesi O'Reilly Linux Devcenter'da yayınlandı.

En kısa sürede Türkçe halini de FM ortamında görmek ümidiyle... ;-)

Root-Kit´lerin tesbit edilmesi ve temizlenmesi

cayfer

İyi korunmayan GNU/Linux sistemlerinin başının belası olan Root-Kit lerin tesbit edilmesi ve temizlenmesi ile ilgili bir uygulama notu:

Google, bu konuda çok yazı/mesaj bilmekle beraber derli toplu bir temizleme dökumanı bilmiyordu. Biz de böyle bir nottan daha fazla insanın yararlanabilmesi düşüncesiyle dökumanı ingilizce hazırladık. Öte yandan, notların hitap ettiği kullanıcı grubu olan sistem yöneticilerinin bilişim ingilizcesi ile yazılmış dökumanları okuyabileceklerini varsayıyoruz.

Root-kit'ler NT ve Linux işletim sistemlerine bir şekilde root veya admin olarak erişim sağlamayı başaran sistem kırıcılarının kendilerini gizleyerek rahat rahat çalışmalarına izin veren bir yazılım grubu.

Deneyimlerimiz yalnızca Linux ortamında olduğu için notlarımız da yalnızca Linux için.

Nasıl Programcı Olunur

yalcink01

Robert L. READ tarafından yazılmış olan ve ESR'nin "Nasıl Hacker Olunur?" kılavuzunda da bahsi geçen "How to be a programmer" kılavuzunun "acemiler" için olan kısmının çevirisi bitti. Hem çevrilen kısmın imla, yazım, mantık ve bilumum hatalarının kontrolü için hem de programlamaya merak saran acemi vatandaşlara yol yordam göstersin diye bu kısmı yayınlamaya karar verdik. Çevrilmiş kısım hakkındaki fikir ve eleştirilerinizi bekliyorum. Hata ayıklama konusundaki yardımlarınız için şimdiden teşekkürler.

Saygılarımla,

Yalçın KOLUKISA
yanmasın diye kaz çevirmeye giden adam