Proxy Nedir?

Vekil sunucu (İngilizce: proxy server veya proxy) İnternet’e erişim sırasında kullanılan bir ara sunucudur. Örneğin bir ağ sayfasına erişim sırasında doğrudan bağlantı yerine aşağıdaki adımlar ile bağlantı sağlanır:

  1. Browser Proxy sunucuya bağlanır ve hangi sayfayı istediğini söyler.
  2. Proxy sunucu gerekiyorsa o sayfaya bağlanır ve içeriği alır.
  3. Proxy sunucu browser’a içeriği gönderir.

İkinci bir tanım yapacak olursak; Proxy client ile server arasına girip, clientdan gelen isteği servera ileten, serverdan gelen cevabı da clienta ileten gateway sistemidir.

Örnek verecek olursak facebook.com’a gitmek istediğimizi varsayalım. Eğer Proxy kullanmadan bu işlemi gerçekleştirirsek bizden çıkan istek direkt olarak facebook.com’a ulaşır. Proxy kullandığımızda ise isteğimizi direkt olarak facebook.com’a değil Proxy sunucusuna gitmiş olur. Proxy sunucu aldığı bu isteği sanki bir client gibi facebook.com’a ulaştırır. Facebook isteği alıp işledikten sonra geri dönüşü yine direkt olarak bize yapmaz. Proxy sunucuya cevap cevap döner. Proxy sunucu da aldığı bu cevabı server gibi davranıp bize iletir. Bu sayede iletişimin arasına bir sunucu ekleyerek bir anlamda gizlilik sağlamaya çalışmış da oluruz.

Proxy Türleri Nelerdir?

Genellikle 2 tür Proxy sunucusundan bahsedebiliriz. Transparent ve Anonymous.

Transparent Proxy: İstekte bulunduğumuz sunucuya isteğimizi iletirken IP adresini tam olarak gizlemez. Bir diğer şekilde açıklamamız gerekirse Proxy sunucusu gitmek istediğiniz yere isteği sizden aldığını söyler.

Anonymous Proxy: İstekte bulunduğumuz sunucuya isteğimiz iletilirken IP adresi gizlenmektedir. Böylece gitmek istediğimiz sunucu isteğin bizden değil proxy’den geldiğini zanneder.

Proxy Hangi Amaçlarla Kullanılır?

Proxy’nin kullanım amaçları çok geniş bir zemine yayılabilir. Ancak kısaca özetlemek gerekirse aşağıdaki amaçlar için kullanılabilir diyebiliriz.

  1. Hız kazanmak: Proxy sunucular, çok ziyaret edilen sayfaları önbelleğine alabilir. Bu durumda, o sayfa ziyaret edilmek istendiğinde dünyanın öbür ucundaki bir sunucuya bağlanmak yerine önbellekteki bilgi okunur.
  2. Kontrol sağlamak: Proxy sunucu, istenen sayfalara erişim verip istenmeyenlere erişim vermeyebilir. Kimin hangi sayfaya girdiğini bellekte tutabilir. Gerekiyorsa, içeriği değiştirerek (örneğin küfürleri silerek) verebilir.
  3. Güvenlik sağlamak: Proxy sunucu, virüslü dosyaları otomatik olarak temizleyebilir. Ayrıca, ağda hiç kimsenin İnternet’e doğrudan erişimi olmadığı için bir virüsü veya zararlı bir programı yayma ihtimalini de azaltır.
  4. Gizlilik sağlamak: Proxy sunucular sayesinde bulunduğunuz ülkede girilmesi yasak sayfalara giriş yapabilir, bir noktaya kadar kimliğinizi gizleyebilirsiniz.

HTTP Proxy Nedir?

HTTP Proxy en yaygın kullanılan proxylerden birisidir. Genel amacı ise programları ve tarayıcıları TCP protokolünü kullanarak organize etmektir. HTTP Proxy ile şunları yapabiliriz:

  • Cache’leri indirerek Web sitesi hızını iyileştirmek
  • Belirlenen web sitelerine erişimi kısıtlamak (sosyal medya vs)
  • Veri filtrelemek (Reklamları kısıtlamak vs)
  • İnternet bağlantı hızına limit getirmek
  • Kullanıcı trafiğini denetlemek için log tutmak.

