Daily Archives: October 14, 2013

Tor’a Giriş

Çok temel ve bir giriş yazısı olarak Tor’la ilgili yarım kalan bu yazıyı tamamlayayım istedim. Öncelike yazının ne son kullanıcıyı ne de ileri düzey kullanıcıyı tatmin etmek gibi bir amacı yok. Birçok şeyin gayet net, anlaşılır olduğunu düşünüyorum. Kullandığınız program vs. burada örnek verilmedi diye desteklenmediğini düşünmeyin. Bu yazı tamamen GNU/Linux temellidir.

  • Kısaca Tor Nedir?

Tor (eski adıyla onion router), ilk olarak Amerikan Donanması ile beraber, devlet içi iletişimleri korumak için geliştirilmiştir. Günümüzde ise herkesin kullanabildiği (aktivist, ordu, gazeteci, kanun uygulayıcı vs.), sanal tünellerden oluşan, kişi ve grupların Internet üzerindeki gizliliklerini ve güvenliklerini sağlayan, geliştiren ve özgür yazlım olan bir anonimlik ağıdır.

  • Arkasında Kimler Var?

Sıklıkla raslatladığım ve çok eleştirilen -haklı- noktalardan biri de bu. Arkasında kimler var, kimler destekliyor, kim bunlar diyorsanız; Tor, senelik şeffaflık raporları yayımlıyor. Okumak isterseniz;

2012 yılı olağan raporu
2011 yılı finansal raporu
Baştan sona okumak isteyenlere, Tor and Financial Transparency e-posta listesi tartışması var.

Bilindik isimlerden;
Jacob Applebaum
EFF desteği (tam destek olmasa da) ve;
EFF ile birlikte geliştirdikleri HTTPS-Everywhere eklentisi.

Kaçamak cevap veriyorum gibi olmasın. Bu konudaki araştırmayı kullanacak insana bırakıyorum. Özellikle e-posta listesindeki tartışmadan ayrı birkaç yazı bile çıkabilir. Çok detaylı bilgiler içermekte.

  • Tor Nasıl Çalışır?

htw1

İster basit, isterse karmaşık trafik analizi olsun, Tor; işlemlerinizi Internet üzerindeki birden fazla alana dağıtarak riski düşürmeye yardımcı olur. Temel fikir şudur; peşinizde sizi takip eden birini, dolambaçlı yollara sokarak hem takip edilmenizi engeller, hem de arkanızda bıraktığınız izleri (fingerprint) periyodik olarak temizlersiniz. Kaynaktan hedefe doğrudan bir yol seçmek yerine, Tor ağındaki veri paketleri birkaç relay üzerinde rastgele bir yol izler. Böylece, verinin nerden geldiği ve nereye gittiği belli olmaz. Sahip olduğunuz Tor istemcisi (Ayşe), dizin sunucusundan (Ali) şifreli bir bağlantı ile dolaşım oluşturacağı Tor node’larının listesini alır (bağlantıya şemada kısa olsun diye link dedim).

Bir örnek vererek kafanızda durumu daha da netleştirelim. Ayşe, elinde güvenli ara sokakların olduğu bir listeyle (Tor node) onu takip eden ailesine izini belli ettirmeden Oya’ya (hedef sunucu) gitmek ister.

htw2
Tor; (Ayşe’nin istemcisi) ağ üzerinde bulunan relay’ler vasıtasıyla hedef sunucuya kadar şifreli bir dolaşım kurar. Dolaşım, her seferinde bir atlamaya (Tor Node’lardaki yeşil linkler) sahiptir, ve her relay sadece hangi relay’in kendisine veriyi verdiğini ve hangi relay’e vereceğini bilir. Relay’lerin hiçbiri bireysel olarak verinin aldığı tüm yolu bilemez. İstemci, dolaşım boyunca her atlamanın iletişimi takip edememesi için farklı anahtar setlerine sahiptir.

Örneğimize devam edelim; Ayşe, Oya’ya (hedef sunucu) ulaşabilmek için rastgele bir dolaşım yolu hazırlar (circuit) ve güvenli ara sokaklardan (şifreli link) sadece bir kez geçerek Oya’ya gider. Geçtiği ara sokaklar ise sadece hangi ara sokaktan geldiği ve hangisine gittiğini bilir fakat tüm güzergahı bilemez ve ara sokakların hepsi farklı bir anahtar ile açılmaktadır.

