[Nasıl] SSH Tünnellemesiyle Firewall aşma

Başlatan furkankalkan, 27 Aralık 2012 - 21:09:59

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

furkankalkan


Bildiğiniz üzere MEB başta gelmek üzere bazı şirketler bir firewall (Güvenlik duvarı/Ateş  Duvarı da denir fakat ben terminolojiye bağlı kalarak böyle kullanacağım.) ile internet bağlantılarını korumaya (ve /veya sansürlemeye) çalışırlar.

Bu akşam size böyle bir sansürün nasıl aşılabileceğini anlatacağım. İçimizde sansür meraklısı arkadaşlar olabilir şayet "MEB filtresini kırıp da napacaksın ?"  "Okuldan internete gireceğine git evinden gir" vs. yorumlar duymak istemediğimi baştan söyleyeyim. Malum hayatımın büyük kısmını okulda geçirdiğim için okul interneti bana lazım. Ki filtrenin kırıldığını görmek çoğu öğretmenimizi hatta müdür yardımcılarımızı bile sevindirmiştir.Ve ne kadar karşı görüşlü bir yorum atarsanız atın bunun etik yönü zerre kadar beni ilgilendirmiyor. Eğer ne demek istediğimizi anladıysanız asıl konumuza geçebiliriz:

Bir firewall ile gelen ve giden portlar engellenebildiği için çoğu kullanıcının bildiği DNS değiştirme,KTunnel vs siteler,VPN ve Proxy gibi yöntemler de bu tür engellemelerde işe yaramamaktadır. Çünkü bu tür ağlar kendi özel DNS sunucularını kullanırlar böylelikle proxy türü siteler büyük ihtimal engellenmiştir ve portlar kapalı olduğu için VPN ve Proxy programları kullanamazsınız. Bu tür durumda tek yol tüm trafiği açık bir port üzerinden yönlendirmektir. Bu işlemin ağ terminolojisindeki ismi "Tunelling"dir.



Tunnelling yapabilmek için başlıca yol uzaktaki bir SSH sunucusunun açık bir portuna bağlanıp -ki bu izin verilen port genellikle 443 (HTTPS) portu olur.-  internet verisini SSH bağlantısı üzerinden geçirmektir.
Böylece verileriniz  şifrelenecek ve firewall sunucusu bir HTTPS işlemi yaptığınızı düşünerek bağlantıya izin verecektir.

Güvenlik Notu: Bu sayede gönderilen ve alınan veriler SSH Tünellemesi sırasında şifrelendikleri için ne Firewall sahibi ne de SSH sunucusu yöneticisi tarafından okunamamaktadır.

Tabi daha önce belirttiğim gibi SSH Tünellemesi yapabilmek için 443 portunu dinleyen bir SSH sunucunuz olması lazım. Bu sunucu kendi hattınız üzerindeki bir bilgisayar olabileceği gibi  SSH servisi veren bir sunucu da olabilir. Bu durumda ben SSH servisi veren bir sunucuyu tercih ederim.

Kendi bilgisayarını kullanmayı gereken arkadaşların daha önce yüklemedilerse openssh-server paketini yüklemeleri ve /etc/ssh/sshd_config dosyasına
Listen 443 satırını ekleyip sudo service ssh restart komutuyla SSH servisini yeniden başlatmaları gerekiyor.

Evinde shell sunucusu kuracak imkanı olmayan arkadaşlar da http://www.cjb.net/cgi-bin/shell.cgi?action=signup adresinden kaydolup shell adresi alabilirler.
(Bu shell servisi sadece tavsiye mahiyetindedir. Kendiniz daha iyi bir shell adresi bulursanız kullanabilirsiniz.)

NOT: Başka bir yerden SSH servisi alacaksanız 443 portundan da hizmet verdiğinden emin olun. Yoksa firewall 22 (SSH) nolu porttan gelen verileri de yutacağı için bağlanamayabilirsiniz.

Şimdi CJB.NET ten shell servisi aldığınızı varsayarak devam edeceğim. Başka bir yerden shell alanlar kullanıcı adı ve adres bölümlerini değiştirerek aynı kodu kullanabilirler.

Terminale
ssh -D 1993 -C dewilman@shell.cjb.net -p 443 komutunu verip kayıt olduğunuz şifreyle giriş yapın. (Şifreniz ekranda gözükmez.)

İsterseniz 1993 nolu portu da değiştirebilirsiniz. Sonuçta bu port bizim Tunnelling için gereken verileri ulaştırmak için yerel makinamızda  açacağımız bir proxy portu olacak.
Bu kadara kadar * her şey yolunda giderse Firefox ya da ilgili programın proxy ayarlarını bu şekilde değiştirerek internete girebilirsiniz:



NOT: CJB Shell servisi internete bağlanmak için Tor ağları kullanır. Bu yüzden IP adresiniz her bağlantıda değişir.

Windows üzerinde SSH Tünellemesi kullanmak için PuTTY programını kullanabilirsiniz. Windows kullanıcıları bu forumun dışında kaldıkları için bu yöntemi anlatmayacağım. İsteyen Google'dan araştırarak kullanabilir.
Lover
twitter.com/furkan_kalkan1

krwlng

@dewilman, eline sağlık güzel bir anlatım olmuş, denedim, biraz yavaş ama her türlü iş görüyor, cjb.net 90'lı yılların sonunda ücretsiz barındırma hizmeti verirken kullanırdım, tekrar kullanmak nasip oldu.
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!

cagriemer

Ben de ufak bir duzeltme geceyim. VPN'i de 443 nolu port uzerinden kullanmak mumkun. Zaten bu anlattiginiz islem "poor man's vpn" diye gecer.

krwlng

Fakir işi oluyor yani :) İşin açığı başkası ne için kullanır bilmiyorum ama piratebay sitesini sorunsuz açtığı için bana göre harika çalışıyor.
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!

furkankalkan

Alıntı yapılan: krwlng - 28 Aralık 2012 - 20:36:16
Fakir işi oluyor yani :) İşin açığı başkası ne için kullanır bilmiyorum ama piratebay sitesini sorunsuz açtığı için bana göre harika çalışıyor.

Öğrenciyiz, fakiriz abi :D
Lover
twitter.com/furkan_kalkan1

ersinkandemir

#5
Harika bir konu bence. :) Ellerinize sağlık. Akıllı tahtalarda Pardus'u açabilsek kullanabilirdik okulda da. :)
Where there's a shell, there's a way.



snltrk

Alıntı yapılan: dewilman - 27 Aralık 2012 - 21:09:59
Güvenlik Notu: Bu sayede gönderilen ve alınan veriler SSH Tünellemesi sırasında şifrelendikleri için ne Firewall sahibi ne de SSH sunucusu yöneticisi tarafından okunamamaktadır. [/color]

SSH sunucu tarafında verilerin okunmasını engelleyen nedir?

furkankalkan

Alıntı yapılan: snltrk - 02 Şubat 2013 - 17:32:52
Alıntı yapılan: dewilman - 27 Aralık 2012 - 21:09:59
Güvenlik Notu: Bu sayede gönderilen ve alınan veriler SSH Tünellemesi sırasında şifrelendikleri için ne Firewall sahibi ne de SSH sunucusu yöneticisi tarafından okunamamaktadır. [/color]

SSH sunucu tarafında verilerin okunmasını engelleyen nedir?

http://www.linuxjournal.com/content/ssh-tunneling-poor-techies-vpn
Zamanında burada okuduğuma göre

This will create a dynamic port forward and tunnel all the application traffic through your SSH server, both encrypting your data and bypassing content filters.

diye bir satır var, eğer yanlış çevirmediysem verinin iki tarafta da encrypt edildiğinden  (şifrelendiğinden) bahsediyor. Ki böyle bir mantıkla düşünürsek, bu verilere ulaşılsa bile okunamayacağını anlayabiliriz. 
Lover
twitter.com/furkan_kalkan1

cagriemer

Alıntı yapılan: snltrk - 02 Şubat 2013 - 17:32:52
SSH sunucu tarafında verilerin okunmasını engelleyen nedir?

Istemci (1) <---> (2) SSH Sunucu (2) <--> (3) Ulasilmak istenen Sunucu

1-2 arasindaki iletisim SSH tuneli dolayisiyla guvenlidir. Eger sizin sordugunuz 2-3 arasindaki iletisim ise bunun 1-2 arasinda tunel yaptiginiz icin korunmasi gibi bir durum yok. 3'teki sunucu ile SSL/TLS gibi guvenli bir protokolden konusmuyorsaniz 2-3 arasindaki trafigi dinleyen bir kisi o trafigi okuyabilir.

snltrk

Alıntı yapılan: dewilman - 02 Şubat 2013 - 20:15:35
Güvenlik Notu: Bu sayede gönderilen ve alınan veriler SSH Tünellemesi sırasında şifrelendikleri için ne Firewall sahibi ne de SSH sunucusu yöneticisi tarafından okunamamaktadır. [/color]
http://www.linuxjournal.com/content/ssh-tunneling-poor-techies-vpn
Zamanında burada okuduğuma göre