SOCKS Proxy Nedir?

SOCKS Proxy Sockets Proxy’nin kısaltılmış halidir. David Koblas tarafından geliştirilmiştir. Socks OSI Referans Modelinin 5. Katmanında (Session Layer) çalışmaktadır.

SOCKS ağ paketlerini istemciden sunucuya ve sunucudan istemciye gönderirken arada bir Proxy sunucu kullanan bir internet protokolüdür.

SOCKS5 ise en popüler SOCKS sürümlerinden biridir. Bu kadar popüler olmasının nedeni sadece yetki verilen kullanıcıların sunucuya erişmesini sağlayan bir kimlik doğrulama kullanmasıdır.

Birçok uzman SOCKS5’in en esnek sunucu protokolü olduğunu düşünmektedir. Burada anlaşılması gereken önemli noktalardan birisi de şudur. SOCKS5 ile internete bağlanırken bir Proxy sunucusu kullanmamıza rağmen trafiğimiz şifrelenmemektedir. Bu nedenle tam olarak gizlilik ve güvenlik sağladığını belirtmek yanlış olacaktır.

HTTP vs SOCKS Proxy

HTTP Proxy ile SOCKS Proxy’yi kıyaslayabilmek için bazı başlıklar belirledik. Bu başlıklara göre sıralamak konunun anlaşılması için daha yararlı olacağı görüşündeyiz.

Çalışmalarına Göre Kıyaslamak

HTTP Proxy ile bağlantı kurmak istediğimizde tarayıcı veya program, belirli bir URL’yi açmak için proxy sunucusuna bir istek gönderir. Proxy sunucusu bu verileri URL’den alır ve ardından bu verileri tarayıcıya gönderir. HTTPS kullanılmadığı sürece trafiğimiz yine şifrelenmemektedir.

SOCKS Proxy ile bağlantı kurmak istediğimizde bilgiler karşı tarafa Pure Form şeklinde iletilir ancak IP adresi bilgisi içeren hiçbir bilgi karşı tarafa iletilmez. Ayrıca SOCKS Proxy sunucu ile istemci arasındaki ağ trafiğini anlayıp yorumlayabilir. HTTP Proxy bunu yapmaz.

Destekledikleri Protokollere Göre Kıyaslamak

HTTP Proxy, HTTP (TCP) verileri için özel olarak tasarlanmıştır. Bu, UDP protokolünü desteklemeyecekleri anlamına gelir.

Buna karşılık, SOCKS proxy, TCP, UDP ve daha fazlasını destekleyecektir. Aslında, SOCKS protokolünün verilere nüfuz etmemesi, onu POP3 ve HTTP dahil olmak üzere her türlü bağlantıda kullanabileceğiniz anlamına gelir. Başka bir deyişle, SOCKS ile uyumluluk sorunu yoktur.

Hızlarına Göre Kıyaslamak

SOCKS Proxy sunucusu HTTP proxy sunucusundan daha hızlıdır. Bunun nedeni UDP ve TCP aktarım protokollerini desteklemesi, SOCKS’un istemcinin istediği protokolle çalışabileceği anlamına gelir.

SOCKS Proxy’nin hızlı olmasını sağlayan bir diğer husus ise HTTP Proxy sunucularının yaptığı veri paketi başlığını yeniden yazma işlem SOCKS’ta yapılmaz. HTTP Proxy’de veri paketlerinin yanlış etiketlenmesi veya yanlış yönlendirilmesi riski azaltır ancak bu da süreci yavaşlatır. Diğer yandan SOCKS Proxy’de bu işlem yapılmadığı için yanlış yönlendirme riski artarken bir yanda da hız artmış olur.

Sonuç

Her iki Proxy protokolü de IP adresini değiştirmemizi sağlamaktadır. HTTPS ve SOCKS (SSL) bağlantısı desteği sağlarken http’nin bunu sağlamaması gizlilik açısından ciddi sıkıntılara yol açabilir.

HTTP Proxy’nin özel bir amaç için geliştirildiğini ve SOCKS Proxy’nin daha genel çalıştığını unutmamak gerekir.

Kaynak: