Bir proxy hizmeti için uygun port, proxy'nin protokolüne ve kullanım amacına bağlıdır: HTTP/HTTPS proxy'lerinde 8080 ve 3128 yaygındır, 1080 ise SOCKS proxy'leri için ayrılmıştır.
Proxy sunucuları, istemci bağlantılarını kabul etmek için belirli ağ portlarını dinler. Port seçimini proxy'nin protokolü (HTTP, HTTPS, SOCKS), yerleşik gelenekler ve ağ yapılandırmaları belirler. Teknik olarak ayrıcalıksız herhangi bir port (1024 üzeri) kullanılabilse de, belirli portlar belirli proxy türleri için standart hâline gelmiş ve istemci yapılandırmasını ve birlikte çalışabilirliği kolaylaştırmıştır.
Port 8080
Port 8080, yaygın olarak kullanılan alternatif bir HTTP portudur. HTTP trafiği normalde port 80'i kullanırken, 8080 web sunucuları ve HTTP/HTTPS proxy'leri için geleneksel standart dışı port işlevi görür. Proxy'lerde kullanılmasının nedeni büyük ölçüde "alternatif HTTP" portu olarak yerleşmiş olmasıdır; bu sayede genel web trafiğine izin veren güvenlik duvarları tarafından engellenme olasılığı düşüktür, ancak yine de doğrudan web sunucusu erişiminden ayrışır.
Özellikler
- Protokol: HTTP, HTTPS (CONNECT yöntemiyle)
- Amaç: Genel amaçlı HTTP/HTTPS proxy. Genellikle test için ya da port 80 kullanılamadığında veya kısıtlandığında tercih edilir.
- Şunlar için varsayılan: Bazı proxy yazılımları veya özel yapılandırmalar.
- IANA durumu: Internet Assigned Numbers Authority (IANA) tarafından HTTP Alternate (Web Proxy) olarak kayıtlıdır.
Yapılandırma örneği (HTTP proxy)
Bir istemciyi port 8080'deki HTTP proxy'yi kullanacak şekilde yapılandırmak için:
# HTTP için curl kullanımı
curl -x http://proxy.example.com:8080 http://target.example.com
# Ortam değişkenlerini kullanma (birçok araçta yaygın)
export HTTP_PROXY="http://proxy.example.com:8080"
export HTTPS_PROXY="http://proxy.example.com:8080"
curl http://target.example.com
Bir web tarayıcısında bu port, HTTP/HTTPS proxy ayarları altında belirtilir.
Port 3128
Port 3128, HTTP ve HTTPS proxy'leri için geniş çapta tanınan ve sıkça kullanılan bir porttur; özellikle Squid önbellekleme proxy sunucusuyla anılır. Yaygınlığı büyük ölçüde Squid'in geniş kullanımından kaynaklanır ve bu durum 3128'i HTTP/HTTPS proxy hizmetleri için fiilî standart hâline getirmiştir.
Özellikler
- Protokol: HTTP, HTTPS (CONNECT yöntemiyle)
- Amaç: Genellikle önbellekleme yetenekleri olan, adanmış HTTP/HTTPS proxy. Kurumsal ve ISP düzeyindeki proxy'lerde yaygındır.
- Şunlar için varsayılan: Squid proxy sunucusu.
- IANA durumu: IANA tarafından belirli bir hizmet için resmen kaydedilmemiştir, ancak gelenek olarak yaygın biçimde benimsenmiştir.
Yapılandırma örneği (HTTP proxy)
Bir istemciyi port 3128'deki HTTP proxy'yi kullanacak şekilde yapılandırmak, yalnızca port numarası değişmek üzere port 8080 ile aynıdır:
# HTTP için curl kullanımı
curl -x http://proxy.example.com:3128 http://target.example.com
# Ortam değişkenlerini kullanma
export HTTP_PROXY="http://proxy.example.com:3128"
export HTTPS_PROXY="http://proxy.example.com:3128"
wget http://target.example.com/file.zip
Yaygın kullanımı nedeniyle birçok ağ cihazı ve uygulaması, proxy'leri 3128 üzerinde arayacak şekilde önceden yapılandırılmıştır.
Port 1080
Port 1080, SOCKS (SOCKet Secure) proxy'leri için standart porttur. Öncelikle web trafiği için uygulama katmanında (Katman 7) çalışan HTTP proxy'lerinin aksine, SOCKS proxy'leri daha alt bir katmanda (Katman 5, oturum katmanı) çalışır ve HTTP, FTP, SMTP dâhil çeşitli ağ trafiği türlerini işleyebilir. SOCKS proxy'leri TCP bağlantılarını iletir ve (SOCKS5 ile) UDP trafiğini de işleyebilir.
Özellikler
- Protokol: SOCKS (SOCKS4, SOCKS5)
- Amaç: Genel amaçlı ağ proxy'si. Uygulamadan bağımsız proxy gerektiğinde ya da HTTP'ye özgü özellikler istenmediğinde veya istemci/sunucu tarafından desteklenmediğinde kullanılır.
- Şunlar için varsayılan: SOCKS proxy sunucuları.
- IANA durumu: IANA tarafından SOCKS için kayıtlıdır.
Yapılandırma örneği (SOCKS proxy)
Bir istemciyi port 1080'deki SOCKS proxy için yapılandırmak, SOCKS protokolünün belirtilmesini gerektirir:
# SOCKS5 için curl kullanımı
curl --socks5 proxy.example.com:1080 http://target.example.com
# SOCKS5 için ortam değişkenleri
export ALL_PROXY="socks5://proxy.example.com:1080"
ssh [email protected] # SSH istemcisi ALL_PROXY destekliyorsa
Web tarayıcılarında SOCKS proxy'leri için genellikle HTTP/HTTPS proxy yapılandırmasından ayrı ayarlar bulunur.
Port karşılaştırması
Aşağıdaki tablo, proxy hizmetleri bağlamında 8080, 3128 ve 1080 portları arasındaki temel farkları özetler:
| Özellik | Port 8080 | Port 3128 | Port 1080 |
|---|---|---|---|
| Proxy türü | HTTP/HTTPS proxy | HTTP/HTTPS proxy | SOCKS proxy (SOCKS4/SOCKS5) |
| Protokol(ler) | HTTP, HTTPS (CONNECT) | HTTP, HTTPS (CONNECT) | TCP, UDP (SOCKS5), her türlü uygulama protokolü |
| Katman | Uygulama katmanı (L7) | Uygulama katmanı (L7) | Oturum katmanı (L5) |
| Başlıca kullanım | Alternatif HTTP, genel web proxy'si | Kurumsal/önbellekleme web proxy'si | Farklı uygulamalar için genel ağ proxy'si |
| Yaygın yazılımlar | Özel çözümler, çeşitli web sunucuları | Squid, Apache Traffic Server | OpenSSH (SOCKS5 yönlendirme), Dante, SOCKS sunucuları |
| IANA durumu | Kayıtlı (HTTP Alternate) | Kayıtsız (gelenek gereği) | Kayıtlı (SOCKS) |
| İşlenen trafik | Web gezinme, API çağrıları | Web gezinme, API çağrıları, önbellekleme | Her türlü TCP/UDP trafiği (ör. FTP, IRC, oyun, SSH, DNS) |
Port seçerken dikkate alınacak etkenler
Bir proxy hizmeti için port seçerken kararı etkileyen birkaç etken vardır:
Protokol uyumluluğu
Temel ölçüt proxy protokolüdür. Proxy HTTP/HTTPS trafiği için tasarlandıysa 8080 veya 3128 gibi portlar uygundur. Proxy'nin farklı protokolleri işlemesi ya da daha alt bir ağ katmanında çalışması gerekiyorsa port 1080'de bir SOCKS proxy gerekir. İstemci uygulamaları doğru proxy protokolünü ve portunu kullanacak şekilde yapılandırılmalıdır.
Güvenlik duvarı kuralları ve ağ politikası
Ağ güvenlik duvarları gelen ve giden trafiği çoğunlukla port numaralarına göre kısıtlar.
* Yaygın portlar: 80 ve 443 portları HTTP/HTTPS için genellikle açıktır. 8080 ve 3128 portlarına da web proxy'leri için sıkça izin verilir.
* SOCKS portları: SOCKS için kullanılan port 1080 farklı ele alınabilir; bazı ağlar bu portu kısıtlayabilir.
* Özel portlar: Standart dışı bir port kullanmak (ör. 8000, 8123, 9090) bazen temel port filtrelemesini aşabilir, ancak bu "belirsizlikle güvenlik" yaklaşımıdır ve sağlam bir güvenlik önlemi değildir. Gelişmiş güvenlik duvarları yalnızca port numaralarını değil, trafik içeriğini de inceler.
Uygulama ve istemci yapılandırması
İstemci uygulaması (web tarayıcısı, komut satırı aracı, işletim sistemi ağ ayarları) seçilen proxy türünü ve portu desteklemelidir.
* Çoğu web tarayıcısı HTTP, HTTPS, FTP ve SOCKS proxy'leri için ayrı ayarlar sunar.
* curl ve wget gibi komut satırı araçları ortam değişkenlerini (HTTP_PROXY, HTTPS_PROXY, ALL_PROXY) veya özel bayrakları (-x, --socks5) kullanır.
* Bazı uygulamalar yalnızca HTTP proxy'leri destekleyebilir, bazıları ise özellikle SOCKS gerektirebilir.
Port uygunluğu
Seçilen portun proxy sunucusunda başka bir hizmet tarafından kullanılmadığından emin olun. Dolu bir portta proxy başlatmaya çalışmak bağlama (binding) hatasıyla sonuçlanır.
# Linux/macOS'ta bir portun kullanımda olup olmadığını kontrol etme
sudo lsof -i :8080
sudo netstat -tuln | grep 8080
# Windows'ta bir portun kullanımda olup olmadığını kontrol etme
netstat -ano | findstr :8080
Güvenlik değerlendirmeleri
Port numarasının kendisi doğası gereği güvenlik sağlamaz. Proxy güvenliği için kimlik doğrulama, erişim denetim listeleri (ACL), şifreleme (ör. HTTPS proxy trafiği için TLS) ve sağlam sunucu yapılandırması kritiktir. Standart dışı bir port kullanmak sıradan port taramalarını caydırabilir, ancak hedefli saldırılara veya gelişmiş tarayıcılara karşı koruma sağlamaz. İnternete açık proxy'lerde standart portlar daha beklenir ve dolayısıyla daha çok hedef alınır; ancak güvenlik, port belirsizliğine bel bağlamak yerine uygulama ve ağ katmanlarında uygulanmalıdır.
