Port Numaralarını Anlamak
Port numaraları, tek bir IP adresinde birden fazla ağ servisinin eş zamanlı çalışmasına olanak tanıyan 16 bitlik sayısal tanımlayıcılardır (0-65535). Ağ iletişimlerinin bitiş noktaları olarak işlev görür ve işletim sistemlerinin gelen verileri doğru uygulama veya servise yönlendirmesini sağlar.
Port Kategorileri
İyi Bilinen Portlar (0-1023)
Bu portlar, sistem süreçleri ve iyi bilinen servisler için ayrılmıştır. Unix benzeri sistemlerde, bu portlara bağlanmak genellikle kök ayrıcalıkları gerektirir. Örnekler arasında HTTP (80), HTTPS (443), SSH (22) ve FTP (21) bulunur.
Kayıtlı Portlar (1024-49151)
Bu portlar, belirli servisler için İnternet Atanan Numaralar Otoritesi'ne (IANA) kaydedilebilir, ancak kullanmak için özel ayrıcalıklar gerektirmez. Birçok uygulama ve servis bu aralıktaki portları kullanır.
Dinamik/Özel Portlar (49152-65535)
Geçici portlar olarak da bilinen bu portlar, genellikle istemci uygulamaları tarafından başlatılan giden bağlantılar için kullanılır. İşletim sistemi bu portları geçici kullanım için otomatik olarak atar.
TCP - UDP Karşılaştırması
TCP (İletim Kontrol Protokolü)
- Güvenilir: Veri teslimini ve sırasını garanti eder
- Bağlantı odaklı: Veri aktarımından önce bir bağlantı kurar
- Hata kontrolü: Yerleşik hata tespiti ve düzeltmesi
- Kullanım durumları: Web gezintisi, e-posta, dosya aktarımı, veritabanı bağlantıları
UDP (Kullanıcı Datagram Protokolü)
- Hızlı: Daha düşük yük, daha hızlı iletim
- Bağlantısız: Bağlantı kurulumu gerekmez
- Gönder ve unut: Garantili teslimat yok
- Kullanım durumları: DNS sorguları, akış medyası, çevrimiçi oyunlar, IoT cihazları
Güvenlik Değerlendirmeleri
Port Tarama
Saldırganlar, olası güvenlik açıklarını belirlemek için genellikle açık portları tarar. Yalnızca kesinlikle gerekli olan portları açığa çıkarın ve uygun güvenlik duvarı yapılandırmasını sağlayın.
Varsayılan Portlar
Güvenlik açısından hassas servisler için varsayılan portları değiştirmeyi düşünün. Bu belirsizlik yoluyla güvenlik olmasa da, varsayılan yapılandırmaları hedefleyen otomatik saldırıları azaltabilir.
Güvenlik Duvarı Yapılandırması
Kaynak IP, ağ segmentleri ve iş gereksinimlerine göre belirli portlara erişimi kısıtlamak için uygun güvenlik duvarı kuralları uygulayın.
Ağ Yönetimi
Port İzleme
Açık portların ve aktif bağlantıların düzenli olarak izlenmesi şunları belirlemeye yardımcı olur:
- Yetkisiz servisler
- Performans sorunları
- Güvenlik ihlalleri
- Kaynak kullanımı
Yaygın Komutlar
Geliştirme En İyi Uygulamaları
Port Seçimi
- İyi bilinen servisler için standart portlar kullanın
- Yaygın servislerle çakışmaktan kaçının
- Özel port kullanımını belgeleyin
- Uygulamalarda portları yapılandırılabilir yapın
Ortam Yapılandırması
- Geliştirme: Çakışmaları önlemek için yüksek numaralı portlar kullanın
- Test etme: CI/CD ortamlarında port kullanılabilirliğini sağlayın
- Üretim: Mümkün olduğunda standart portlar kullanın
Yaygın Port Çakışmaları
Birçok port, farklı uygulamalar arasında yaygın olarak kullanılır; bu da çakışmalara yol açabilir:
- Port 3000: Node.js apps, React dev server, Grafana
- Port 8000: Django, Python HTTP server, various development servers
- Port 8080: Alternative HTTP, Tomcat, development proxies
- Port 5000: Flask, Docker Registry, various development servers
IoT ve Modern Uygulamalar
Modern uygulamalar ve IoT cihazları yeni değerlendirmeler getirir:
MQTT (1883/8883)
IoT uygulamalarında popüler olan hafif mesajlaşma protokolü. Düz metin için 1883, TLS şifreli bağlantılar için 8883 portu.
Konteyner Orkestrasyonu
Docker ve Kubernetes, API iletişimi, metrikler ve sağlık kontrolleri için çeşitli portlar kullanır. Bu portları anlamak, konteyner ağı için kritik öneme sahiptir.
Mikro Servisler
Servis ağı mimarileri, farklı amaçlar için (ana servis, sağlık kontrolleri, metrikler, hata ayıklama) servis başına birden fazla port kullanır.
Pro Tip
Birden fazla servisle çalışırken, port aralıkları veya sistematik numaralandırma şemaları kullanmayı düşünün. Örneğin, Node.js servisleri için 3000-3099, Python servisleri için 8000-8099 vb. kullanın.