Tag Archives: debian

Tails

Tails, açılımı The Amnesic Incognito Live System olan açık kaynak ve özgür yazılım işletim sistemidir. Tails açılımındaki kavramların neler olduğunu da kısaca bir incelemek sistemin neyi ifade ettiğini anlayabilmek açısından önemlidir. Kısaca:

amnesia: forgetfulness; loss of long-term memory.
Türkçesi hafıza kaybıdır. Tails’ta vurgulanmak istenen ise uzun dönemli bir hafıza kaybı olduğudur. Yani, kullandığınız bilgisayarlarda herhangi bir iz bırakmamasıdır.

incognito: (of a person) having one's true identity concealed.
Türkçesi kim olduğunu belli etmeyendir. Tails’ta vurgulanmak istenen ise bir kişinin gerçek kimliğinin gizlenmesidir. Yani, anonimlik.

Diğer bir ifadeyle Tails, canlı bir işletim sistemi olup bireyin gizliliğini ve anonimliğini, bunu aşmak isteyen saldırganlardan korumayı hedefler. Interneti herhangi bir sansüre takılmadan, gittiğiniz her yerde ve her bilgisayarda ve arkasında iz bırakmadan kullanmanızı sağlar.

Tails, tam bir işletim sistemi olup, DVD, USB, ve SD kartlara kurulabilen, bilgisayarlardaki işletim sisteminden bağımsız olarak kullanılması için tasarlanmıştır. Tails, özgür yazılımdır ve Debian GNU/Linux tabanlıdır.

Tails’ın daha iyi anlaşılabilmesi için çevrimiçi anonimliğin ve sansürlerden kurtulmanın neden önemli olduğunu tekrar ifade etmek gerekmektedir. Öncelikle, birey neden anonimliğe ihtiyaç duyar? Türkiye gibi devam etmekte olan baskıcı bir sistem içerisinde kendini özgürce ifade edecek bir alan bulunmamaktadır. Bunun nedeni baskı kelimesinin anlamında yatmaktadır. Çünkü, baskı muhalefetin kökünü kazımayı amaçlar ve bu yolda da kendine her şeyi mübah görecek sistematik bir şeydir. Siyasi ve psikolojik araçları kullanır ve kitleleri ifade özgürlüğünün dışına iter. Diğer taraftan, birey anaysal hakkı olan gizliliğinin bu baskı altında eridiğini ve kendisini birey yapan şeylerle çevrili yapay bir ada oluşturan gizliliğinin ortadan kalktığını görecektir. Bu yüzden de kendisini özgürce ifade edebilmek için anonimliği tercih edecektir. Ayrıca, baskı araçlardan bir tanesi de sansürdür. Sansür, her türlü yayının, sinema ve tiyatro eserinin hükûmetçe önceden denetlenmesi işi, sıkı denetim anlamına gelmektedir. Baskı için denetim her hükûmetin en sık başvurduğu yollardan biridir. Kendi çıkarları dışında kalan veya kendini eleştiren ve muhalefet eden her şeyin ifade özgürlüğünün dışına itilmesi için denetler ve sansürler.

Tails gibi işletim sistemleri ise içerdiği anonimlik araçları ile bireylerin kendilerini baskıcı yapılarda hiçbir sansür engeline takılmadan özgürce ifade edebilmelerine olanak sağlamaktadır. Tails’ın en önemli anonimlik aracı Tor’dur.

  • Tails’ın içerdiği tüm yazılımlar Internete Tor üzerinden bağlanır.
  • Eğer, bir uygulama Internete doğrudan bağlanmaya kalkarsa, bağlantı güvenlik sebebiyle otomatik olarak engellenir.

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 açık kaynak ve özgür yazlım olan bir anonimlik ağıdır.

Tor kullanarak:

  • Yerinizi belli etmeden anonim olarak çevrimiçi olabilirsiniz.
  • Sansürlenen içereklere herhangi bir engele takılmadan erişebilirsiniz.
  • Tor ağını engelleyen yapılardan köprü (bridge) kullanarak korunabilirsiniz.

Tails, özel olarak tasarlanmış olup kullanıldığı bilgisayarın harddiskini ve varsa takas (swap) alanlarını kullanmamak üzere çalışmaktadır. Tails’ın bir bilgisayar üzerinde kullandığı tek şey bellek (ram)’dir. Bilgisayarı kapattığınızda ise Tails otomatik olarak bellekteki tüm verileri geri getirilemeyecek şekilde siler ve arkasında herhangi bir iz bırakmaz. Bu yüzden, yazının başında bahsedilen “amnesic” kavramı Tails kavramlarından bir tanesidir. Fakat, Tails sihirli bir araç değildir ve çevrimiçi anonimlik gibi çok karmaşık problemler için %100 bir çözüm sunamaz. Bunun çeşitli sebepleri vardır:

  • Tor çıkış nodu ile bağlanmak istediğiniz websitesi arasındaki iletişim dinlenebilir. Bunun için HTTPS-Everywhere kullanmak veya HTTP sitelerine giriş yapmamak gerekmektedir.
  • Internet servis sağlayıları Tor kullandığını görmektedir. Bunun için köprü tercih edilebilir.
  • Bir MitM (man-in-the-middle) saldırısı kurbanı olunabilir.
  • Hem Tor ağına giden hem de Tor ağından çıkan trafiği görebilmek için tasarlanmış sistemlerde her yapılan görülebilir. İSS’nin de böyle bir çalışması olabilir.
  • Tails, belgelerini otomatik olarak şifrelemez.
  • Tails, belgelerin metadatalarını otomatik olarak silmez.
  • Tails, genel bir gözetim mekanizmasından korumaz. Örneğin, bağlanılan ağdaki tüm bilgisayarlar izleniyorsa bu bir koruma sağlamayacaktır.
  • Tails, kötü ve basit parolalarınızı güvenli hale getirmez.

Son bir kez daha belirtmek gerekirse, anonimlik ve güvenlik sadece bir araca bırakmak bireyi saldırganlardan korumayacaktır. Bu tarz araçları kullanırken ne amaçla kullandığının bilincinde olmak gerekmektedir. Çünkü, günümüz Interneti çoklu sekmelerden, her adımı şifrelenmiş ve anonimleştirilmiş yollardan akmamaktadır. Böyle bir yapı içerisinde tamamen anonim kalabilmek mümkün değildir.

Tails’i iki şekilde elde edilebilir.

  1. Doğrudan indirmek için buraya tıklayın.
  2. Torrent üzerinden indirmek için buraya tıklayın.