This will create a dynamic port forward and tunnel all the application traffic through your SSH server, both encrypting your data and bypassing content filters.

diye bir satır var, eğer yanlış çevirmediysem verinin iki tarafta da encrypt edildiğinden  (şifrelendiğinden) bahsediyor. Ki böyle bir mantıkla düşünürsek, bu verilere ulaşılsa bile okunamayacağını anlayabiliriz.

Alıntı yapılan: cagriemer - 03 Şubat 2013 - 06:40:24
Istemci (1) <---> (2) SSH Sunucu (2) <--> (3) Ulasilmak istenen Sunucu
1-2 arasindaki iletisim SSH tuneli dolayisiyla guvenlidir. Eger sizin sordugunuz 2-3 arasindaki iletisim ise bunun 1-2 arasinda tunel yaptiginiz icin korunmasi gibi bir durum yok. 3'teki sunucu ile SSL/TLS gibi guvenli bir protokolden konusmuyorsaniz 2-3 arasindaki trafigi dinleyen bir kisi o trafigi okuyabilir.

Benim takıldığım nokta SSH sunucu yöneticisinin verileri okuyup okuyamayacağı. 1 ve 2 arasındaki veri ssh ile şifrelenmiş olsa da nihayetinde SSH sunucuda çözülüp 3 e şifreli/şifresiz gönderiliyordur. Yani trafik SSL/TLS protokolüne sahip değilse SSH sunucu yöneticisi bizim bilgilerimizi okuyabilir. Okuyamıyorsa bunu engelleyen nedir?

cagriemer

Alıntı yapılan: cagriemer - 03 Şubat 2013 - 06:40:24
3'teki sunucu ile SSL/TLS gibi guvenli bir protokolden konusmuyorsaniz 2-3 arasindaki trafigi dinleyen bir kisi o trafigi okuyabilir.

Heisenberg

ssh tünellemeyi burada görmek beni sevindirdi size katılıyorum...
ALLES WAR DIE SEKTE !

ahmet_matematikci

Acaba forumda ağ güvenliği konusuna daha çok mu değinsek yada değinilse...
Hoca m ellerine sağlık güzel olmuş.
♥ Kız tavlamak için kahraman olmak gerekmez. Doğru kadın zaten sizi kahraman yapar ;)

warpalawas

Merhaba arkadaşlar,
yukarıdaki yönetemi biz acemilere adım adım anlatabilir misiniz?
Denedim ama olmadı örneğin
/etc/ssh/sshd_config bu dosyayı açtım en alt satıra verilen komutu (Listen 443) yazdım ama kaydedemedim.

Bu işi adım adım anlatırsanız çok memnun olurum.

new-player


warpalawas

Saat : 21:19 şu ana kadar bir cevap alamadık.
Kısmetse yarına. Hadi iyi geceler herkese.

if

Alıntı yapılan: warpalawas - 19 Şubat 2013 - 09:36:54
/etc/ssh/sshd_config bu dosyayı açtım en alt satıra verilen komutu (Listen 443) yazdım ama kaydedemedim.

Bu işi adım adım anlatırsanız çok memnun olurum.

gksu gedit /etc/ssh/sshd_config

warpalawas

Sayın if,
öncelikle cevap yazdınığınız için teşekkür ederim.

Alıntı Yap/etc/ssh/sshd_config dosyasına
Kod: [Seç]

Listen 443

satırını ekleyip

benim sorunum üstteki yazıyı, sizin yazdığınız "sshd_config" dosyasını açıp içine (en son satıra "Listen 443" yazıyorum - ki doğru yer mi yazıyorum onu da bilmiyorum) kaydetmiyor. Şu uyarı geliyor;
(Buraya resim eklemeye çalıştım ama olmadı.) Ya kaydetmeden çık yazıyor ya da farklı kaydet diyor.

Bir de sonda yazan o
Alıntı Yapshell ve port
gibi  şeyleri nasıl yapacağız?

[eklenti yönetici tarafından silindi]

cagriemer

warpalawas siz ilk iletiyi okudunuz mu yoksa sadece degisiklikleri ve komutlari mi takip etmeye calisiyorsunuz? Ornegin ekran goruntunuzden anladigim kadariyla uzakta bir kabuk hesabinda degil de bu islemi yerelinizde yapiyorsunuz. SSH sunucu olarak yerelinizi mi kullanacaksiniz? Tam olarak nereden nereye tunel yapmaya calisiyorsunuz?

warpalawas

Sayın cagriemer,
ben kendi bilgisayarımda bulunan dosya üzerinde çalışıyordum. Sizin yazdığınız o uzak sunucu falan bilmiyorum. Birinci mesajı okudum aşağıya alıntıladığım şey nedir nasıl yapılır bilmiyorum.
Alıntı YapSSH Tünellemesi yapabilmek için 443 portunu dinleyen bir SSH sunucunuz olması lazım. Bu sunucu kendi hattınız üzerindeki bir bilgisayar olabileceği gibi  SSH servisi veren bir sunucu da olabilir. Bu durumda ben SSH servisi veren bir sunucuyu tercih ederim.
Yukarıda da yazdığıım gibi yapacağımız iş ve işlemleri adım adım anlatırsanız yapabilirim.

heartsmagic

Kendi bilgisayarında kuracağın bir sunucu ile nasıl bir tünelleme yapmayı planlıyorsun? Amacın nedir yani?
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

warpalawas

Alıntı YapKendi bilgisayarında kuracağın bir sunucu ile nasıl bir tünelleme yapmayı planlıyorsun? Amacın nedir yani?
Sayın heartsmagic,
çok zor ve tehlikeli bir şey mi istiyorum? Başlıkta yazan MEB'in filtrelediği blog ve youtuba girmek tek amacım. Öyle chat veya başka bir amacım da yok. Sadece eğitim materyallerinin olduğu ve mebin yasakladığı sitelere girmek istiyorum. Youtube derken yine eğitim ile ilgili olan şeyler. Farklı bir şey istersem bunu işyerimden değil evimdeki internetten yaparım.

Belki bilmiyorsunuz ama Meb her şeyi kısıtlıyor. Benim eğitimle, öğrencilerimle ilgili bloğum var ve sırf adında blog olduğu için yasak.
Tünelleme dediğiniz olay çok mu zor?

furkankalkan

@warpalawas, sudo gedit /nerede/bu/dosya şeklinde denediniz mi ?
Lover
twitter.com/furkan_kalkan1

cagriemer

@warpalawas nereden nereye erismek istediginizi sizi yargilamak icin degil nasil yardimci olabilecegimizi anlamak icin soruyoruz. Bakin soyle anlatayim.

Sizin Bilgisayariniz ---> Okulun Guvenlik Duvari ---> Internetin geri kalani (kotu bir tabir oldu)

Kendi bilgisayarinizdan internetin geri kalanina serbestce erisebilmeniz icin okulun guvenlik duvarini bypass etmeniz gerekmekte. SSH sunucuyu kendi bilgisayariniza kurarsaniz bu islemi gerceklestirmeniz mumkun degil. Tekrar soyluyorum, guvenlik duvari arkasinda olan bilgisayariniza ne kurdugunuzun yapmak istediginiz sey acisindan hicbir onemi yok. Eger okulun guvenlik duvarini gecmek istiyorsaniz, yukarida anlatildigi sekilde mutlaka guvenlik duvarinin diger tarafindan bir bilgisayara ihtiyaciniz var. Bu ister evinizdeki bilgisayar olur ister ucretsiz kabuk hizmeti veren bir yer olur.

Bu basliktaki ilk iletiyi lutfen bir kere daha okuyun. Orada ucretsiz kabuk hizmeti veren bir yerden de bahsedilmis. Oradan bir hesap edinebilirsiniz mesela. Daha sonra orada SSH sunucunun port ayarini degistireceksiniz. Daha sonra yerelinizden o sunucuya SSH baglantisi yapacak ve portunuzu yonlendireceksiniz. Ardindan tarayicinizda ilgili degisiklikleri yapacaksiniz. Bunlarin hepsi adim adim anlatilmis zaten.

warpalawas

Sayın cagriemer,
açıklamalarınız için çok teşekkür ederim. "Birinci mesajı tekrar okuyun gerekli açıklamalar var" diye yazmışsınız. Zaten anlamadığım için (o kadar bilgisayar bilgim yok) yazmıştım. Ama bu son açıklamanızdan şunu anladım.
MEB'in filtresini aşabilmem için evdeki bilgisayarda bazı ayarlamalar yapıp, sürekli açık tutarak o bilgisayar üzerinden istenilen yere girmek gerkiyor.

Açıklamalarınız için çok teşekkür ederim.