Port nedir? Sık kullanılan portlar ve güvenlik duvarı
IP adresi bir cihazı bulmanızı sağlar. Port ise o cihazdaki hangi hizmetle konuşacağınızı belirtir. Bir binanın adresi IP, dairenin kapı numarası ise port gibidir.
Port numarası
Portlar 0 ile 65535 arasında bir sayıdır. 0-1023 arası "iyi bilinen" portlardır ve standart hizmetler için ayrılmıştır. 1024-49151 arası kayıtlı, 49152 ve üzeri geçici (dinamik) portlardır. Tarayıcınız bir siteye bağlanırken kendi tarafında geçici bir port seçer, sunucu tarafında ise hizmetin portuna bağlanır.
TCP ve UDP
İki ana taşıma protokolü vardır. TCP bağlantı kurar, verinin sırayla ve eksiksiz ulaştığını doğrular. Web, e-posta ve dosya aktarımı bunu kullanır. UDP bağlantı kurmaz, doğrulama yapmaz, bu yüzden daha hızlı ve hafiftir. DNS sorguları, canlı görüntü ve oyunlar çoğunlukla bunu kullanır.
Sık kullanılan portlar
| Port | Hizmet |
|---|---|
| 20, 21 | FTP (dosya aktarımı) |
| 22 | SSH (güvenli uzak bağlantı) |
| 25 | SMTP (sunucular arası e-posta) |
| 53 | DNS |
| 80 | HTTP (şifresiz web) |
| 110 | POP3 (e-posta alma) |
| 143 | IMAP (e-posta alma) |
| 443 | HTTPS (şifreli web) |
| 587 | SMTP gönderim (kimlik doğrulamalı) |
| 993 | IMAP, TLS ile |
| 3306 | MySQL |
| 3389 | Uzak Masaüstü (RDP) |
| 5432 | PostgreSQL |
Güvenlik duvarı ne yapar?
Güvenlik duvarı (firewall), hangi portlara ve adreslere gelen ve giden bağlantılara izin verileceğini belirleyen kurallar uygular. Ev modemleri gelen bağlantıları varsayılan olarak engeller. Yalnızca sizin içeriden başlattığınız bağlantıların cevapları geri girebilir. Bu yüzden evinizdeki bir cihaz dışarıdan kolayca erişilebilir değildir.
Port aralıkları
Port numarası 16 bitlik bir sayıdır, yani 0 ile 65535 arasındadır. Aralıklar şöyle ayrılır:
- 0 - 1023 (iyi bilinen portlar): HTTP, HTTPS, SSH gibi standart servislere ayrılmıştır. Çoğu sistemde bu portlarda dinlemek için yönetici yetkisi gerekir.
- 1024 - 49151 (kayıtlı portlar): Belirli uygulamaların kullanımı için kaydedilmiş portlar. Örneğin 3306 MySQL, 5432 PostgreSQL.
- 49152 - 65535 (dinamik portlar): Cihazınızın giden bağlantılar için geçici olarak seçtiği kaynak portlar.
TCP ve UDP farkı
Port numaraları iki ayrı taşıma protokolünün parçasıdır. TCP bağlantı kurar, verinin eksiksiz ve sıralı ulaşmasını garanti eder ve web, e-posta ve dosya aktarımında kullanılır. UDP bağlantı kurmaz, gönderilen veri kaybolabilir ama çok hızlıdır. DNS sorguları, canlı video, çevrimiçi oyunlar ve VoIP için tercih edilir. Aynı numaralı TCP ve UDP portları birbirinden bağımsızdır, yani TCP 53 ile UDP 53 farklı kapılardır.
Sık kullanılan portlar
| Port | Protokol | Ne için kullanılır? |
|---|---|---|
| 20, 21 | TCP | FTP (veri ve kontrol), şifresizdir |
| 22 | TCP | SSH, uzaktan güvenli erişim ve SFTP |
| 25, 465, 587 | TCP | E-posta gönderimi (SMTP) |
| 53 | UDP/TCP | DNS |
| 80 | TCP | HTTP |
| 110, 143, 993, 995 | TCP | E-posta alma (POP3, IMAP, güvenli sürümleri) |
| 123 | UDP | NTP, saat eşitleme |
| 443 | TCP/UDP | HTTPS (ve HTTP/3 için UDP) |
| 3389 | TCP | Windows Uzak Masaüstü (RDP) |
Hangi port açık? Kendi cihazınızda bakmak
# macOS
lsof -iTCP -sTCP:LISTEN -n -P
# Linux
ss -ltnp
# Windows
netstat -ano | findstr LISTENING
Çıktıda her satır, dinleyen bir programı, adresi ve portu gösterir. Adresin 127.0.0.1 olması servisin yalnızca cihazın kendisinden erişilebilir olduğunu, 0.0.0.0 ya da * olması ise ağdan erişilebilir olduğunu gösterir. Fark için localhost yazısına bakın.
Güvenlik duvarı ve port yönlendirme
Güvenlik duvarı, hangi portlara gelen ve giden bağlantılara izin verildiğini belirleyen kurallar bütünüdür. İyi bir temel kural, ihtiyacınız olmayan her şeyi kapalı tutmaktır. Modemdeki port yönlendirme (port forwarding) ise internetten gelen bir bağlantıyı, belirli bir porta, evdeki belirli bir cihaza iletir. Ev sunucusu, kamera ya da oyun sunucusu için kullanılır. Ama her açılan port bir saldırı yüzeyi demektir.
Güvenli kullanım için temel kurallar
- Uzak Masaüstü (3389) ve veritabanı portlarını doğrudan internete açmayın. Bu portlar sürekli taranır ve saldırıya uğrar. Gerekiyorsa önce VPN kullanın.
- SSH için parola yerine anahtar kullanın ve mümkünse varsayılan porttan başka bir porta taşımayı yalnızca ek bir gürültü azaltma önlemi olarak görün, asıl koruma olarak değil.
- Şifresiz protokolleri (FTP, Telnet, HTTP) kullanmaktan kaçının.
- Yazılımları güncel tutun. Açık portun arkasındaki yazılımdaki bilinen açıklar saldırıların ana yoludur.
- Gereksiz yönlendirmeleri silin. Artık kullanmadığınız yönlendirme kuralları unutulur ve açık kalır.
Sağlayıcınız CGNAT kullanıyorsa port yönlendirme zaten çalışmaz, çünkü dışarıdan gelen bağlantı modeminize ulaşamaz.
Port tarama hakkında
Port tarama, bir adreste hangi portların açık olduğunu araştırmaktır. Kendi ağınızı ve kendi cihazlarınızı taramak yasal ve yararlıdır. Başkasına ait sistemleri izinsiz taramak ise bazı ülkelerde suç sayılabilir ya da kullanım şartlarını ihlal edebilir. Kendi ağınızın dışarıdan nasıl göründüğünü görmek için güvenilir, tanınmış bir çevrimiçi tarama hizmetini kullanın ve yalnızca kendi genel adresinizi tarayın.
Sık sorulan sorular
Port numarası ile IP adresi arasındaki fark nedir?
IP adresi cihazı bulur, port numarası o cihazdaki programı bulur. Bir apartmanın adresi IP, daire numarası port gibidir.
Tarayıcı neden :443 yazmadan çalışıyor?
Tarayıcı, https:// görünce varsayılan olarak 443'ü, http:// görünce 80'i kullanır. Başka bir port kullanılıyorsa adresin sonuna :8080 gibi eklenir.
Port yönlendirme
Evdeki bir sunucuya dışarıdan erişmek isterseniz modemde bir portu belirli bir cihaza yönlendirirsiniz. Örneğin dışarıdan gelen 8080 numaralı isteği evdeki bir bilgisayara aktarabilirsiniz. Bunu yaparken dikkatli olun:
- Yalnızca gerçekten gerekli portları açın.
- Hizmeti güncel tutun ve güçlü parola kullanın.
- Uzak Masaüstü (3389) ve SSH (22) gibi hizmetlerin doğrudan internete açılması sık saldırı hedefidir. Mümkünse bunları VPN arkasında tutun.
- Sağlayıcınız paylaşımlı adres veriyorsa port yönlendirme çalışmaz. Ayrıntılar için CGNAT yazısına bakın.
Bir portun bilgisayarınızda dinlenip dinlenmediğini görmek için Windows'ta netstat -ano, macOS ve Linux'ta lsof -i -P komutları kullanılabilir.