İmaj dosyasını çektikten sonraki en önemli adım imaj dosyasını doğrulamak olacaktır. Bu neden önemli? Eğer, bir MitM saldırısı varsa ve birey kaynak yerine aradaki saldırgandan dosyayı çektiyse, bu dosya değiştirilmiş olabilir ve kullandığında anonimlik tamamen tehlike altında olacaktır.

İlk olarak imaj dosyasının SHA256 çıktısına bakılmalıdır:
339c8712768c831e59c4b1523002b83ccb98a4fe62f6a221fee3a15e779ca65d

GNU/Linux
kame $ sha256sum tails-i386-1.4.iso

Windows
Raymond’s MD5 & SHA Checksum Utility uygulamasını indirin ve kurun. Browse diyerek tails-i386-1.4.iso dosyasını açıp yukarıdaki SHA256 çıktısı ile karşılaştırabilirsiniz.
windows-checksum-utility

İndirmiş olunan Tails imajının en önemli doğrulama adımı olan Tails imzasının kullanılmasıdır. Bütün Tails imajları Tails’e ait OpenPGP imzası ile imzalanmıştır. İmzayı indirmek için lütfen buraya tıklayın. İmza ile doğrulamak ise:

GNU/Linux
kame $ gpg --keyid-format long --verify tails-i386-1.4.iso.sig tails-i386-1.4.iso

gpg: Signature made Sun 08 Feb 2015 08:17:03 PM UTC
gpg: using RSA key 3C83DCB52F699C56
gpg: Good signature from "Tails developers (offline long-term identity key) " [unknown]
Primary key fingerprint: A490 D0F4 D311 A415 3E2B B7CA DBB8 02B2 58AC D84F
Subkey fingerprint: BA2C 222F 44AC 00ED 9899 3893 98FE C6BC 752A 3DB6

Eğer herhangi bir hata alınırsa, imajı silinmeli ve tekrar indirilmelidir.

Windows

  1. Öncelikle Gpg4win uygulamasını indirin ve kurun.
  2. Daha sonra Tails signin anahtarını indirin ve Gpg4win’e aktarın.
  3. Son olarak, indirmiş olduğunuz Tails imzası ve Tails imajını doğrulayın.

Doğrulama işlemini başarıyla tamamlandıysa artık imajı yazdırmaya geçilebilir. DVD, USB bellek veya SD kartlardan bir tanesini seçilebilir. DVD, hem ucuz hem de ele geçirilse bile virüs bulaşmayacağı ve üzerine tekrar bir şey yazılamayacağı için güvenli bir seçenektir. Fakat, hem taşınması hem de her bilgisayarda DVD sürücüsü bulunmayabileceği için bireyin insiyatifine kalmıştır. USB bellek ve SD kartlar ise taşınma ve kullanım kolaylığı açısından iyi bir esneklik sunabilmektedir fakat, saldırgan fiziksel olarak USB belleğe veya SD karta erişebilir ve içeriğini manipüle (virüs) edebilir.

GNU/Linux
USB belleğini takın ve bağlandıysa (mount) lütfen bağlantıyı kaldırın (umount). Kurulum yapacağınız bağlantı noktası çok önemli olduğu için dikkat edin yoksa kazara harddiskinizi silebilirsiniz. /dev/sd[x] USB belleğinizin bağlandığı yolu göstermektedir. Nümerik bir şey olmayacaktır; /dev/sdc1 gibi. Root olun ve:

root $ dd bs=4M if=tails-i386-1.4.iso of=/dev/sdx && sync

Bu işlem biraz vakit alacaktır. Başarıyla tamamlandığına dair çıktı ise aşağıdaki gibi olacaktır:

231+1 records in
231+1 records out
970584064 bytes transferred in 207.309208 secs (4681818 bytes/sec)

Windows
Windows’ta USB belleğe yazdırmak için Tails’ın yönergelerine buradan bakabilirsiniz.

Artık Tails kuruldu ve kullanıma hazır. Tek yapılması gereken, takılı olduğu bilgisayarı USB bellekten başlatmaktır. Bunun için taktığınız bilgisayarları yeniden başlatıp, açılış ekranında BIOS’a girerek USB belleği seçebilirsiniz.

Tails’ı USB bellekten başlattığımızda ilk olarak aşağıdaki ekran gelecektir. Enter’a basak devam edebilirsiniz. Eğer, basmazsanız 3 saniye içerisinde kendisi işletim sistemini başlatacaktır.
boot-menu-with-options

Başlatma bittiğinde karşınızda aşağıdaki karşılama ekran gelecektir. Bu karşılama ekranında alt satırda dil, ülke ve klavye seçeneklerini Türkçe olarak (veya hangi dilde kullanmak isterseniz) ayarlayabilirsiniz.
tails-greeter-welcome-to-tails

More options kutucuğunda lütfen Yes‘i seçin ve Login tuşuna basın.
3

Yukarıda gördüğünüz ekranda ilk olarak kendinize bir parola belirleyebilirsiniz. Güvenlik için parola kullanmamanızı tavsiye ederim. Yönetici hakları ile önemli ayarları istemeden değiştirebilirsiniz. Bir altta gördüğünüz Windows camouflage ise masaüstünün Windows 8’e benzemesini sağlayacaktır. Bu da kamuya açık ortamlarda dikkat çekmeden Tails kullanmanızı sağlar. Diğer seçenekleri varsayılan şekliyle olduğu gibi bırakabilirsiniz.

Screenshot from 2015-06-06 17:30:29

Internet bağlantınız Tor ağı üzerinden akmaya hazır olduğunda sağ üst köşede çıkan uyarıdaki gibi bir uyarı alacaksınız. Artık güvenli bir şekilde Tails üzerinden Internete girebiliriz. Windows tuşuna bastığınızda başlat menüsü açılacaktır. Bu menü:

5

şeklindedir. Dikkat ettiğiniz üzere hem Tor Browser hem de Unsafe Web Browser mevcuttur. Unsafe Web Browser, Tor ağını kullanmadan, doğrudan Internet bağlantınızı kullanarak websitelerine girmenizi sağlar. Bu ayrımı unutmamanız yararınıza olacaktır. Tor Browser’ı açtığınızda:

Screenshot from 2015-06-06 16:12:19

herhangi bir sansüre takılmadan, anonim olarak websitelerini görünteyebilirsiniz. Tails, Libre Office, Gimp ve Inkscape gibi grafik uygulamaları, Audacity ve Traverso gibi ses kayıt ve düzenleme uygulamaları, anlık mesaj uygulaması Pidgin‘i (OTR ayarlı), e-posta için Claws Mail‘ı, bir başka anonim ağ olan I2P‘yi, kablosuz ağlar için Aircrack-ng uygulaması, LUKS gibi disk şifreleme uygulaması ve birçok başka uygulamayı da içermektedir.

