İçeriğe geç

Temel Bilgiler4 dk okuma

HTTPS Proxy Nedir?

“HTTPS proxy” ifadesi günlük dilde iki farklı şey için kullanılır: HTTPS sitelere ulaşabilen bir proxy ya da kendisine TLS ile bağlanılan bir proxy. Bu rehber ikisini ayırır, CONNECT tünelini adım adım açıklar ve proxy’nin trafiğinizde neyi görebildiğini netleştirir.

Yayın
Güncelleme
Okuma süresi
4 dakika

“HTTPS proxy” ne demek?#

Terim belirsizdir ve bu belirsizlik ayar yaparken hata yapılmasına yol açar. Birinci anlamda HTTPS proxy, HTTPS adreslere erişim sağlayan herhangi bir HTTP proxy’dir; istemci proxy’ye çoğunlukla düz HTTP ile bağlanır ve şifreli tüneli proxy üzerinden geçirir. İkinci anlamda ise istemci ile proxy arasındaki bağlantının kendisi TLS ile şifrelenir; adres https://proxy.example.com:PORT biçiminde yazılır.

Anlamİstemci → proxy bağlantısıProxy → hedefAdres biçimi
HTTPS siteleri geçiren proxyGenellikle düz HTTPUçtan uca TLS tünelihttp://proxy.example.com:PORT
TLS ile erişilen proxyTLS ile şifreliUçtan uca TLS tünelihttps://proxy.example.com:PORT
Tablo 1Her iki durumda da hedef sitenin içeriği uçtan uca şifrelidir; fark, proxy’ye giden ilk bağlantıdadır.

CONNECT tüneli nasıl kurulur?#

HTTPS trafiği proxy tarafından okunamaz çünkü proxy araya girip içeriği yeniden şifrelemez. Bunun yerine istemci, proxy’den hedef sunucuya bir TCP tüneli açmasını ister. Bu isteğin adı CONNECT’tir.

HTTPS için CONNECT tüneliİstemci proxy'ye CONNECT isteği gönderir, proxy bağlantı kuruldu yanıtı verir. Ardından TLS el sıkışması ve şifreli HTTP trafiği proxy üzerinden doğrudan hedef sunucuyla yapılır; proxy yalnızca baytları aktarır.İstemciProxyexample.com:443TÜNEL1CONNECT example.com:4432200 Bağlantı kuruldu3TLS el sıkışması4Şifreli HTTP trafiğiProxy şifreli içeriği okuyamaz; yalnızca hedef sunucu adını ve portunu bilir.TLS İSTEMCİ İLE HEDEF ARASINDA KURULUR
Şekil 1CONNECT tüneli: istemci önce proxy’den tünel ister, ardından hedef sunucuyla TLS el sıkışmasını tünelin içinden yapar.
HTTP
CONNECT example.com:443 HTTP/1.1
Host: example.com:443
Proxy-Authorization: Basic VVNFUk5BTUU6UEFTU1dPUkQ=

HTTP/1.1 200 Connection established
Proxy 200 yanıtını verdikten sonra tünel açılmıştır; bundan sonrası şifreli baytlardır.
  1. İstemci proxy’ye bağlanır ve CONNECT hedef:443 ister.
  2. Proxy, hedef sunucuya bir TCP bağlantısı açar ve istemciye 200 döner.
  3. İstemci ve hedef, tünelin içinden TLS el sıkışması yapar.
  4. Proxy bundan sonra yalnızca şifreli baytları iki yöne aktarır.

Proxy neyi görebilir, neyi göremez?#

  • Görebilir: Bağlandığınız sunucunun adı ve portu, bağlantının ne zaman kurulduğu, aktarılan veri miktarı.
  • Göremez: Sayfa içeriği, formlara yazdıklarınız, çerezler ve başlıklar; bunlar tünelin içinde şifrelidir.
  • Bir istisna: Sizden kendi sertifikasını yüklemenizi isteyen ve trafiği çözen bir proxy (TLS denetimi yapan kurumsal ağ geçitleri gibi) içeriği görebilir. Bilmediğiniz bir sertifikayı cihazınıza asla yüklemeyin.

TLS sertifikası ve güven#

HTTPS’in güvencesi sertifikalardan gelir. Tarayıcınız bir siteye bağlandığında sitenin sertifikasını güvendiği kuruluşlara göre doğrular. CONNECT tünelinde bu doğrulama doğrudan sizinle hedef site arasında gerçekleşir; proxy araya girmez. Bu, HTTPS proxy kullanmanın en önemli güvenlik avantajıdır: proxy’yi tanımıyor olsanız bile, doğru sertifikayı gördüğünüz sürece içerik üçüncü bir tarafça okunamaz.

Bu güvenceyi bozabilecek tek durum, cihazınıza ek bir kök sertifika kurulmasıdır. Sertifika kuran bir proxy kendi sahte sertifikalarını imzalayarak tüneli açabilir. Kurumsal bilgisayarlarda bu uygulama bilinçli ve duyurulmuş biçimde yapılır; kişisel kullanımda ise böyle bir isteği kabul etmenizi gerektirecek meşru bir sebep yoktur.

