Mehmet

WFN Üye
Konular
1,191
Mesajlar
1,192
Çözüm
0
Ticaret Puanı
0
Üyelik
1 Ay 6 Gün
Konum
YurtDışı
Web Sitesi
Var
Alanı
Google Adsense
1/1
Konu sahibi
HTTP proxy, web tarayıcısı veya uygulama ile hedef web sunucusu arasında çalışan ara sunucudur. İstemci isteği doğrudan hedefe göndermek yerine proxy’ye iletir; proxy isteği hedefe ulaştırır ve aldığı yanıtı istemciye döndürür. Bu yapı erişim kontrolü, kayıt, filtreleme, önbellekleme veya iç ağdaki istemcilerin dış kaynaklara erişimi için kullanılabilir.

HTTP proxy nasıl çalışır?​

Normal akış İstemci → HTTP proxy → hedef sunucu şeklindedir. İstemci proxy kullanacak biçimde yapılandırılmışsa HTTP isteğinde hedef kaynak proxy’ye bildirilir. Proxy isteği kendi kurallarına göre kabul eder, reddeder veya başka bir sunucuya aktarır.

Proxy, istemcinin IP adresini hedefe hiç aktarmayabilir; ancak bu garanti değildir. Forwarded veya X-Forwarded-For gibi başlıklarla istemci bilgisi aktarılabilir. Ayrıca proxy günlükleri, kimlik doğrulama bilgileri ve uygulamanın oluşturduğu diğer izler ayrı bir gizlilik konusu olarak değerlendirilmelidir.

HTTPS trafiğinde istemci çoğunlukla CONNECT yöntemiyle proxy’den hedef sunucuya bir tünel açmasını ister. Proxy 2xx yanıt verirse bağlantı tünel moduna geçer ve veri iki yönde aktarılır. Bu, proxy’nin HTTPS içeriğini kendiliğinden okuyabildiği anlamına gelmez. İçeriğin incelenmesi, istemcinin proxy’nin sertifika otoritesine güvenmesini ve proxy ile hedef arasında ayrı TLS bağlantısı kurulmasını gerektiren özel bir yapılandırmadır. Sıradan CONNECT tüneli bu güveni veya çözmeyi kendiliğinden sağlamaz.

Forward proxy ve reverse proxy farkı​

Forward proxy, istemci veya istemci grubu adına çalışır. Şirket ağındaki bilgisayarların internete çıkışını kontrol etmek, belirli hedefleri engellemek veya erişimleri kaydetmek buna örnektir. İstemciler genellikle proxy adresini tarayıcıda, işletim sisteminde veya otomatik yapılandırma dosyasında kullanacak şekilde ayarlanır.

Reverse proxy ise web sunucularının önünde bulunur. Ziyaretçi normal bir web sunucusuna bağlanıyormuş gibi istek gönderir; reverse proxy isteği uygun arka uç uygulamasına aktarır. Böylece TLS sonlandırma, yük dağıtımı, önbellekleme veya iç uygulamaları dışarıya yayınlama yapılabilir. Nginx’te bu görev için proxy_pass, Apache’de ise ProxyPass gibi yapılandırmalar kullanılabilir.

Karar verirken proxy’nin kimin adına hareket ettiğine bakın:
İhtiyaçUygun yapıÖrnek kullanım
İstemcilerin internet çıkışını kontrol etmekForward proxyKurum ağı erişim politikası
Uygulamayı dışarıya yayınlamakReverse proxyWeb sunucusundan uygulama arka ucuna aktarım
Birden fazla arka uç arasında dağıtımReverse proxyYük dengeleme

Somut örnek​

Bir ofisteki tarayıcı http://example.com adresine erişmek istesin ve proxy olarak proxy.example.com:8080 tanımlı olsun. Tarayıcı isteği önce proxy’ye gönderir. Proxy, erişim kuralı uygunsa example.com için bağlantı kurar ve yanıtı tarayıcıya aktarır.

Aynı ofisteki uygulama dışarıya açılacaksa senaryo değişir: Ziyaretçi reverse proxy’ye bağlanır, reverse proxy isteği iç ağdaki uygulama sunucusuna aktarır. Arka uç uygulaması yalnızca reverse proxy’den erişilebiliyorsa dışarıya doğrudan açılan servis sayısı azalır.

Kurulum ve güvenlik için uygulanabilir adımlar​

  1. Amacı netleştirin: İstemcilerin dış erişimini mi yöneteceğinizi, yoksa kendi uygulamanızın önüne bir ağ geçidi mi koyacağınızı belirleyin.
  2. Forward proxy için erişimi yalnızca gerekli iç ağlara veya güvenilir istemci IP aralıklarına sınırlandırın. Kimlik doğrulama ve hedef erişim kurallarını ayrıca tanımlayın.
  3. Reverse proxy’de yalnızca gerekli arka uç hedeflerini yapılandırın. Uygulama sunucusunun doğrudan internetten erişilebilir olup olmadığını kontrol edin.
  4. HTTPS için CONNECT desteği veriyorsanız izin verilen hedefleri ve portları sınırlayın; rastgele TCP hedeflerine tünel açılmasına izin vermeyin.
  5. İstemci IP’sini taşıyan başlıklara koşulsuz güvenmeyin. Bu başlıkların yalnızca güvendiğiniz proxy tarafından üretildiğini veya temizlendiğini doğrulayın.
  6. Oturum ve kullanıcıya özel yanıtları herkese açık proxy önbelleğinde tutmayın. Önbellek kurallarını Cache-Control davranışıyla birlikte test edin.
  7. HTTP, HTTPS, yönlendirme, POST, büyük yanıtlar ve uygulamanız kullanıyorsa WebSocket bağlantılarını ayrı ayrı sınayın. Yalnızca bağlantının kurulması başarı anlamına gelmez; beklenen HTTP durum kodunu ve yanıtı da doğrulayın.

Sık yapılan hatalar​

En tehlikeli hata, forward proxy’yi erişim kısıtı olmadan açmaktır. Açık proxy, üçüncü kişilerin rastgele hedeflere erişmesine veya kötüye kullanım trafiği üretmesine aracılık edebilir. Apache belgeleri de forward proxy etkinleştirilmeden önce erişimin sınırlandırılmasını özellikle vurgular.

Bir başka hata, forward ve reverse proxy ayarlarını karıştırmaktır. Reverse proxy için istemcilerin genel internet hedeflerine erişmesini sağlayan forward proxy özelliğini açmak gerekmez. Ayrıca reverse proxy arkasındaki uygulamanın gelen X-Forwarded-For başlığına doğrudan güvenmesi, istemci IP’siyle yapılan erişim kontrollerini yanıltabilir.

Önbellek de dikkat ister. Kullanıcıya özel yanıtlar, oturum çerezleri veya yetkilendirme sonucuna bağlı içerikler yanlış kurallarla ortak önbelleğe girerse başka kullanıcıya gösterilebilir. Bu nedenle önbellekleme kararı yalnızca performans beklentisiyle değil, yanıtların herkese açık olup olmadığıyla birlikte verilmelidir.

Sık sorulan sorular​


HTTP proxy ile SOCKS proxy aynı mıdır?​

HTTP proxy, HTTP istekleri ve HTTPS için kullanılan CONNECT tüneli etrafında çalışır. SOCKS ise daha genel bir oturum aracısıdır; desteklenen uygulama ve protokoller bakımından aynı kapsamda değerlendirilmemelidir.

Reverse proxy kullanmak uygulamanın güvenli olduğu anlamına gelir mi?​

Hayır. Reverse proxy erişim yüzeyini düzenleyebilir; fakat arka uç uygulamasındaki kimlik doğrulama, yetkilendirme, güncelleme ve veri koruma sorunlarını kendiliğinden çözmez.

Proxy günlüklerinde hangi bilgiler bulunabilir?​

Yapılandırmaya bağlı olarak istemci adresi, hedef, zaman, yöntem, durum kodu, aktarılan veri miktarı ve kimlik doğrulama sonucu kaydedilebilir. Hassas verilerin gereksiz yere loglanmaması ve günlük erişiminin sınırlandırılması gerekir.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Robotlar:
  • Anthropic