Tails üzerinden herhangi bir bulut üzerine veya herhangi bir yere dosya yüklemesi/göndermesi yapacaksanız, dosyaların Tor browser klasörü içerisinde yer alması gerekmektedir. Diğer türlü Tails dosyaların gönderilmesini engelleyecektir. Dosya gönderirken dikkat edilmesi gereken bir başka nokta da metadatalarının temizlenmesidir. Metadatalar dosyalarla ilgili eşsiz veriler saklar ve bu veriler dosyanın nerede, ne zaman, kimin tarafından oluşturulduğuna dair önemli bilgiler tutabilir. Bu bilgileri Tails’ta yer alan MAT uygulaması ile silebilirsiniz.

Screenshot from 2015-06-06 16:30:17

Add ile metadalarını silmek istediğiniz dosyaları ekleyebilir be Scourge ile silebilirsiniz.

Tails kullanırken dikkat etmeniz birkaç nokta aşağıdadır:

  • Tails kullanırken gerçek kimliğinize ait hesaplara (Facebook, Gmail gibi) giriş yapmamayı tercih edin.
  • Claws Mail, Internete Tor ağı üzerinden bağlanacağı için Gmail gibi hesaplar girişi engelleyebilir ve size şifre sıfırlama gibi mesajlar gönderebilir. Gmail, Hotmail, Yahoo gibi hesaplar yerine Tor ağı dostu e-posta servisleri tercih edilmelidir.
  • Kesinlikle Flash kurulmamalıdır.
  • Adblock gibi eklentiler reklamları engellerken IP bilgisi sızdırabilir.
  • Javascript kurulmamalı ve aktif edilmemelidir.

Tails kurulum ve kullanım olarak gayet kolay bir canlı işletim sistemidir. Öte yandan, bu yazı Tails’ın içerdiği tüm uygulamalara ait detaylar içeren bir yazı değildir. Birey, Tails’ı kendi bilgisayarında deneyerek içerdiği uygulamaların neler olduğunu çok kolay bir şekilde keşfedebilir. İlerleyen süreç içerisinde de bu uygulamalara ait detayları bu yazıda bulabilirsiniz.

Son olarak, Tails, Tor, VPN, Proxy vd. sizlere %100 anonimlik sağlamayacaktır. Bunun bilincinde olmak en az bir anonimlik aracını kullanmayı bilmek kadar önemlidir.

Heartbleed

SSL/TSL protokolü Internet üzerinde web sunucuları, tarayıcılar, e-posta, anlık mesajlaşma araçları ve VPN gibi uygulamaların şifreli bir şekilde haberleşmeleri için geliştirilmiştir. Temel amacı gizlilik ve güvenlik sağlamaktır. Açık ve gizli anahtara sahiptir. Açık anahtar ile şifrelenen veri gizli anahtar tarafından çözülür. Böylece iletilen verinin şifresinin doğru adreste ve doğru alıcı tarafından çözülmesi sağlanır. İşleyiş yapısına Wiki‘den (Türkçe) bakalabilirsiniz. Kısaca anlatacak olursak:

  • Ali -> Selam -> Ayşe diye bir mesaj yolladı. Bu mesaj desteklenen en yüksek TSL protokolü, rastgele bir sayı, doğrulama, şifreleme, mesaj doğrulama kodu (MAC) içeren şifreleme yöntemi ve bir sıkıştırma yöntemi ile yollandı.
  • Ayşe -> Selam -> Ali diye cevap verdi. Bu cevap da Ali tarafından seçilen TSL protokolü, rastgele sayı, doğrulama, şifreleme, mesaj doğrulama kodu (MAC) içeren şifreleme yöntemi ve sıkıştırma yöntemine uygun olarak verildi.
  • Ayşe -> Sertifika -> Ali mesajı yolladı. Bu mesaj şifreleme yöntemine uygun olarak şeçildi.
  • Ayşe -> SelamTamamlandı -> Ali diye bir mesaj daha yolladı.
  • Ali -> AnahtarDeğişimi -> Ayşe mesajı yolladı. Bu mesaj açık anahtarı (PreMasterSecret veya hiçbir anahtar) içermektedir. Bu değişimle artık üzerinden iletişim kurabilecekleri ortak bir sır belirleyebilecekler.
  • Ali ve Ayşe rastgele sayılar ve anahtar ile doğrulama ve şifrelemede kullanacakları ortak bir sır oluşturdular.
  • Ali -> ŞifrelemeYönteminiDeğiştir -> Ayşe mesajı gönderdi. Bu mesaj “Ayşe, bundan sonra sana göndereceğim her mesaj doğrulanacak ve şifrelenecek.” anlamına gelmektedir.
  • Ali -> Bitti -> Ayşe mesajı gönderdi. Bu mesaj  oluşturulan sır ile doğrulanmış ve şifrelenmiştir.
  • Ayşe Bitti mesajının şifresini çözmek isteyecektir. Eğer, oluşturdukları sıra uygun değilse el sıkışma gerçekleşmeyecektir.
  • Ayşe -> ŞifrelemeYönteminiDeğiştir -> Ali mesajı gönderdi. Bu mesaj da “Ali, bundan sonra sana göndereceğim her mesaj doğrulanacak ve şifrelenecek” anlamına gelmektedir.
  • Ayşe -> Bitti -> Ali mesajı gönderdi. Aynı şekilde oluşturulan sır ile doğrulandı ve şifrelendi.
  • Ali de Bitti mesajının şifresini çözecektir.
  • Son noktada, el sıkışma işlemi tamamlanmış olacaktır.

SSL/TSL’e kısa bir giriş yaptıktan sonra dün Heartbleed adıyla bir OpenSSL hatası keşfedildi. Heartbleed adı ise TSL/DTSL’de olan heartbeat (RFC6520) uzantısındaki hatadan geliyor. Bu hata normal şartlar altında şifreli bir şekilde korunun verinin çalınmasına sebep olabilmektedir. Bununla birlikte, gizli anahtar ile şifreli verinin çözülmesi, kullanıcıların sahip oldukları kullanıcı adı ve şifre gibi içeriklerin elde edilmesi, iletişimin dinlenebilmesi, verilerin servis veya kullanıcılardan hiçbir şekilde farkında olmadan çalınmasına olanak sağlamaktadır. Diğer yandan, yapılabilecek herhangi bir saldırının kolaylığı ve iz bırakmaması kullanıcıları büyük bir risk altına sokmaktadır. Yukarıdaki işleyiş örneğine de bakacak olursanız Ali ile Ayşe arasında geçen şifreli iletişim bu hata yüzünden saldırganların iletişimde kullanılan şifrelere sahip olmalarına ve mesaj içeriğini çok kolay bir şekilde elde edebilmelerine neden olmaktadır.

