Proxy türü

HTTPS proxy nedir? HTTP proxy ile farkı

“HTTPS proxy” iki farklı şeye denir ve bu sık karışıklık yaratır. Bu sayfada özellikle şunu anlatıyoruz: istemcinin proxy sunucusuyla önce TLS kurduğu, HTTP proxy protokolünü bu şifreli bağlantının içinde konuştuğu yapı.

Karışan iki kavram

Birincisi, HTTPS sitelere erişebilen sıradan bir HTTP proxy'dir. Bu durumda istemci proxy'ye düz HTTP ile bağlanır, CONNECT ile tünel ister ve TLS'i hedefle kurar. Piyasada buna da çoğu zaman “HTTPS proxy” denir, ancak teknik olarak bu bir HTTP proxy'dir.

İkincisi, proxy sunucusunun kendisinin TLS konuştuğu yapıdır. İstemci önce proxy ile TLS el sıkışması yapar, sonra HTTP proxy protokolünü bu şifreli kanalın içinde kullanır. HTTPS hedef için kanalın içinde ayrıca CONNECT gönderilir. Bu sayfanın konusu ikincisidir.

Yan yana karşılaştırma
HTTP proxy (CONNECT ile)HTTPS proxy (proxy’ye TLS)
İstemci → proxy bağlantısıŞifresiz TCPTLS ile şifreli
Proxy kimlik bilgisi yolda okunur mu?Evet (Basic yalnızca base64)Hayır; TLS içinde gider
Hedef adı proxy yolunda görünür mü?Evet, CONNECT satırı açıktırHayır; ağ dinleyicisi göremez (proxy yine görür)
Sertifika gerekir mi?HayırEvet; proxy sunucusunun geçerli sertifikası olmalı
curl biçimi--proxy http://host:port--proxy https://host:port
Konsept · eğitim amaçlı

Proxy’nin kendisiyle TLS kurulur; HTTP proxy protokolü (CONNECT) bu TLS’in içinde konuşulur.

HTTPS proxy mesaj sırasıHTTPS proxy için istemci, proxy ve hedef arasındaki 7 adımlı mesaj sırası. Şu an 1. adım: İstemci proxy ile TLS başlatır. Tüm adımlar aşağıdaki gizli listede yazılıdır.
  1. 1. İstemci → Proxy: İstemci proxy ile TLS başlatır
  2. 2. Proxy → İstemci: Proxy sertifikasını sunar
  3. 3. İstemci → Proxy: CONNECT TLS’in içinden gider
  4. 4. Proxy → Hedef: Proxy hedefe TCP bağlantısı açar
  5. 5. Proxy → İstemci: Proxy tüneli onaylar
  6. 6. İstemci → Hedef: Hedefle ikinci bir TLS kurulur
  7. 7. İstemci → Hedef: HTTP istekleri tünelden geçer
adım 1/7 · İstemci → Proxy

TLS içinde (proxy ile)

İstemci proxy ile TLS başlatır

Mesaj
TLS ClientHello
SNI
proxy.example.com

HTTPS proxy, “HTTPS sitelerine CONNECT ile ulaşan düz HTTP proxy” ile aynı şey değildir: burada istemci ile proxy arasındaki hat da şifrelidir.

HTTPS proxy bağlantısında önce proxy ile TLS, sonra kanal içinde proxy isteği.Konsept animasyonu

Neyi korur, neyi korumaz?

Proxy'ye TLS kurmak, istemci ile proxy arasındaki yol üzerindeki gözlemcilerin (ortak Wi-Fi, ağ yöneticisi, servis sağlayıcı) proxy kimlik bilgisini ve gidilen hedefi görmesini engeller. Buna karşılık proxy sunucusunun kendisi hedef adını ve düz HTTP isteklerinin içeriğini yine görür. Hedef siteye giden trafik HTTPS ise içeriği proxy bile okuyamaz.

cURL ile deneme

Bash
# Proxy ile TLS kurulur; içeride CONNECT gider
curl --proxy https://KULLANICI:[email protected]:8443 https://example.com/

# Sertifika ayrıntısını görmek için
curl -v --proxy https://proxy.example.com:8443 https://example.com/
Proxy’ye TLS ile bağlanma

Adres https:// ile başladığında curl, önce proxy ile TLS el sıkışması yapar. Hata mesajı bu adımda SSL certificate problem ise sorun hedefte değil, proxy sunucusunun sertifikasındadır.

Sertifika hataları

  • Ad uyuşmazlığı: Sertifika bir alan adı için verilmişken proxy'ye IP adresiyle bağlanırsanız doğrulama başarısız olur. Proxy'ye sertifikadaki ad ile bağlanın.
  • Süresi dolmuş sertifika: Proxy işletmecisinin yenilemesi gerekir; istemci tarafında çözüm yoktur.
  • Kendinden imzalı sertifika: Güvenilen bir yetkiliden gelmediği için reddedilir. Doğrulamayı kapatmak (-k) bağlantıyı denemenizi sağlar ama TLS korumasının anlamını ortadan kaldırır.

Kontrol aracımızda protokol olarak HTTPS seçerseniz bağlantı süresi, TCP bağlantısına ek olarak proxy ile TLS el sıkışmasını da içerir. Sertifika sorunları ayrı bir not olarak raporlanır.

Kim, ne zaman HTTPS proxy kullanır?

  1. 1

    İstemcinizin desteğini doğrulayın

    Her uygulama proxy'ye TLS kurmayı desteklemez. Tarayıcılar ve curl destekler; birçok kütüphane yalnızca http:// proxy adresi bekler.

  2. 2

    Proxy adresinin biçimini öğrenin

    Sağlayıcıdan portun ve protokolün ne olduğunu alın. Aynı sunucuda HTTP için bir, HTTPS için başka bir port olabilir.

  3. 3

    Önce kontrol edin

    Proxy kontrol sayfasında protokol olarak HTTPS seçin; TLS el sıkışması ve sertifika durumunu ayrı görürsünüz.

  4. 4

    Çalışmıyorsa HTTP ile deneyin

    El sıkışma ECONNRESET ile bitiyorsa proxy aslında düz HTTP konuşuyor olabilir.

Satıcı tarafında sağlayıcı sayfalarında datacenter, residential ve rotating paketler için “HTTP(S)” ifadesi geçer; bu ifadenin tam anlamı (CONNECT ile HTTPS hedef mi, proxy'ye TLS mi) pakete göre değişir ve sipariş öncesinde destekten teyit edilmelidir. Ürünlere göz atmak için proxy ürünleri sayfasını kullanın.

HTTPS proxy’nizin TLS el sıkışmasını test edin.

Proxy Kontrol Et

Sık sorulan sorular

İlgili sayfalar