Proxy’lere Giriş
Proxy sunucusu olarak da adlandırılan bir proxy , internette bir istemci ve sunucu arasında aracı görevi gören bir sunucu yazılımıdır. Bir proxy olmadan, bir istemci bir kaynak için doğrudan bir sunucuya istek gönderir ve ardından sunucu, kaynağı doğrudan istemciye geri gönderir. Bu yaklaşımın anlaşılması ve uygulanması basit olsa da, proxy eklemek, artan performans, gizlilik, güvenlik ve daha fazlası şeklinde faydalar sağlar. Ek bir geçiş katmanı olarak, bir proxy, istemciler ve sunucular arasında internetin ağ geçidi olarak görev yapar.
Genel olarak konuşursak, yüklü proxy yazılımı ile birleştirilmiş sunucu donanımı paketine genellikle bir proxy sunucusu da denir. Ancak bu makale, geleneksel olarak yazılım olarak tanımlanan proxy’lere ve web sunucuları bağlamında odaklanacaktır. İki ana türün, bir ileri proxy ve bir ters proxy’nin dökümünü alacaksınız . Her türün farklı bir kullanım durumu vardır ve benzer adlandırma kuralları nedeniyle genellikle karıştırılmaktadır.
Bu makale, proxy’lerin ve alt türlerinin ne olduğu ve genel kurulumlarda nasıl yararlı oldukları konusunda size bir anlayış sağlayacaktır. Bu makaleyi okuyarak, vekilin faydalı olduğu durumları belirleyebilecek ve herhangi bir durumda ileri vekil ile ters vekil arasında doğru çözümü seçebileceksiniz.
Yönlendirme Proxy’lerini Anlama
Açık proxy olarak da adlandırılan bir ileri proxy, internet üzerinden bir kaynak sunucuya istek göndermeye çalışan bir istemcinin temsilcisi olarak hareket eder. Bu senaryoda, istemci tarafından yapılan tüm istek gönderme girişimleri, bunun yerine iletme proxy’sine gönderilecektir. Müşterinin yerine ileri vekil talebi inceler. İlk olarak, bu istemcinin bu belirli iletme proxy’si aracılığıyla istek gönderme yetkisine sahip olup olmadığını belirleyecektir. Daha sonra isteği reddedecek veya orijinal sunucuya iletecektir. İstemcinin internete doğrudan erişimi yoktur; yalnızca ileri proxy’nin erişmesine izin verdiği şeye ulaşabilir.
Yönlendirme vekillerinin yaygın bir kullanım durumu, internette daha fazla gizlilik veya anonimlik elde etmektir. Bir ileri proxy, bir istemci yerine internete erişir ve bu süreçte istemcinin orijinal IP adresinden farklı bir IP adresi kullanabilir.
Nasıl yapılandırıldığına bağlı olarak, bir ileri proxy, aşağıdakileri yapmanıza olanak tanıyan bir dizi özellik verebilir:
- Reklam takibinden kaçının.
- Çevre gözetimi.
- Coğrafi konumunuza göre kısıtlamaları belirleyin.
Forward proxy’ler, bir işyerinde olduğu gibi, merkezi güvenlik ve izin tabanlı erişim için sistemlerde de kullanılır. Tüm internet trafiği ortak bir ileri proxy katmanından geçtiğinde, bir yönetici ortak bir güvenlik duvarı aracılığıyla filtrelenen internete yalnızca belirli istemcilerin erişmesine izin verebilir. Farklı ortamlara ve kullanıcılara sahip birçok makineyi içerebilen istemci katmanı için güvenlik duvarlarını korumak yerine, ileri proxy katmanına bir güvenlik duvarı yerleştirilebilir.
İleri proxy’lerin kullanılabilmesi için manuel olarak ayarlanması gerektiğini, ters proxy’lerin ise istemci tarafından fark edilmeyebileceğini unutmayın. İstemcinin IP adresinin yönlendirme proxy’si tarafından kaynak sunucuya aktarılıp aktarılmadığına bağlı olarak, gizlilik ve anonimlik verilebilir veya şeffaf bırakılabilir.
İleriye dönük proxy’ler için dikkate alınması gereken birkaç seçenek vardır:
- Apache : İleri proxy işlevi sunan popüler bir açık kaynaklı web sunucusu.
- Nginx : İleri proxy işlevine sahip bir başka popüler açık kaynaklı web sunucusu.
- Squid : HTTP protokolünü kullanan açık kaynaklı bir ileri proxy. Bu seçenek, tüm bir web sunucusu çözümünü içermez.
- Dante : HTTP yerine SOCKS protokolünü kullanan ve eşler arası trafik gibi kullanım durumları için daha uygun hale getiren bir ileri proxy.
Ters Proxy’leri Anlama
Bir ters proxy, bir web sunucusunun temsilcisi olarak hareket eder ve istemcilerden gelen istekleri onun adına ele alır. Bu web sunucusu tek bir sunucu veya birden çok sunucu olabilir. Ayrıca Gunicorn gibi bir uygulama sunucusu olabilir . Her iki senaryoda da, bir istemciden internet üzerinden bir istek gelir. Normalde, bu istek doğrudan istemcinin talep ettiği kaynaklara sahip olan web sunucusuna gider. Bunun yerine, bir ters proxy, web sunucusunu açık internet ile doğrudan etkileşimden yalıtarak bir aracı görevi görür.
İstemcinin bakış açısından, bir ters proxy ile etkileşimde bulunmak, doğrudan web sunucusuyla etkileşim kurmaktan farklı değildir. İşlevsel olarak aynıdır ve müşteri farkı söyleyemez. İstemci, herhangi bir ek yapılandırma gerektirmeden bir kaynak talep eder ve ardından onu alır.
Ters proxy’ler aşağıdaki gibi özellikler sağlar:
- Web sunucusu katmanı için merkezi güvenlik.
- Konfigüre edebileceğiniz kurallara göre gelen trafiği yönlendirmek.
- Önbelleğe alma işlevi eklendi.
Merkezi güvenlik, hem ileri hem de geri proxy’lerin bir avantajı olsa da, ters proxy’ler bunu istemci katmanına değil web sunucusu katmanına sağlar. Farklı konfigürasyonlara sahip birden fazla sunucu içerebilen web sunucusu katmanında güvenlik duvarlarını korumaya odaklanmak yerine, güvenlik duvarı güvenliğinin çoğu ters proxy katmanına odaklanabilir. Ek olarak, bir güvenlik duvarı ile arabirim oluşturma ve web sunucularından uzakta istemci istekleriyle arabirim oluşturma sorumluluğunu ortadan kaldırmak, yalnızca kaynaklara hizmet etmeye odaklanmalarına olanak tanır.
Bir ters proxy arkasında birden fazla sunucu olması durumunda, ters proxy, hangi isteklerin hangi sunucuya gideceğini yönlendirmeyi de yönetir. Birden çok web sunucusu aynı kaynağa, her biri farklı türde kaynaklara veya ikisinin bir kombinasyonuna hizmet ediyor olabilir. Bu sunucular, HTTP protokolünü geleneksel bir web sunucusu olarak kullanabilir, ancak FastCGI gibi uygulama sunucusu protokollerini de içerebilir. İstemcileri istenen kaynağa bağlı olarak belirli sunuculara yönlendirmek veya trafik yüküyle ilgili belirli kuralları takip etmek için bir ters proxy yapılandırabilirsiniz.
Ters proxy’ler, önbelleğe alma işlevi sunarak web sunucularının önüne yerleştirilmelerinden de yararlanabilir. Büyük statik varlıklar, her istekte web sunucularına çarpmayı önlemek için önbelleğe alma kurallarıyla yapılandırılabilir ve bazı çözümler, web sunucusuna hiç dokunmadan statik varlıklara doğrudan hizmet etme seçeneği sunar. Ayrıca, ters proxy bu varlıkların sıkıştırılmasını işleyebilir.
Popüler Nginx web sunucusu aynı zamanda popüler bir ters proxy çözümüdür. Apache web sunucusu ayrıca ters proxy özelliğine sahip olsa da, Nginx orijinal olarak ters proxy işlevi için oluşturulmuş ve buna odaklanmışken, bu Apache için ek bir özelliktir.
Forward Proxy ve Ters Proxy Kullanım Durumlarını Fark Etmek
“İleri” ve “geri”, yönlülük çağrışımları ve “gelen” ve “giden” trafikle yanıltıcı karşılaştırmalar içerdiğinden, bu etiketler kafa karıştırıcı olabilir, çünkü her iki proxy türü de istekleri ve yanıtları yönetir. Bunun yerine, ileri ve geri proxy’leri ayırt etmenin daha iyi bir yolu, oluşturduğunuz uygulamanın ihtiyaçlarını incelemektir.
İnternette web uygulamaları sunmak için bir çözüm oluştururken bir ters proxy yararlıdır. İnternet ile herhangi bir etkileşimde web sunucularınızı temsil ederler.
Yönlendirme proxy’si, kişisel kullanımınız için veya bir iş yeri ortamında müşteri trafiğinin önüne yerleştirildiğinde kullanışlıdır. İnternet ile herhangi bir etkileşimde müşteri trafiğinizi temsil ederler.
Benzer adlandırma kurallarına odaklanmak yerine kullanım durumuna göre ayırt etmek, karışıklığı önlemenize yardımcı olacaktır.