Nelerin sızmış olabileceğine dair olarak dört kategori oluşturulmuş. Bunlar; birinci anahtarlar, ikincil anahtarlar, şifreli veriler ve hafıza içerikleridir. Kısaca özetlersek; birincil anahtarlar şifreleme için kullanılan açık ve gizli anahtarları içermektedir. Saldırganın servisler tarafından şifrelenen trafiğin arasına girilebileceği, şifreyi çözebileceği, özellikle geçmiş trafiğin hatanın yamalansa bile şifresinin çözülebileceğidir. İkincil anahtarlar, servislerde kullanılan kullanıcı adı ve parola gibi kullanıcı içerikleridir. Şifreli veriler, servislerde tutulan verilerdir. Bunlar iletişime konu olan veriler, e-postalar, belgeler veya şifrelemeye konu olan herhangi bir içerik olabilmektedir.  Hafıza içerikleri de hafıza adreslerinde tutulan teknik detaylar olabildiği gibi çeşitli saldırılara karşı alınan güvenlik önemleri de olabilmektedir.

Ben de etkileniyor muyum?

Malesef etkileniyorsunuz. OpenSSL Internet üzerindeki trafiği şifrelemek üzere en çok kullanılan açık kaynak şifreleme kütüphanesi olduğu için en çok kullanılan sosyal medya siteleri, kurduğunuz SSL içerikli bir uygulama, ağ uygulamaları, hatta devlet siteleri bile gizlilik ve işlemleri (trafik, giriş vs.) korumak adına bu protokolü kullandığı için etkilenmektedir. Bu yüzden sizler de doğrudan veya dolaylı olarak etkilenmektesiniz. Ayrıca, ilk keşfedenlerin bu hatayı bulanlar olmadığını da unutmamalısınız. Hatayı duyuran Codenomicon ve Google‘dan Neel Mehta yaptıkları test saldırılarında durumun çok ciddi olduğunu ve bu açığın çoktan kullanılmış olabileceğini belirtmektedirler.

Hangi OpenSSL sürümleri etkilenmekte?

  • OpenSSL 1.0.1 ve 1.0.1f etkilenmekte,
  • OpenSSL 1.0.1g etkilenmiyor,
  • OpenSSL 1.0.0 etkilenmiyor,
  • OpenSSL 0.9.8 etkilenmiyor.

Hangi GNU/Linux dağıtımları etkilenmekte?

  • Debian Wheezy, (OpenSSL 1.0.1e-2+deb7u4) etkilenmekte,
  • Ubuntu 12.04.4 LTS, (OpenSSL 1.0.1-4ubuntu5.11) etkilenmekte,
  • CentOS 6.5, (OpenSSL 1.0.1e-15) etkilenmekte,
  • Fedora 18, (OpenSSL 1.0.1e-4) etkilenmekte,
  • OpenBSD 5.3 (OpenSSL 1.0.1c 10 Mayıs 2012) ve 5.4 (OpenSSL 1.0.1c 10 Mayıs 2012) etkilenmekte,
  • FreeBSD 8.4 (OpenSSL 1.0.1e) ve 9.1 (OpenSSL 1.0.1c) etkilenmekte,
  • NetBSD 5.0.2 (OpenSSL 1.0.1e) etkilenmekte,
  • OpenSUSE 12.2 (OpenSSL 1.0.1c) etkilenmekte.

Ne yapmalı?

Servis tarafını ilgilendiren duruma biz herhangi bir şey yapamıyoruz. Sadece, onların SSL sertifikalarını güncellemelerini bekleyeceğiz. Ardından, bir önlem olarak kullandığımız parolalarımızı değiştireceğiz. Bununla birlikte, bizi ilgilendiren tarafta ise ilk olarak dağıtımlarınızda kurulu olan OpenSSL paketinin sürümünü kontrol edin. Kontrol ettiğimde bende yüklü olan 1.0.1f olan sürümü 1.0.1g‘ye düşürüldü. Eğer, bu açıktan etkilenen bir sürüme sahipseniz ilk iş olarak etkilenmeyen sürümlere geçin. Muhtemelen, bir güncelleme çıkmıştır.

Unbound

Bugün, Google da Türk Telekom’un hukuki bir dayanak olmadan DNS sunucularını yönlendirdiğini ve Türkiye’deki Internet kullanıcılarının fişlendiğini belirten bir değerlendirme yaptı. İletişim özgürlüğüne ve özel hayatın gizliliğine yapılmış sayısız ihlale bir yenisinin daha eklenmesinin yanında henüz TİB ve Türk Telekom’dan da konuyla ilişkili bir bilgi verilmedi. Türkiye’de Google ve Open DNS sunucuları hukuka aykırı ve hiçbir dayanağı olmadan Türk Telekom’a yönlendiriledursun, bu durumu aşabilmek için çeşitli yöntemler de mevcuttur. Bunlardan biri GNU/Linux altında Unbound kurarak kullanıcı kendini DNS önbellek zehirlemesinden ve sahte yönlendirmelerden koruyabilir. Ayrıca, özellikle DNS sorgusunda araya girilmediği ve yapılan sorguların bu şekilde elde edilmediği takdirde de gayet iyi bir yöntem olacaktır.

Unbound; önbelleğe sahip ve DNSSEC doğrulaması yapan bir DNS çözümleyicisidir. Harici bir DNS sunucusuna ihtiyaç olmadan DNS çözümleme işlemini yerine getirir. İstenildiği takdirde harici DNS sunucusu da kullanılabilir. Bununla birlikte, DNSSEC ise Türkiye örneğindeki gibi kullancıyı ve uygulamayı manipüle edilen DNS verilerinden sahip olduğu dijital imza ile koruyan bir özelliktir. Biz ise örneğimizde DNSSEC doğrulaması yapan ve yerel bir DNS çözümleyici için Unbound kurup ayarlayacağız. İlk olarak, Türkiye’deki OpenDNS, Google DNS ve İSS’lerin kendi DNS sunucularının verdiği çıktıya bakalım:

nslookup twitter.com
Server:    192.168.1.100
Address:   192.168.1.100#53

Non-authoritative answer:
Name       twitter.com
Address:   195.175.254.2

nslookup twitter.com 8.8.8.8
Server:    8.8.8.8
Address:   8.8.8.8#53

Non-authoritative answer:
Name       twitter.com
Address:   195.175.254.2

nslookup twitter.com 208.67.222.222
Server:    208.67.222.222
Address:   208.67.222.222#53

Non-authoritative answer:
Name       twitter.com
Address:   195.175.254.2

Görüldüğü üzere iki DNS sunucusu ile İSS engelli sayfayı sahte bir DNS sunucusuna yönlendirilmekte ve kullanıcı sahte DNS sunucusunda bekletilmektedir. Bu, Google’ın değerlendirmesi ve ayrıca daha önceden de bu konuya ilişkin yazılmış yazılar da doğrulamaktadır.

Şimdi, Debian ve türevi dağıtımlar için Unbound kuruluma geçecek olursak (Windows için buradan indirebilir ve yönergeler için el kitabına bakabilirsiniz. Gayet basitçe anlatılmış.):

kame ~ $ apt-get install unbound unbound-anchor
kame ~ $ sudo cp /etc/unbound/unbound.conf /etc/unbound/unbound.conf.save
kame ~ $ sudo wget -c ftp://FTP.INTERNIC.NET/domain/named.cache -O /etc/unbound/root.hints
kame ~ $ sudo cp /var/lib/unbound/root.key /etc/unbound/root.key
kame ~ $ sudo chown -R unbound:unbound /etc/unbound/root.key

/etc/unbound/unbound.conf:

###
server:
	auto-trust-anchor-file: "root.key"
	interface: 127.0.0.1
	interface: ::1
	root-hints: "root.hints"
	num-threads: 2
	hide-identity: yes
	hide-version: yes
	msg-cache-size: 16m
	msg-cache-slabs: 8
	rrset-cache-size: 32m
	rrset-cache-slabs: 8
	infra-cache-numhosts: 20000
	infra-cache-slabs: 8
	key-cache-slabs: 8
	key-cache-size: 8m
	jostle-timeout: 250
	so-rcvbuf: 4m
	so-sndbuf: 4m
	harden-short-bufsize: yes
	harden-large-queries: yes
	harden-glue: yes
	harden-dnssec-stripped: yes
	harden-below-nxdomain: yes
	prefetch-key: yes
	prefetch: yes
	unwanted-reply-threshold: 10000000
	rrset-roundrobin: yes
	outgoing-range: 8192
	num-queries-per-thread: 4096
	do-udp: yes
	do-ip4: yes
	do-ip6: no
	do-tcp: yes
python:
remote-control:
forward-zone:
###

Kopyalayıp kaydedin. Ağ yöneticinizdeki DNS sunucuları ayarını 127.0.0.1 yapın ve Unbound servisini çalıştırın (systemd ve openrc için iki örnek aşağıda).
kame ~ $ systemctl enable unbound.service
kame ~ $ systemctl start unbound.service

kame ~ $ /etc/init.d/unbound start

Yukarıdaki ayarlar hemen hemen bütün dağıtımlarda çalışacaktır. Herhangi bir sıkıntı yaşayacağınızı düşünmüyorum. DNSSEC kontrolü yapalım:

kame ~ $ dig sigok.verteiltesysteme.net @127.0.0.1

; <<>> DiG 9.9.5 <<>> sigok.verteiltesysteme.net @127.0.0.1
;; global options: +cmd
;; Got answer:
;; HEADER opcode: QUERY, status: NOERROR, id: 5409
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 4

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;sigok.verteiltesysteme.net.	IN	A

;; ANSWER SECTION:
sigok.verteiltesysteme.net. 60	IN	A	134.91.78.139

;; AUTHORITY SECTION:
verteiltesysteme.net.	3600	IN	NS	ns1.verteiltesysteme.net.
verteiltesysteme.net.	3600	IN	NS	ns2.verteiltesysteme.net.

;; ADDITIONAL SECTION:
ns1.verteiltesysteme.net. 3600	IN	A	134.91.78.139
ns2.verteiltesysteme.net. 3600	IN	A	134.91.78.141

;; Query time: 1070 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Apr 01 11:49:29 2014
;; MSG SIZE  rcvd: 167

Bu şekilde A çıktısı alıyorsanız DNSSEC doğrulaması yapılmakta olduğunu söyleyebiliriz. Bununla birlikte, DNSSEC doğrulaması yapabileceğiniz siteler de mevcuttur:

Şimdi, Unbound’un sorunsuz çalıştığını ve DNSSEC doğrulaması yapıldığını farzederek Twitter çıktımızı tekrar kontrol edelim:

nslookup twitter.com 127.0.0.1
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
Name:   twitter.com
Address: 199.59.148.82
Name:   twitter.com
Address: 199.59.149.230
Name:   twitter.com
Address: 199.59.149.198

Her şey yolunda gözüküyor. Yerel DNS çözümleyicimiz sayesinde İSS’nin yapmış olduğu yönlendirmeye takılmadan kullanabiliriz. Diğer yandan, adres/IP manipülasyonlarında da sahip olunan dijital imza ile kullanıcı korunabilecektir. Unbound, yerel DNS çözümleyici ve DNSSEC ile doğrulama gerçekleştirerek yaşanabilecek sıkıntıların engelleyebilmektedir. Türkiye’de Internetin gelmiş olduğu noktaya bakacak olursak herhangi bir sosyal medya üzerinde verilen DNS sunucularını kullanmak yerine Unbound iyi ve güvenli bir çözüm gibi durmaktadır. Açıkçası, Türk Telekom ve TİB’in bundan sonra ne tür bir yöntem ile Internet üzerinde kullanıcı takibi, sorgu denetimi yapabileceğini, SSL sertifikalarında mitm yapıp yapmayacağını, sahte sertifika üretip üretmeyeceğini de kestiremediğim için kesin bir şey söyleyemiyorum. Aceleci bir yapım olmadığı için bekleyip görmeyi tercih ediyorum.

YaCy – P2P Arama Motorunuz

Twitter‘ın erişime engellemesi ile ilgili mesajım için buraya tıklayabilirsiniz.

YaCy, p2p mantığı üzerine kurulu ücretsiz, açık kaynak, özgür bir arama motoru yazılımdır. Genel olarak Java dili ile yazılmıştır ve platform bağımsızdır. Yani, illa GNU/Linux kullanmanıza gerek yoktur. P2P ağlarda olduğu gibi YaCy’de de birçok istemci vardır. Her YaCy-istemcisi birbirlerinden bağımsız olarak bir Internet sayfasını tarayabilir, analiz edebilir, sonuçları YaCY-istemcilerinin erişebilmesi için ortak bir indeks veritabanında tutup paylaşabilir. Tüm YaCy-istemcileri eşittir ve arama portallarında (Google, Bing, Yandex vs) merkezi bir sunucusu yoktur. Kısaca, YaCy için merkezsizleştirilmiş arama motoru da denilmektedir.

