Genellikle demokrasiden uzak devletlerde bolca örneğini görebileceğiniz medya kontrol yöntemlerinden bir tanesi de internet sitesi yasaklamaktır.
Her ne kadar çoğu zaman politik sebeplerden dolayı gibi görünse de güvenliği sağlamak ve sahte / zararlı siteleri yasaklamak için de İnternet siteleri yasaklatılabiliyor.
Bu yazıda siyasi kısmından daha çok teknik kısmına değineceğim ve bazı teknik terimler kullanacağım,
Aşağıda bu terimlerin bir listesini ve açıklamalarını bulabilirsiniz.
PS: Konuda engel aşma yöntemi paylaşılmamıştır.
IP Adresi
İnternete bağlı bütün cihazlara atanan özel numara dizisi, buna internet siteleri de dahil.
V4 formatında (0.0.0.0 ile 255.255.255.255 arasında olur =~ 4 milyar Total V4 adresi vardır)
Ayrıca V6 adresler vardır ama Türkiye'de v6'lar henüz tam olarak dolaşıma sokulmadı.
O yüzden bu yazıda klasik IPv4'lerden bahsedeceğim
Bu yazıyı okuyorsanız; internet sağlayıcınız tarafından size atanan "77.248.**.*" IP adresinden gelen istek
technopat.net'e ait "185.77.*.***" IP adresine ulaşmış demektir. Ve Technopat yanıt olarak tekrar sizin IP adresinize
Bu sayfanın HTML kodunu göndermiştir. Tarayıcınız da bunu alıp render'layıp size gösteriyor şu anda.
(ip'ler temsilidir)
Cloudflare (kısa adı ile CF)
2023'te dünyanın her yerinde yüzlerce sunucusu olan devasa bir altyapı.. Cloudflare.
Cloudflare aynı zamanda WARP'ın da sahibi, ve WARP'ın neden engellenemeyeceğinin cevabı: cloudflare'dan vazgeçemezler.
Cloudflare aslında özel bir şirkettir, ancak sağladıkları "ücretsiz" reverse proxy ile siteleri DDoS'dan, bot'lardan ve bazı spesifik saldırı türlerinden koruyan, sitelerin IP adreslerini gizleyen ve kendi sunucularını ziyaretçi (sen) ve sunucu (technopat) arasına "vekil" olarak koyan bu servis, neredeyse artık modern bir internet sitesinin vazgeçilmezi haline gelmiştir.
Bu sayede technopat.net'i ziyaret edenler, aslında technopat.net'in host edildiği sunucuların gerçek IP adresini asla bilmiyor.
Cloudflare'a gidip "Merhaba, bu isteği technopat'e yönlendir" diyip cloudflare'in yanıtını bekliyor. Aşağıdaki şemada daha detaylı bir şekilde görülebilir.
Görüldüğü gibi Cloudflare, birden fazla siteye ev sahipliği yapıyor, ve çoğu zaman tek bir cloudflare IP adresi, binlerce farklı domain'e ait olabiliyor.
Bunları ayıran tek şey "Host" adlı bir parametre.
Engel Yöntemi #1: Domain Engelleme (DNS Engeli)
DNS Nedir?
Normalde siz "technopat.net"i ziyaret etmek istediğinizde tarayıcınız bunu anlamaz.
Tarayıcı sadece sayılardan oluşan IP adresleri ile iletişim kurabilir, "t, c, h, pat" gibi harfler anlamsızdır.
Bu sorunu çözmek için "DNS" denilen bir sistem var, açılımı "Domain Name System". Aşağıdaki şemayı inceleyelim.
Kısaca sizin gittiğiniz domain'i IP adresine çeviren bir sistem. Varsayılan olarak internet sağlayıcınızın belirlediği DNS server'ını kullanır ve bu DNS server'ı tamamen İSS (internet servis sağlayıcınız) tarafından kontrol edilir. Yasal talepler üzerine devlet tarafından modifiye edilebilir.
Domain'i bu şekilde engellemek genellikle ucuz ve basit bir yöntemdir, yasal talep üzerine DNS'de tutulan kayıtlar xTelekom tarafından değiştirilir,
ve yerine engel sayfası konulur. Aşağıda engellenmiş bir technopat.net'in DNS sorgusu sırasında neye benzediğini görebiliriz:
Artık xTelekom'un bütün kullanıcıları, "technopat.net"e gitmek istedikleri zaman 88.2.100.5 IP adresine istek yollayıp engel sayfası ile karşılaşacaklar.
Tabi bu ucuz bir yöntem, aktif olarak trafiği izlemeyi gerektirmiyor dolayısıyla hemen hemen her İSS bunu uygular.
Engel Yöntemi #2: IP Adresi Engeli
(Bu metod, Cloudflare kullanan sitelerde uygulanmaz,
çünkü bir Cloudflare IP'sini engellemek, yüzbinlerce siteyi engellemekle aynı şeydir)
Yukarıda anlattığım "IP adresleri" İSS (İnternet Servis Sağlayıcı) tarafından tamamen engellenebilir.
Örneğin, eğer ziyaretçi, başka bir DNS sunucusu kullanıyorsa (8.8.8.8 Gibi) mecburen sitenin direkt IP adresini
engellemek gerekiyor, çünkü domain -> ip eşleştirme işlemi, İnternet Servis Sağlayıcısının kontrolü dışında gerçekleşiyor.
Engel Yöntemi #3: Deep Packet Inspection (DPI)
En başta bahsettiğim "Host" parametresi; site sansürlemek isteyen internet sağlayıcılarının "DPI" (Deep Packet Inspection) denilen bir metod ile tespit edip engelledikleri bir parametredir. DPI genellikle pahalı bir yöntem olduğu için pek tercih edilmese de, geçilmesi en zor yöntemlerden birisidir çünkü:
- DNS değiştirmek fayda etmez. Host header'inin DNS lookup ile alakası yoktur.
- Proxy'ler fayda etmeyebilir. Bazı proxy'ler Host header'ini şifrelemez, dolayısıyla ISS bunu yakalar ve engeller.
Ayrıca normalde HTTPS trafiği SSL ile şifrelidir. Ancak "Host" parametresi istisnadır. Host asla şifrelenmez, bu sayede internet sağlayıcınız sizin Host header'lerinizi olduğu gibi okur ve hangi siteye gittiğinizi rahatlıkla takip eder. (https olsa bile!)
HTTP'yi zaten saymıyorum, site üzerinde sayfayı ne kadar aşağı kaydırdığınızı bile takip edebilirler. HTTP kullanan site sansüre ve takibe açıktır.
Engel Yöntemi #4: VPN Protokolü Tespiti & Engeli
VPN'ler genellikle kendi protokollerine sahiptirler. OpenVPN protokolü, WireGuard protokolü gibi..
Bu protokoller, trafik içerisindeki herşeyi şifreler ve ISP tek bir harf bile okuyamaz. Ancak...
ISP'ler bu protokolün kullanıldığını tespit edebilir, ve OpenVPN, Wireguard gibi kendini gizlemeye çalışmayan,
asıl amacı sansür geçmek olmayan protokoller rahatlıkla ISP tarafından aynı Deep Packet Inspection metodları ile tespit edilip tamamen engellenebilir.
Bu, normal DPI'dan da karmaşık ve rölelere yük bindiren bir işlem olduğu için çoğu internet sağlayıcısı bu yöntemi kullanmaz. Daha çok okul, hastane, kütüphane vb. gibi VPN ihtiyacınızın olmayacağı, "güvenli" ağlarda kullanılabilir. Ancak Rusya, OpenVPN protokolünü tespit edip banladığı için rusyayı hariç tutuyoruz.
Örnek olarak OpenVPN protokolünü ele alalım:
Bu OpenVPN'in paket formatı, tespit etmek için gelen paketlerin ne şekilde "parse" edilebileceğine bakıyoruz.
5 Bitlik Opcode alanının hangi değerleri alabileceğini de inceliyoruz, bunlar OpenVPN'e özel değerlerdir, ve openvpn'i tespit etmek için kullanılabilir.
OpenVPN'den yeteri kadar örnek test paketi alıp bunların içerisinde kendini tekrar eden, ve OpenVPN'i tespit etmek için kullanılabilecek daha fazla "fingerprint" elde ettikten sonra bunları otomatik tespit eden bir sistem yazıyoruz, ve tada!
VPN de banlanmıştır.
Ancak bu metod, oldukça karmaşıktır, her ISP uygulamaz.
Türkiyede uygulandığına şahit olmadım, çünkü vpn protokollerini legit olarak kullanan birçok şirket var, ve işleri aksamamalı.
Sorularınızı aşağıda belirtebilirsiniz, eğer konu içerisinde eksik/hatalı olduğunu düşündüğünüz yer varsa doğrusu ile belirtirseniz düzeltirim.
*pwn* sundu.
Son düzenleme: