Proxy, bilgisayar ağları bağlamındadır ve başkası adına bir eylem gerçekleştiren bir program veya cihazı ifade eder. En yaygın amacı, yalnızca tek bir bilgisayar veya IP adresi bağlıyken bir kuruluştaki tüm bilgisayarlara İnternet erişimine izin vermek için kullanılan bir proxy sunucusudur.
Proxy Sunucu Nedir, Nasıl Çalışır ve Türleri Nelerdir?
Proxy (Vekil) kelimesi, bilgisayar ağlarında bir aracının anlam ifade ettiği durumlarda kullanılır. En yaygın kullanımı, bir istemcinin hedef sunucuya yaptığı ağ bağlantılarını kesen bir bilgisayar olarak görev yapan sunucudur.
Bu kullanım türlerinden en bilineni Web Proxy sunucularıdır. Bunlar, güvenlik, performans, anonimlik gibi birkaç olası nedenden ötürü kişilerin belirli web sayfalarında gezinmelerini engellerler.
FTP gibi diğer protokoller için de farklı yapılar vardır. Örneğin, Proxy-ARP, bilgisayarlar arasında aracı görevi gördüğü için ağda yönlendirici görevi görebilir.
Ayrıca ağ Proxy’si ile aynı şemaya sahip bir tasarım modeli olarak kabul edilebilir. Bir donanım bileşeni, başkaları için de bir aracı görevi görebilir. Hesaplamanın dışında başka bir kişi adına hareket etmeye yetkili bir kişi olabilir.
Kısacası, her zaman aracı ve temsilci ile eşanlamlı olsa da çok genel bir anlama sahiptir.
Proxy Avantajları
Genel olarak, bir ağda veya başka bir amaçla Proxy sunucu kullanmanın birçok avantajı vardır.
Kullanıcıların haklarını sınırlayabilir ve kısıtlayabilir ve yalnızca sunucuya izinler verebilirsiniz. Bu nedenle, kullanıcılardan yalnızca birinin asıl işi yapacak donanıma sahip olması gerekir.
Birkaç istemci aynı kaynağı talep ettiğinde, sunucu bu işlemi önbelleğe alabilir ve başka bir kullanıcı bu bilgileri istediğinde doğrudan yanıt verebilir. Bu şekilde kullanıcı hedefe yeniden bağlanmasına gerek kalmaz ve işlem daha hızlı yapılır.
Proxy sunucusu, izin verilmeyen istemcileri filtreleme yöntemiyle tespit edebilir ve onların taleplerine cevap vermeyebilir.
Tüm kullanıcılar bir olarak tanımlanırsa, erişilen kaynağın onları ayırt etmesi zordur. Ancak bu kötü olabilir, örneğin kimlik tespiti yapmanız gerektiğinde.
Web sayfası talepleri doğrudan İnternet’e değil vekil sunucusuna yapılır. Bu nedenle, ağdaki trafiği hafifletir ve daha az isteğin ulaştığı hedef sunucuların yükünü azaltır.
Kullanıcının daha hızlı yanıt alması için sunucular arasında aynı bilgi aktarımını bir süre önleyen bir önbellek oluşturur.
Web içeriği aracılığıyla talep etmek için çok sayıda kullanıcıyı kapsayabilir. İzin verilmeyen değerlere ve özelliklerine bağlı olarak yönetici tarafından belirlenen kısıtlama kriterlerine göre sayfaları filtreleyebilir ve gerektiğinde bir kısıtlama oluşturabilir.
Aynı filtreleme işlevine dayanarak ve Privoxy olarak adlandırılan, İnternetteki gizliliği koruma amacına sahiptir. Adresleri ve çerezleri engelleyecek şekilde yapılandırılabilir ve istek üzerine içeriği değiştirebilir.
Dezavantajları
Bir vekil sunucusunun kullanımının dezavantajları da vardır. Örneğin, birçok kullanıcıdan alınan taleplerin yanıtlanması gerektiğinden bazı işlemler takip edilemeyebilir.
Bu nedenle, hizmetlerinize kimin erişimi olduğunu kontrol etmeniz gerekir.
Kaynak ve hedef arasında bazı kullanıcılar sunucu üzerinden filtrelenmek istemeyebilir. Bu durumda, sunucu tarafından alınan verilerin kopyalarına erişim sağlanamaz. Dolayısıyla, önbelleğe erişemeyen bir kullanıcı, hedefteki kaynağın daha yeni sürümüne erişemez.
Böyle bir durumda, sunucu, veriyi talep eden kullanıcı için eski ve yeni veriyi doğrulayamaz.
Proxy’nin birden fazla kullanıcıya hizmet etmesi gönderen ve alıcı arasında doğrudan iletişim sorunlarına neden olabilir.
Önbellek, sunucu tarafından son yüklemeden sonra değiştirildiyse, görüntülenen sayfalar güncel olmayabilir.
Bir web tasarımcısı, web içeriğinde tarayıcıların sayfalarını önbelleğe almadığını belirtebilir, ancak bu yöntem genellikle bir vekil sunucu için geçerli değildir.
İnternete doğrudan bağlantı yerine bir vekil üzerinden erişilmesi, bazı bağlantı noktaları veya protokoller üzerinden gelişmiş işlemleri engellediği için yapılandırılması daha zordur.
Kullanıcıların talep ettiği sayfaları ve nesneleri saklamak, bazı kişiler için gizlilik ihlali olarak sayılabilir.
Proxy Nasıl Çalışır?
Proxy sunucu, diğer bilgisayarların bir ağa dolaylı yoldan bağlanmasına izin verir.
Ağdaki bir bilgisayar bilgiye veya bir kaynağa erişmek istediğinde, aslında iletişimi gerçekleştiren ve ardından sonucu ilk bilgisayara aktaran vekil sunucudur.
Bu yöntem, doğrudan iletişimin mümkün olmadığı durumlarda da kullanılabilir. Erişilemeyen sorgulara dolaylı yollardan bağlantı sağlayarak hem hız hem de güvenlik anlamında kullanılabilir.
Türleri
Web Proxy
Web’e belirli bir uygulama erişimi için kullanılan bir sunucudur.
Bir Proxy’nin genel faydasının yanı sıra, ağdaki tüm bilgisayarlar tarafından paylaşılan web sayfaları ve indirilen içerik için bir önbellek sağlar.
Sonuç olarak eşleşen sorgular için erişim sürelerinde iyileşme sağlayarak İnternet bağlantılarının yükünü hafifletir.
Web vekil sunucularının çalışma mantığı ise şöyledir;
- İstemci, bir URL ile belirtilen bir İnternet kaynağı için talepte bulunur.
- Önbellek Proxy’si isteği aldığında, sonuçtaki URL’yi yerel önbelleğinde arar.
- Talep sayfası sürümünün tarihini ve saatini uzak sunucuyla kontrol eder.
- Sayfa önbelleğe yüklendikten sonra değişmediyse, hemen yanıt verir. Böylece sürümü kontrol etmek için yalnızca bir paketi değiştirdiği için çok fazla trafik tasarrufu sağlar.
- Sürüm eskiyse veya önbellekte yoksa, onu uzak sunucudan alır, istemciye geri gönderir ve gelecekteki istekler için önbelleğinde bir kopyasını kaydeder veya günceller.
Önbellek genellikle bir belgenin ne zaman güncel olmadığını belirlemek için bir algoritma kullanır. Belgenin boyutuna ve erişim geçmişine bağlı olarak önbellekten kaldırılması gerekir.
Bu temel algoritmalardan ikisi LRU ve LFU’dur. Web Proxy’leri, sunulan web sayfalarının içeriğini de filtreleyebilir.
Rahatsız edici web içeriğini engellemeye çalışan bazı uygulamalar için de bu sunucular yapılandırılabilir.
Belirli bir amaç veya hedef kitle için web sayfalarının formatını değiştirir. Bazı ağ operatörlerinin, uzak Web sayfalarının sunduğu virüsleri ve diğer saldırgan içeriği engellemek için de vekil sunucular kullanılabilir.
Örneğin, bir ISP’nin istemcisi, Google’a, başlangıçta sahip olduğu sunucusuna ulaşan bir istek gönderir ve bu istek doğrudan Google etki alanının IP adresine gitmez.
Bu istek genellikle yüksek bir kullanıcı grubu tarafından daha çok talep edilir. Bu yüzden ISP onu Proxy’sinde belirli bir süre tutar ve çok daha kısa sürede bir yanıt oluşturur.
Kullanıcı Google’da bir arama oluşturduğunda, vekil sunucusu artık kullanılmaz ve ISP talebini gönderir.
Transparent Proxy
Birçok kuruluş, ağ kullanım ilkelerini uygulamak, güvenliği sağlamak ve önbelleğe alma hizmetleri oluşturmak için bir vekil sunucu kullanır.
Normalde, bir NAT veya Web Proxy’si istemci uygulamasına şeffaf değildir.
Bu nedenle, kullanıcı ayarları değiştirerek sunucudan kaçabilir. Bunun bir avantajı, şirket ağları için kullanılabilmesidir.
Şeffaf bir sunucu, NAT ile birleştirilebilir ve böylece bağlantılar istemci tarafından yapılandırılmadan ve haberi olmadan yönlendirilir. Bu yöntem, ISP’ler tarafından kullanılan bir çeşittir.
Reverse Proxy
Bir veya daha fazla web sunucusunun adresine kurulan bir sunucudur. İnternetten gelen ve bu web sunucularından birine giden tüm trafik sunucudan geçer.
Bu türü kullanmanın birkaç nedeni vardır:
- Ek bir savunma katmanıdır ve bu nedenle web sunucularını korur.
- Genellikle SSL şifreleme, web sunucusunun kendisi tarafından yapılmaz, bunun yerine SSL hızlandırma donanımıyla donatılmış sunucu tarafından yapılır.
- Yükü birkaç web sunucusu arasında dağıtabilir. Bu durumda, her web sayfasının URL’lerini yeniden yazması gerekebilir.
- Statik içeriği depolayarak web sunucularını indirebilir.
NAT Proxy
Bir ağda aracı olarak hizmet sağlayan diğer bir yöntem ise NAT’tır. Bu hizmet, ağ adresi çevirisi veya IP maskeleme olarak da bilinir.
IP paketlerinin kaynak veya hedef adreslerinin yeniden yazıldığı bir tekniktir. Birden çok kullanıcı tek bir İnternet bağlantısını paylaştığında NAT kullanılır.
Yerel Alan Ağı (LAN) içinde, bilgisayarlar özel kullanım için ayrılmış IP adreslerini kullanır.
Özel IP adreslerini tek genel adrese çevirmekten ve ayrıca talep edilen belgeleri kullanıcıya göndermekten sorumludur.
Özel IP adreslerinin kullanımı birkaç ağa bağlı bilgisayar ve İnternete dışarıdan erişimi olan şirketlerde ve evlerde çok yaygındır.
NAT üzerinden İnternete erişim için belirli bir güvenlik sağlar. Böylece, dış ve özel ağ arasında doğrudan bir bağlantı yoktur ve bilgisayarlar dışarıdan doğrudan saldırılara maruz kalmazlar.
NAT sayesinde dışarıdan sınırlı erişime izin vermek ve sunucuya gelen talepleri belirli bir makineye yönlendirilmesini sağlanabilir.
NAT işlevi güvenlik duvarında bulunur ve çok kullanışlıdır, çünkü özel ağın bilgisayarlarında yalnızca bir yönlendiriciymiş gibi erişebilen herhangi bir özel yapılandırmaya ihtiyaç duymaz.
Open Proxy
Ağınıza bağlı olsun veya olmasın herhangi bir bilgisayardan gelen istekleri kabul eden bir türdür.
Bu yapılandırmada, sunucu, kendisine bağlanabilen bir bilgisayardan gelen tüm istekleri sanki Proxy’den gelen bir istekmiş gibi işler.
Bu nedenle, bu tür yapılandırma, spam e-postaların toplu gönderimi için bir ağ geçidi olarak kullanılmasına izin verir.
İstekleri önbelleğe alarak DNS veya Web’de gezinme gibi hizmetleri depolamak ve yeniden yönlendirmek için bir kullanılır ve bu da kullanıcıların daha hızlı işlem yapmasına olanak sağlar.
Bu kullanım çok faydalıdır, ancak tüm İnternete açık bir konfigürasyon uygulayarak, kötüye kullanımı arttırır.
Örneğin, IRC veya E-posta gibi birçok sunucu, genellikle kara listeler kullanarak bu sunuculara erişimi engeller.
Cross-Domain
Farklı etki alanlarında bulunan öğeler arasında iletişim kurmak için kısıtlamaları olan sunucular tarafından kullanılır.
Ajax, güvenlik nedenleriyle, yalnızca isteği yapan web sayfasının aynı kaynak etki alanına erişimine izin verilir.
Diğer etki alanlarında bulunan diğer hizmetlere erişmeniz gerekiyorsa, Ajax isteklerini alan ve bunları harici etki alanlarına ileten Cross-Domain sunucusu kurulur.