Bu dolaşımdaki son relay, Exit Node olarak adlandırılır, ve hedef sunucuyla (Oya) asıl bağlantıyı kuran bu relay’dir. Tor’un kendisi, ve tasarım olarak da, Exit Node ile hedef sunucu arasındaki bu bağlantıyı (kırmızı) şifreleyemez. Bu şekildeki Exit Node’lar geçen her trafiği yakalayabilme durumundadırlar. Ayrıca, bu Exit Node’u çalıştıran kimse gelen ve giden verileri okuyabilir. İletişimlerin bu noktasında dinleme (eavesdropping) olabilmektedir. O yüzden devamlı “end-to-end encryption” kullanın diyoruz. Bu konuda da herkesi teşvik ediyoruz.

Örneğimize devam; son ara sokak (Exit Node) ile Oya’nın evi arasındaki yol açık bir yoldur ve bu yol istenirse son ara sokak tarafından izlenebilir, hatta Ayşe’nin ailesine (eğer kötücül ise) bile bilgi verebilir veyahut kızınız şuraya kaçtı diyerek polisi arayabilir.

htw3
Tor, daha etkili olabilmek için aynı dolaşımı yaklaşık 10 dakika boyunca kullanır. Sonraki istekler, mesela yeni bir websiteyi ziyaret etmek isterseniz (Işık) ise yeni bir dolaşım üzerinden yapılır. Böylece, bir önceki dolaşımla yaptıklarınızı yenisiyle ilişkilendirmek isteyenleri engellemiş olur (şemalar ve açıklamalar Tor’dan, dinleme ise Tails’tan alıntıdır.). Son olarak, Tor sadece TCP’den ve SOCKS desteği olan uygulamalarda kullanılabilir (SOCKS desteği yoksa Polipo kısmına bakın).

Örneğimizi bitirelim; Ayşe, eğer bir süre sonra fikrini değiştirir ve Oya’ya değil de Işık’a (farklı hedef sunucu) gitmek isterse, bu sefer de farklı güvenli ara sokaklardan (Tor Node) oluşan bir dolaşım yolu hazırlar ve izini belli ettirmeden Işık’a (hedef sunucu) gider.

Tor’u, dağıtımınızı bilmediğim için nasıl kuracağınızı yazmıyorum. Paket yöneticinizden tek bir komutla ve tıklamaya kurabilirsiniz. Basit bir örnek vermem gerekirse;

apt-get install tor
pacman -S tor

Eğer grafik arayüzlü bir Tor kontrolcüsü isterseniz Vidalia‘yı da kurabilirsiniz. Vidalia; Tor’u başlatıp durdurmaya, ne kadar bandwidth harcadığınızı, aktif olarak hangi dolaşıma sahip olduğunuzu, bu dolaşımları harita üzerinde göstererek Tor’un durumuyla ilgili mesajlar yayımlar ve sizlere basit bir arayüz üzerinden Tor’u ayarlamanıza, köprü, ve relay oluşturmanıza olanak verir.

  • Temel Tor Ayarları

Dağıtımınız ne olursa olsun (Debian, Arch, Gentoo, Ubuntu denediklerim) Tor kurulumda kendi basit ayarlarıyla (dağıtıma da özgü olarak) geliyor. Bu ayarlar da Tor’un gayet güvenli ve sorunsuz çalışmasını sağlıyor. Bu arada, servis olarak çalıştırmayı unutmayın. Yukarıda da belirttiğim üzere eğer Exit Node’larının bazılarında bir dinleme varsa, veya gizli servislerin veri örnekleri aldıkları Exit Node’lar varsa Tor buna engel olamaz (HTTPS kullanın!). Belki güvendiğiniz ya da bildiğiniz Exit Node fingerprint’lerine sahipseniz sadece bunları kullanmasını da ayarlar üzerinden sağlayabilirsiniz (ama uzun vadede kimliğinizin bulunmasını kolaylaştırabilir). Farklı bir port (9050, Vidalia için 9051) kullanmadığınızı varsayarsak basitçe (örnektir) Firefox’u şu şekilde ayarlayabilirsiniz;

Seçenekler -> Gelişmiş -> Ağ -> Ayarlar -> Vekil sunucuyu elle ayarla

SOCKS = 127.0.0.1
Port = 9050 (9051)

Tor Browser Bundle varken Firefox veya başka bir tarayıcı kullanmak mantıklı mıdır? Bana sorarsanız, Tor’u kullandığınız tarayıcı ile (ya da TBB) normal olarak kullandığınız tarayıcıyı ayrı tutarsanız daha mantıklı olacaktır. Ayrıca, tarayıcınız ile ilgili test yapmak isterseniz, Panopticlik ve JonDonym var. Tarayıcınızı TBB ile kıyaslarsanız, biraz fikir sahibi olabilirsiniz.

  • Tor Ve Polipo

Polipo, basit ve hızlı bir web cache, HTTP proxy ve proxy sunucusudur. Kullanım ve ayarları gayet basit, özellike Privoxy ile kıyaslarsak, ondan çok daha hızlıdır. Polipo’nun tek sıkıntısı disk önbelleğini herhangi bir kısıtlama yapmadan devamlı olarak arttırmasıdır. Harddisk dolmaya başladığında burayı bir kontrol ederseniz iyi olur.

“/etc/polipo/config” ayar dosyası (örnek);
daemonise=false
diskCacheRoot=/var/cache/polipo/
proxyAddress=127.0.0.1
proxyName=localhost
serverSlots=4
serverMaxSlots=8
cacheIsShared=true
allowedClients=127.0.0.1
socksParentProxy = localhost:9050
socksProxyType = socks5

http-proxy‘yi localhost:8123 üzerinden kullanabilirsiniz. Polipo’yu sadece SOCKS desteklemeyen bir uygulamanız varsa (mesela Uzbl, Dwb gibi tarayıcılar) kullanmanız tavsiye. Diğer durumlarda SOCKS üzerinden sadece Tor’u kullanın.

  • Tor Ve Freenode (IRC)

Eğer Freenode‘a (OFTC‘de ekstra bir ayara gerek yok!) Tor üzerinden bağlanmak isterseniz (bu örnek Weechat için);

/proxy add tor socks5 127.0.0.1 9050
/server add freenode-tor p4fsi4ockecnea7l.onion
/set irc.server.freenode-tor.proxy "tor"
/set irc.server.freenode-tor.sasl_mechanism dh-blowfish
/set irc.server.freenode-tor.sasl_username "kullanıcı adınız"
/set irc.server.freenode-tor.sasl_password "şifreniz"
/set irc.server.freenode-tor.nicks "kullanıcı adınız"
/connect freenode-tor

  • Tor Ve Pidgin

Eğer Pidgin’de herhangi bir servise Tor üzerinden bağlanmak isterseniz (Hepsini denemeyin bence, desteleyen Jabber sunucuları için yapabilirsiniz örneğin.);

Ayarlar -> Proxy
Proxy türü SOCKS5
Host 127.0.0.1
Port 9050

Bunun yanında bence OTR eklentisi de kurulabilir. OTR’de dikkat etmeniz gereken şeylerden birincisi iletişimde bulunan her iki tarafta da OTR eklentisi kurulu olmalıdır. Bir diğer şey de siz ve karşı taraf log tutmasın, gerekirse karşı taraftan bunu rica edin.

  • Köprüler

İSS’niz ve devlet eğer sizin trafiğinizi inceliyorsa ve varsayılan ayarları ile Tor kullanıyorsanız bunu öğrenebilirler. Bridge (köprü)’ler de bu noktada devreye girereler. Köprü kullanımı şu nedenlerle olabilir:

  1. Tor kullanımı sansür ile engellenmiştir.
  2. Ülkenizde Tor kullanımı tehlikelidir, yasaktır, yasal yaptırımları vardır.

Tor Köprü Relayleri açık olarak listelenmeyen Tor ağına giriş noktalarıdır ve köprüler İSS’nizin Tor kullandığınızı anlamasını zorlaştırır. Köprüler açık olarak listelenmedikleri için öğrenmenin yolu Gmail veya Yahoo gibi e-posta hesapları ile mesaj konu ve gövdesine “get bridges” yazıp bridges[at]bridges dot torproject dot org adresine e-posta atmak olacaktır. Yanıt olarak gelen köprüleri ise Tor Browser’ın açılında Configure diyip:

2014-03-28-145224_1920x1080_scrot

Buraya kopyaladıktan sonra Connect diyoruz.

  • Tor Çalışıyor Mu?

Test etmek istiyorsanız; https://check.torproject.org

  •  Hidden Services

Deep web, dark internet, Internetin karanlık yüzü, buz dağının görünmeyen kısmı gibi bir sürü tamlama yapıp çok detaya girmeyi pek planmadığım bir nokta. Tor kullanıcısı şunun her zaman bilincinde olmalı; Tor’u neden kullanıyor, nerede kullanıyor? Bu sorular doğrultusunda hidden services profillerinizi clear web üzerinde kesinlikle ilişki kurulabilecek şekilde bağlamayın. Javascript’i deep web’de kapatın. Freedom Hosting’in FBI baskınından sonra sunucuları gittiği için gördüğünüz sadece %50’sidir. Hidden services’ten bir şeyler indirecek ya da yükleyecekseniz bunu iş yerinizden yapmamanız tavsiyedir.

  • Dikkat Edilmesi Gereken Birkaç Nokta

Tarayıcınızın bir parmakizi (fingerprint)’i vardır, kullandığınız her şeyin kendine özgü ve “eşsiz” fingerprint’leri vardır. Şöyle bir örnek vereyim sizlere; kullandığınız tarayıcıyı tam ekran kullanmanız, onun araç çubuğunun boyutu ile ilgili eşsiz bir bilgi sızdırabilir ve ziyaret ettiğiniz siteye sizinle birlikte görüntüleyen diğer tarayıcılar arasında farklı bir konuma düşebilir. Bu da sizin gerçek kimliğinizin ortaya çıkmasını kolaylaştırır. Dahası, günümüzdeki çöznürlükler dikkate alındığında bu ayrım giderek belirginleşmektedir. Bu yüzden TBB, tarayıcı tam ekran yapıldığında kullanıcılarını uyarmak için bir uyarı mesajı tasarlamaktadır.

Bir diğer nokta, diyelim ki sizler Internette flash video izliyorsunuz ve bir yandan da bunun için Tor kullanıyorsunuz (pornocular dikkat). Hiçbir çerez tutmayın, geçmişi silin, ne yaparsanız yapın webgl (HTML5’te de bu durum vardı ne oldu son durum bilmiyorum.) sizin ekran kartı bilginizi cache’leyecektir. Yani Büyük Birader sizleri evinizde ziyaret etmek isterse o ekran kartı benim değil deme şansınız var mı?

  • Son Sözler

Daha önce söylemiştim ama yinelemekte fayda var. Anonimliğiniz sizin kişisel tehlike modelinize dayanır. Kimsiniz ve kimden gizleniyorsunuz? Neden ve ne tür bir risk almayı hedefliyorsunuz? Öncelikli olarak sizin cevaplamanız gereken soruların başında bu gelmektedir. Bir diğer durum da Tor, anonim olmayan bir Internet üzerinde kendi anonim ağını oluşturmaya çalışmaktadır. Burada %100 bir sonuç alma ihtimaliniz yoktur. Gmail gibi servislere Tor üzerinden girmeniz pek mantıklı olmayacaktır (şifre yenileme talebi gönderecek). Torrent için kullanmayın (yavaş ve bilgi sızdırabilir). Eğer kullandığınız servis Tor’u desteklemiyorsa ya da kara listeye almışsa ısrarla Tor’la bağlanmayı denemeyin. Sonun sonu, gerçek kimliğinizle (mesela Facebook profiliniz) Tor üzerinden oluşturacağınız herhangi bir profil (mesela Twitter’daki takma adlı profiliniz) arasında ilişki kuracak/kurduracak (Twitter’ı Facebook profili ile ilişkilendirmek) hatalar yapmayın.

Tagged , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,