Proxy’ye TLS ile bağlanmanın anlamı#

İkinci anlamdaki HTTPS proxy’de, proxy’ye giden ilk bağlantı da şifrelenir. Bunun yararı, kimlik bilgilerinizin (kullanıcı adı ve parola) ağ üzerinde düz biçimde dolaşmamasıdır; ayrıca ağdaki bir gözlemci hangi hedefe CONNECT istediğinizi göremez. Tarayıcıların ve istemci kitaplıklarının bu modu destekleme düzeyi değişir; bu nedenle yeni bir araçta kullanmadan önce küçük bir deneme yapmanız doğru olur.

Ayar yaparken hangi adresi yazmalısınız?#

Çoğu araç proxy adresini bir URL olarak ister. Önemli olan şemadır: şema, proxy’ye hangi dille bağlanılacağını belirtir, hedefin HTTPS olup olmadığını değil. Proxy’niz HTTP ile dinliyorsa https:// yazmak bağlantıyı bozar. Sağlayıcı ya da liste hangi biçimi veriyorsa onu kullanın.

Python
import requests

# Proxy düz HTTP ile dinliyorsa (HTTPS siteleri yine CONNECT ile geçer)
proxy = "http://USERNAME:[email protected]:PORT"
proxies = {"http": proxy, "https": proxy}

r = requests.get("https://api.ipify.org", proxies=proxies, timeout=15)
print(r.status_code, r.text)
Her iki anahtarda da http:// şeması kullanılır; hedef sitenin HTTPS olması şemayı değiştirmez.
Bash
# Proxy’ye TLS ile bağlanmak gerekiyorsa (proxy bunu destekliyorsa)
curl --proxy https://proxy.example.com:PORT \
     --proxy-user USERNAME:PASSWORD \
     --max-time 15 \
     https://api.ipify.org
Şema https:// olduğunda curl proxy’ye TLS ile bağlanır; sunucu bunu desteklemiyorsa bağlantı kurulamaz.

Hız ve performans üzerine#

CONNECT tüneli kurulduktan sonra proxy yalnızca baytları aktardığı için ek bir şifreleme maliyeti doğurmaz; asıl gecikme, proxy’ye ulaşma süresi ve ilk bağlantının kurulması sırasında oluşur. Proxy’ye TLS ile bağlanıldığında ek bir el sıkışma gerekir, bu da ilk istekte küçük bir gecikme getirir. Birden çok isteği aynı bağlantı üzerinden göndermek (bağlantı yeniden kullanımı) bu maliyeti büyük ölçüde azaltır. Kesin süreler sunucuya ve ağ yoluna bağlıdır; bu yüzden kendi ölçümünüzü yapın.

Sık yapılan hatalar#

  • HTTPS site kullanacağım diye proxy adresine https:// yazmak.
  • SOCKS5 adresini HTTP proxy alanına girmek (protokol uyuşmazlığı).
  • Kimlik doğrulama gerektiren proxy’ye bilgi vermeyi unutmak ve 407 yanıtı almak.
  • Sertifika uyarısını önemsemeden kabul etmek.

Elinizdeki adresin protokolünü doğrulamak için proxy kontrol aracı kullanılabilir. HTTPS siteleri geçirebilen adaylar için HTTPS proxy listesini inceleyebilirsiniz. HTTP tarafının temelleri için HTTP proxy nedir rehberi, güvenlik tarafı için ise ücretsiz proxy riskleri yazısı faydalı olacaktır.

Sık sorulan sorular

01HTTPS proxy trafiğimi okuyabilir mi?
CONNECT tüneli kullanıldığında içeriği okuyamaz; yalnızca bağlandığınız sunucu adını ve veri miktarını görür. Trafiği çözen bir sertifika yüklemenizi isteyen proxy ise içeriği görebilir.
02HTTPS proxy ile HTTP proxy arasında hız farkı olur mu?
Bu, sunucunun yüküne ve bağlantı yoluna göre değişir. Protokol adı tek başına hız konusunda bir şey söylemez; kendi ölçümünüzü yapın.
03Proxy adresine neden https:// yazınca çalışmıyor?
Şema, proxy’ye nasıl bağlanılacağını belirtir. Proxy düz HTTP dinliyorsa https:// yazmak bağlantıyı bozar. Sağlayıcının verdiği biçimi kullanın.
04Her HTTP proxy HTTPS siteye erişebilir mi?
Çoğu erişebilir ancak bazı proxy’ler CONNECT yöntemini kısıtlar ya da yalnızca belirli portlara izin verir. Bu durumda HTTPS siteler açılmaz.

Bilgiyi listede deneyin

Ücretsiz listedeki kayıtları protokole ve ülkeye göre süzebilirsiniz. Bu kayıtların güvenli ya da kalıcı olduğu garanti edilmez; hassas hesaplarınızda kullanmayın.