Merkezsizleştirilmiş arama motoru nedir?

merkezsizleştirme

Özel mülkiyet bir arama motoru düşünün. Bir merkezi ve yönetici(leri) mevcuttur. Bu arama motorunun sizin kontrolünüz dışında olan özel sunucularının bir merkezi vardır, sizin aramalarınızla ilgili bilgi toplar, sonuçları çeşitli gerekçelerle (telif vs.) sansürleyebilir, sizin arama sorgularınız ve eriştiğiniz sonuçlarla ilgili profil oluşturup bunu reklam için kullanabilir veya satabilir. YaCy’de ise bu durum tamamen farklıdır. Öncelikle, böyle bir merkeze bağlı değilsiniz. Kendi arama motorunuzun hem yöneticisi hem de kullanıcısısınız. Diğer yandan arama portallarındaki gibi içeriğiniz sansürlenmez, yöneticiler tarafından gözetlenmez ve herhangi bir reklam yoktur. Kendi içeriğinizi oluşturabilir, istediğiniz siteleri indeksleyebilir ve 600’den fazla istemcinin düzenli olarak katkı yaptığı 1.4 milyardan fazla dökümana sorunsuz, herhangi bir engele ve kısıtlamaya takılmadan erişebilirsiniz.

Kurulum ve ilk çalıştırma

İlk önce sistemimize Java kurmalıyız. Ardından YaCy’i kurabilir ve çalıştırabiliriz. Windows kullanıcıları buradan MacOS kullanıcıları da buradan indirip kurabilirler. Paket yöneticiniz ve dağıtımınız ne olduğunu bilmediğim için Debian türevi dağıtımlara uygun bir Java kurulumu gösterdim. Diğer kurulum ve çalıştırma dağıtım bağımsızdır.

kame - $ apt-get install openjdk-7-jre
kame ~ $ wget -c http://yacy.net/release/yacy_v1.68_20140209_9000.tar.gz
kame ~ $ tar xzv yacy_v1.68_20140209_9000.tar.gz && mv yacy ~/.yacy
kame ~ $ cd ~/.yacy && sh startYACY.sh

Temel ayarlar

Tarayıcınızdan localhost:8090‘a girdiğinizde YacY’nin durum (status) ana sayfasını göreceksiniz. Şimdi ilk olarak yanındaki Basic Configuration‘a tıklayarak bizi ilgilendiren birkaç ayarı yapalım. 1. seçenek dil seçeneği. Buradan size uygun olan bir dili seçebilirsiniz. 2. seçenek kullanım amacı. Üç seçenek mevcut. İlki, topluluk tabanlı arama. YaCy-istemcileri üzerinden arama yaparsınız. İkincisi, YaCy’i diğer YaCy-istemcilerinden bağımsız olarak yapılandırır, kendi indekslediğiniz ve robotlarla taradığınız siteler üzerinde arama yapılacak şekilde yapılandırabilirsiniz. Üçüncüsü, kendi ağınız ve siteniz için bir arama moturu oluşturabilirsiniz. 3. seçenek kullanıcı adınız. Herhangi bir şey yazabilirsiniz. 4. seçenek ise diğer YaCy istemcilerinin de erişebilmesi için port ayarı. Çok şart değil, port erişilebilir olursa hem performans açısından hem de diğer istemcilere indeks katkısı açısından biraz daha iyi olacaktır. Ayarlarınız tamamsa Set Configuration diyerek kaydedebilirsiniz. iptables’da port açmak isterseniz:

kame ~ $ iptables -I INPUT -p tcp --dport 8090 --syn -j ACCEPT
kame ~ $ iptables -I INPUT -p udp --dport 8090 -j ACCEPT

Bir arama gerçekleştirelim

yacy_arama

Görüldüğü üzere çok kapsamlı bir sonuç (daha devam ediyordu fakat ben yarıda kestim) elde edemedik. Bunun temel nedeni çok taze bir konuyu aratmak istememdi, ayrıca daha çok robotlarla taramaya ve indekslemeye ihtiyacı olduğundandır. Diğer bir deyişle, YaCy’nin birçok istemciye ihtiyacı vardır. Fakat, bu arama YaCy’nin yetersiz olduğu fikri oluşturmasın. Şu ana kadar beni pek üzdüğünü söyleyemem. Sorgularıma verdiği yanıtlar hep yeterliydi.

Arama motoruma herkes erişebilir mi?

Evet. Herkes erişebilir. Bu ister YaCy istemcisi olsun, ister Internette arama moturunuzun açık 2014-03-21-170646_1920x1080_scrotadresini bilen olsun veya diğer arama portallarının örümcekleri olsun erişebilirler. Status sayfasında, sağ köşede bir kutu göreceksiniz. Address kısmına baktığınızda sunucu (host), açık adres (public adress) ve YaCy adreslerinizi (yacy address) görebilirsiniz. Açık adresinize herkes (örümcekler dahil ve adresinizi dağıttığınız sürece) erişebilir. Bu yüzden Account ayarlarında Acces only with qualified account seçeneği ile bir yönetici (admin) şifresi belirleyebilirsiniz. Local robots.txt bölümünden de örümceklerin neye erişemeyeceklerini de ayarlayabilirsiniz.

2014-03-21-170630_1920x1080_scrotBen de indeks yapmak istiyorum

Sol menüde Index Production alt menüsünü göreceksiniz. Crawler/Harvester‘a tıkladığınızda açılan sayfa üzerinden indekslemek istediğiniz sayfanın linkini girerek bu işlemi gerçekleştirebilirsiniz.

Son sözler

YaCy çok detaylı ve kapsamlı bir arama motorudur. Burada çok temel birkaç şeyden bahsettim. Genel anlamda dört temel özelliği vardır. Tarama (crawl), indeksleme, arama ve yönetici arayüzü ve veritabanı. Merkezi bir sunucusu yoktur, sansür, reklam, gözetim gibi durumlardan arındırılmıştır. Yüksek derecede gizlilik sağlar. Çeşitli sıkıntılara sahip olsa da kesinlikle desteklenmelidir. Son olarak, YaCy ne kadar çok istemci sahibi olursa o kadar çok etkin, güvenli, sansürsüz, reklamsız bir arama motoru olacaktır.

I2P’ye Giriş

Bir başka anonim ağ, I2P. Bir başka giriş yazısı, I2P’ye Giriş. Eksik olduğunu biliyorum. Fakat iş görmeyecek, anlaşılmayan noktaları gideremeyecek kadar kötü de değil.

Yeni 5651 sayılı kanun tasarısı 5 Şubat 2014 tarihinde kabul edildi. Ben de Tor’a Giriş yazısı gibi bir I2P’ye Giriş yazısı hazırlamaktaydım. Fakat, hem gündemin yoğlunluğu hem de kendi yoğunluğum nedeniyle bunu hep arka plana atıyordum. Şimdi bunu acilen yayımlamak şart oldu. Teknik olarak yazı biraz eksik. İlerleyen süre içerisinde bunu gidereceğim. Öte yandan, yazı içerik olarak kafanızdaki soru işaretlerini giderecek düzeyde ve kullanım açısından pek bir eksik içermiyor. Yazıyı okurken ve I2P kullanırken şunu aklınızdan hiç çıkarmayın; “I2P kullanan bir kişi gizli değildir. Gizli olan şey tıpkı router’ın (yönlendirici) bağlı olduğu belirli bir hedef gibi kullanıcının bu anonim ağda ne yaptığına dair bilgidir.

I2P; açık kaynak, P2P anonim bir ağ olup,  basit bir katman oluşturarak çeşitli araçların birbirleriyle güvenli bir iletişim kurmalarını sağlayan özgür bir yazılımdır. I2P’de anonim olarak e-posta servisini kullanabilir, sörf yapabilir, blog ve forum hizmetlerinden yararlanabilir, sitenizi yayımlayabilir,  anlık mesajlaşma yapabilir (IRC), dosya paylaşabilir veya yükleyebilirsiniz. Tüm veriler birkaç katmandan oluşan şifreleme ile paketlenir ve tüneller ile iletilir. Bu yüzden I2P ile ilgili bilinmesi gereken en önemli noktalardan biri “tünel” kavramıdır. I2P’deki bir tünel yönlendiriciler listesinden seçilen bir yoldur. Katmanlı şifreleme kullanılır ve böylece yönlendiricilerden herbiri sadece bir katmanın şifresini çözer. Şifre çözümü sonunda elde edilen bilgi, şifreli bilginin iletileceği bir sonraki yönlendiricinin IP adresidir. Bununla birlikte, her tünelin bir başlama noktası (ilk router) ve bir de bitiş noktası (son router) vardır. Ayrıca, gönderilen bir mesaj sadece tek yönlüdür. Eğer bu mesaja cevap verilecekse, yeni bir tünel üzerinden yapılacaktır.

I2P’de iki çeşit tünel mevcuttur. Bunlar, tüneli oluşturan tarafından gönderilen mesajları içeren “outbound” (giden) ve mesajları almak için tünel oluşturan “inbound” (gelen)’dur. Bu iki tünelin bir araya gelmesiyle kullanıcılar birbirleriyle iletişim kurabilmektedirler. Şimdi bunu bir şema üzerinde görelim (şemalar i2p‘den alıntıdır):

net2014-02-07-200942_1920x1080_scrotÖrneğimizde Ayşe Ali ile buluşmak istemektedir. Bunun için de ona “Bugün buluşalım mı?” diye bir mesaj gönderecektedir. Şemada gördüğünüz gibi her giden ve gelen tünelleri (1, 2, 3, 4, 5 ve 6) 2 sıçramaya sahiptirler. Bu sıçramalar peer’ler (eşler) üzerinden gerçekleşecektir. Sıçrama sayısını Eşler bölünden ayarlayabilirsiniz. Tıpkı torrentte olduğu gibi bağlandığınız birçok eş olacaktır. Bunlar I2P’nin ağ veritabanı (network database) içinde Kademlia algortiması ile bulunur. Ayrıca, sol ana menüde ve altta Shared Clients (Paylaşılmış İstemciler)’den ayrıntılı bilgiye ulaşabilirsiniz. Ayşe, Ali’ye mesajını gönderdiği zaman pembe renkli olan giden tüneli üzerinden 3 veya 4 numaralı tünel geçidini kullanarak Ali’nin yeşil renkli gelen tüneli ile mesaj Ali’nin yerel istemcisine ulaşacaktır. Eğer, Ali bu mesaja “Evet, nerde?” diye cevap verecek olursa yeni bir tünel oluşuturulacak, bu sefer de Ali’nin pembe renkli olan giden tüneli üzerinden 1 veya 2 numaralı tünel geçiti kullanılarak Ayşe’nin yeşil renkli gelen tüneli ile yerel istemcisine ulaşacaktır. Mesajın iletimi sırasında bir katmanlı şifreleme mevcuttur. Bir de katmanlı şifreleme nasıl oluyormuş ona bakalım:

endToEndEncryptionÖrneğimizde Ayşe’den Ali’ye “Bugün buluşalım mı?” mesajının gönderildiğini söylemiştik. Birinci katmanda mesajın ilerleyeceği tüm tünel (a’dan h’ye) garlik şifreleme ile şifrelenmiştir. Ayrıca, ikinci katmanda giden tüneli (a’dan d’ye) ve gelen tünelleri (e’den h’ye) bundan bağımsız olarak AES ile şifrelenmiştir. Bununla birlikte, üçüncü katmanda iletim esnasında her sıçrama (a’dan b’ye, b’den c’ye, c’den d’ye, d’den e’ye, e’den f’ye, f’den g’ye ve g’den h’ye) da şifrelenmiş durumdadır. Bir saldırgan eğer bu mesajın içeriğini öğrenmek istiyorsa tüm bu katmanların şifreleri kırmak zorundadır. Şifreleme ile ilgili ayrıntılı bilgiye buradan ulaşabilirsiniz. Kafamıza bu kısım oturduysa artık kuruluma geçebiliriz.

  • Kurulum

I2P platform bağımsızdır. Burada anlatacağım GNU/Linux üzerinde nasıl kurulacağıdır. Kullanım olarak platform farketmiyor. Sisteminizde OpenJDK kurulu olursa iyi olur. Değilse paket yöneticinizden kuruverin. Debian/Ubuntu türevi dağıtımlar kullanıyorsanız bir terminal açın ve:

Ubuntu için;
kame ~ $ sudo apt-add-repository ppa:i2p-maintainers/i2p
kame ~ $ sudo apt-get update
kame ~ $ sudo apt-get install i2p

Debian için;
kame ~ $ sudo nano etc/apt/sources.list.d/i2p.list

Aşağıdaki repo adreslerini yapıştırıp kaydedin:

deb http://deb.i2p2.no/ stable main
deb-src http://deb.i2p2.no/ stable main

kame ~ $ sudo apt-key add debian-repo.pub
kame ~ $ sudo apt-get update
kame ~ $ sudo apt-get install i2p i2p-keyring

Elle kurmak isterseniz önce şu adrestenjar” paketini indirin ve bir terminal açın:

kame ~ $ java -jar i2pinstall_0.9.10.jar

Kurulumu gerçekleştirin. Hepsi bu kadar.

  • Kullanım

Hangi dizine kurulumu gerçekleştirdiğinizi bilmiyorum. Ben varsayılan olarak /home/kullanıcı/i2p dizini (bende kullanıcı kame) üzerinden gideceğim.Öncelikle i2p’yi çalıştıralım:

Repolardan paket olarak kurduysanız servis yöneticiniz (openrc, systemd vd.) otomatik olarak eklemiştir. Eklememiş, çalıştırmamış vs ise:

kame ~ $ sudo /etc/init.d/i2prouter start
kame ~ $ sudo systemctl start i2prouter.service

Elle kurulum yaptıysanız:

kame ~ $ cd /home/kame/i2p
kame ~ $ sh i2prouter start

2014-02-07-201005_1920x1080_scrotI2P çalışmaya başladığı zaman varsayılan tarayıcınız hangisiyse onda I2P Router Console sayfasını açacaktır. Aşağıda Local Services kısmını göreceksiniz. Buradan isterseniz Configure Language ile dilini (eksik çeviri) Türkçe yapabilirsiniz. Bizleri ilgilendiren ilk kısım ağ durumudur. Birkaç dakika içinde sizlere “OK (Tamam)“, “Firewalled (Güvenlik duvarı engeli)“, “Hidden (Gizli)” vs gibi bir şekilde geri dönecektir. Bu ana sayfadaki sol kutu içinde görebilirsiniz. Eğer uyarı alıyorsanız güvenlik duvarınızda “17193” UDP portunu açabilirsiniz.

Örneğin:

kame ~ $ iptables -A UDP -p udp -m udp --dport 17193 -j ACCEPT

Ağ durumumuz “Tamam” ise kullanım kısmını ben üç bölümde anlatacağım. Bunlar:

  1. Internete I2P üzerinden anonim olarak çıkmak ve Eepsitelere erişmek
  2. Anonim torrent kullanmak
  3. Anonim e-posta almak

Internete I2P üzerinden anonim olarak çıkmak ve Eepsitelere erişmek:

Önce, I2PTunnel (I2PTüneli) içinde tanımlı olan tünelleri başlatabilir veya durdurabilirsiniz. Http, https, IRC veya e-posta istemcisi gibi hazır tüneller göreceksiniz. Ayrıca, yeni bir tünel oluşturma işlemini de buradan yapabilirsiniz. I2P kullanımıyla ilgili detaylı bilgilere Logs (Günlük), Stats (İstatistik) ve Graphs (Çizelgeler) üzerinden ulaşabilirsiniz.

Eepsites (Eepsiteler), tıpkı Tor‘daki Hidden Services gibi I2P ağı içinden erişilen sitelerdir. Birçok konuda ve içerikte sitelere buradan erişebilirsiniz. Ayrıca, kendiniz de bir eepsite hazırlayıp, yayımlayabilirsiniz. Bunun için Local Services kısmından Websites‘e girerek gerekli bilgileri alabilirsiniz.

Tarayıcınız için en kolay çözüm FoxyProxy kullanmak olacaktır. FoxyProxy eklentisini kurduktan sonra HTTP için Options -> Add New Proxy diyorsunuz. Bununla birlikte, i2p ile Internete Tor ağı üzerinden çıkmaktasınız. i2p’nin outproxy’si Tor ağı olarak ayarlanmıştır. Tarayıcınızdan kontrol etmek isterseniz https://check.torproject.org adresine girebilirsiniz.

Host or IP Address = 127.0.0.1
Port = 4444
HTTPS için Port = 4445

Ayrıca, tüm bunları Privoxy kurarak da halledebilirsiniz. Privoxy ayarı için (/etc/privoxy/config):

forward-socks5 / 127.0.0.1:9050 .
forward .i2p 127.0.0.1:4444
forward 192.168.*.*/ .
forward 10.*.*.*/ .
forward 127.*.*.*/ .

Tarayıcınızı HTTP ve HTTPS için ağ ayarlarından 127.0.0.1, port 8118 olarak ayarlayıp kullanabilirsiniz. Hepsi bu kadar.

Anonim torrent kullanmak:

I2P’nin kendi ait I2PSnark adında anonim bittorent istemcisi vardır. Farklı istemciler ile (Azureus, Transmission vd.) kullanabilirsiniz. Sizin dikkat etmeniz gereken I2P üzerinden I2P’ye ait olmayan torrentleri indiremeyeceğinizdir. Yani, kickass’ten kopyaladığınız bir magnet linkini I2PSnark ile indiremezsiniz. Fakat, I2PSnark ile I2P üzerinde dolaşımda olan her torrenti indirebilirsiniz. Zaten, Eepsiteler içinde torrent siteleri var. İçerikleri de çok kötü değil. i2p planet veya DifTracker ile bunlara erişebilirsiniz. Torrentin ve I2P’nin daha hızlı olmasını istiyorsanız bant genişliğini ve paylaşımı artırmanız gerekmektedir.

Anonim e-posta almak:

I2P’nin Susimail adında kendi ait anonim bir e-posta servisi vardır. Servislerden buraya ulaşabilirsiniz. Dışarıdan (clear web) kendinize e-posta atacaksanız i2pmail.org kullanarak atabilirsiniz. Kendi sayfasında açıklamalar mevcut ama ben burada tekrar belirteyim, i2p hesabınızdan gerçek hesaplarınıza veya gerçek hesaplara e-posta atmamaya özen gösterin. Bunu anonimlik derecenizi azaltmamak adına yapmayın dediğimi de unutmayın.

Son birkaç şey

I2P kullanmak, I2P ile torrent indirmek ve bunlara istinaden anonimliğiniz tekrar sizin tehlike modelinizde dayanır. Kimsiniz ve kimden saklanıyorsunuz? Neden ve ne tür bir risk almayı hedefliyorsunuz? I2P ile gelen anonim bittorrent istemcisi Azuerus’a kıyasla daha güvenlidir. I2P’ye ait yerel kimliğinizi kimseyle paylaşmayın. Hızlı olmasını istiyorsanız bant genişliğini ve paylaşımı lütfen artırın. I2P’ye giriş biraz kısa gibi oldu. İlerleyen zamanda bunu detaylandıracağım. Sizler de indirip kurar ve kurcalamaya başlarsanız çok çabuk birkaç şeyi deneyebilir ve belirli bir yol katedebilirsiniz.

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.