Ağ ve Sistem Yönetimi

Portlar ve Servisler

Ağ portlarının çalışma mantığını, yaygın TCP/UDP servislerini, dinleyen portların nasıl görüntülendiğini ve gereksiz servislerin nasıl güvenli şekilde kapatıldığını öğrenin.

17 Temmuz 202624 dk okumaBaşlangıç–Orta Seviye

1. Port Nedir?

Port, aynı IP adresi üzerinde çalışan farklı uygulama ve servisleri birbirinden ayıran mantıksal numaradır.

Bir ağ bağlantısı çoğunlukla IP adresi, port numarası ve taşıma protokolüyle tanımlanır.

socket örneği
192.168.1.10:443/TCP
Temel fikir

IP adresi cihazı, port numarası ise o cihazdaki uygulamayı veya servisi belirtir.

2. Port Aralıkları

Aralık Ad Kullanım
0–1023 Well-known ports Standart sistem ve ağ servisleri
1024–49151 Registered ports Uygulama ve üretici servisleri
49152–65535 Dynamic / Ephemeral ports İstemci tarafı geçici bağlantılar

3. TCP ve UDP Portları

Aynı port numarası TCP ve UDP üzerinde farklı servisler için kullanılabilir.

Özellik TCP UDP
Bağlantı Bağlantı odaklı Bağlantısız
Güvenilirlik Teslim ve sıralama kontrolü vardır Teslim garantisi yoktur
Örnek SSH, HTTP, HTTPS DNS, NTP, VoIP

4. Yaygın Well-Known Portlar

Port Protokol Servis
20/21 TCP FTP veri ve kontrol
22 TCP SSH
23 TCP Telnet
25 TCP SMTP
53 TCP/UDP DNS
67/68 UDP DHCP
69 UDP TFTP
80 TCP HTTP
110 TCP POP3
123 UDP NTP
143 TCP IMAP
161/162 UDP SNMP
389 TCP/UDP LDAP
443 TCP HTTPS
445 TCP SMB

5. Yaygın Registered Portlar

Port Servis
1433 Microsoft SQL Server
1521 Oracle Database
2049 NFS
3306 MySQL / MariaDB
3389 RDP
5432 PostgreSQL
5900 VNC
6379 Redis
8080 Alternatif HTTP / Proxy
8443 Alternatif HTTPS
9200 Elasticsearch HTTP
27017 MongoDB

6. Ephemeral Portlar

İstemci bir sunucuya bağlanırken işletim sistemi geçici bir kaynak port seçer.

örnek bağlantı
İstemci: 192.168.1.25:53124
Sunucu : 203.0.113.10:443

Burada 53124 geçici istemci portu, 443 ise sunucudaki HTTPS servis portudur.

7. Servis Nedir?

Servis, arka planda çalışan ve istemcilere belirli bir işlev sunan uygulamadır.

  • SSH servisi uzak terminal erişimi sağlar.
  • Nginx veya Apache web hizmeti sunar.
  • MySQL veritabanı hizmeti sunar.
  • DNS servisi alan adı çözümlemesi yapar.

8. Listening Port Nedir?

Bir servis bağlantı bekliyorsa ilgili port LISTEN durumunda görünür.

örnek
LISTEN 0 4096 0.0.0.0:22

Bu çıktı SSH servisinin tüm IPv4 arayüzlerinde 22 numaralı portu dinlediğini gösterebilir.

9. Bind Adresleri

Bind adresi Anlamı
127.0.0.1 Yalnızca yerel makineden erişilebilir.
0.0.0.0 Tüm IPv4 arayüzlerinde dinler.
::1 Yalnızca yerel IPv6 erişimi.
:: Tüm IPv6 arayüzlerinde dinler.
192.168.1.10 Yalnızca belirtilen arayüz adresinde dinler.
Güvenlik ilkesi

Servis yalnızca ihtiyaç duyulan ağ arayüzünde dinlemelidir.

10. ss ile Dinleyen Portları Görme

TCP ve UDP dinleyen portları ve süreçleri görmek için:

bash
sudo ss -lntup
Seçenek Açıklama
-l Dinleyen socketleri gösterir.
-n Portları sayısal gösterir.
-t TCP bağlantıları gösterir.
-u UDP bağlantıları gösterir.
-p İlgili süreci gösterir.

11. Belirli Bir Portu Kontrol Etme

22 numaralı portu filtrelemek için:

bash
sudo ss -lntp | grep ':22 '

443 numaralı port:

bash
sudo ss -lntp | grep ':443 '

12. lsof ile Port ve Süreç Kontrolü

Belirli portu kullanan süreci görmek için:

bash
sudo lsof -i :80

Kurulu değilse:

bash
sudo apt install lsof -y

13. Servis Durumunu Kontrol Etme

SSH servisi:

bash
sudo systemctl status ssh

Nginx servisi:

bash
sudo systemctl status nginx

14. Servis Başlatma ve Durdurma

Servisi başlatmak için:

bash
sudo systemctl start nginx

Durdurmak için:

bash
sudo systemctl stop nginx

Yeniden başlatmak için:

bash
sudo systemctl restart nginx

15. Açılışta Servis Yönetimi

Sistem açılışında otomatik başlatmak için:

bash
sudo systemctl enable nginx

Otomatik başlatmayı kapatmak için:

bash
sudo systemctl disable nginx

16. curl ile Servis Doğrulama

HTTP servisini kontrol etmek için:

bash
curl -I http://127.0.0.1

HTTPS servisini kontrol etmek için:

bash
curl -I https://alanadiniz.com

17. Netcat ile Port Kontrolü

Kendi sunucunuzda bir TCP portuna bağlantı testi yapmak için:

bash
nc -vz 127.0.0.1 22

HTTPS portu:

bash
nc -vz alanadiniz.com 443

18. Nmap ile Kendi Portlarını Doğrulama

Yalnızca kendi yerel sisteminiz için temel port kontrolü:

bash
nmap 127.0.0.1

Belirli portlar:

bash
nmap -p 22,80,443 127.0.0.1
Yetki sınırı

Port taramasını yalnızca size ait veya açıkça izin verilmiş sistemlerde yapın.

19. Open, Closed ve Filtered Durumları

Durum Anlamı
open Portta bağlantı kabul eden bir servis vardır.
closed Cihaz erişilebilir ancak portta servis yoktur.
filtered Firewall veya ağ cihazı sonucu engelliyor olabilir.
open|filtered Portun açık veya filtreli olduğu kesin belirlenememiştir.

20. UFW ile Port Yönetimi

UFW durumunu kontrol edin:

bash
sudo ufw status numbered

HTTPS portuna izin vermek için:

bash
sudo ufw allow 443/tcp

Belirli port kuralını kaldırmadan önce numaralı listeyi kontrol edin.

21. Belirli IP'ye Port İzni

Örneğin SSH erişimini yalnızca belirli yönetim IP'sine izinli hale getirmek için:

bash
sudo ufw allow from 203.0.113.25 to any port 22 proto tcp

Örnek IP dokümantasyon amaçlıdır; gerçek yönetim IP'nizi kullanın.

22. Gereksiz Servisleri Kapatma

Çalışan servisleri listelemek için:

bash
systemctl --type=service --state=running

Gereksiz bir servisi durdurup otomatik başlangıcını kapatmak için:

bash
sudo systemctl stop servis-adi
sudo systemctl disable servis-adi

23. Veritabanı Portları ve Güvenlik

Veritabanı servisleri mümkünse doğrudan internete açık olmamalıdır.

  • MySQL: 3306
  • PostgreSQL: 5432
  • Redis: 6379
  • MongoDB: 27017
  • Elasticsearch: 9200

Bu servisleri localhost, özel ağ veya VPN arkasında çalıştırmak daha güvenlidir.

24. Yönetim Servisleri

Servis Port Öneri
SSH 22/TCP Anahtar tabanlı giriş ve IP kısıtı
RDP 3389/TCP VPN ve MFA arkasında
VNC 5900/TCP Doğrudan internete açılmamalı
Web yönetim paneli Değişken VPN, MFA ve IP kısıtı

25. Docker Port Yayınlama

Docker'da port eşlemesi şu biçimdedir:

docker compose
ports:
  - "8080:80"

Bu yapı host üzerindeki 8080 portunu container içindeki 80 portuna bağlar.

Yalnızca localhost'a yayınlamak için:

docker compose
ports:
  - "127.0.0.1:8080:80"

26. Docker Portlarını Kontrol Etme

Çalışan container ve port eşlemeleri:

bash
docker ps

Belirli container portları:

bash
docker port container-adi

27. Servis Loglarını İnceleme

Systemd servisi logları:

bash
sudo journalctl -u nginx --since "1 hour ago"

SSH logları:

bash
sudo journalctl -u ssh --since "1 hour ago"

28. Port Çakışması

İki servis aynı IP ve port üzerinde aynı anda dinleyemez.

Port kullanımda hatasında:

bash
sudo ss -lntp | grep ':8080 '

Ardından ilgili servisin yapılandırmasını veya port numarasını düzenleyin.

29. Port Sorun Giderme Sırası

  1. Servis çalışıyor mu?
  2. Doğru portta dinliyor mu?
  3. Doğru IP adresine bind edilmiş mi?
  4. Yerel bağlantı başarılı mı?
  5. Firewall kuralı izin veriyor mu?
  6. Router veya NAT yönlendirmesi gerekli mi?
  7. DNS doğru IP'ye gidiyor mu?
  8. Container port eşlemesi doğru mu?

30. Uygulamalı Laboratuvar

  1. sudo ss -lntup ile dinleyen portları listeleyin.
  2. 22, 80 ve 443 portlarını ayrı ayrı filtreleyin.
  3. İlgili servisleri systemctl status ile kontrol edin.
  4. curl -I ile HTTP/HTTPS servisini doğrulayın.
  5. nc -vz ile yerel port bağlantısını test edin.
  6. UFW kurallarını görüntüleyin.
  7. Gereksiz bir test servisini durdurup portun kapandığını doğrulayın.
  8. Servisi yeniden başlatıp portun tekrar dinlediğini kontrol edin.

31. Güvenlik Kontrol Listesi

Kontrol Soru
Gereklilik Bu servis gerçekten gerekli mi?
Bind Yalnızca gerekli arayüzde mi dinliyor?
Firewall Erişim gerekli IP'lerle sınırlı mı?
Kimlik doğrulama Güçlü parola, anahtar veya MFA var mı?
Şifreleme Trafik TLS veya VPN ile korunuyor mu?
Güncelleme Servis güncel mi?
Loglama Girişler ve hatalar izleniyor mu?

32. Sonuç

Bu dokümanda port aralıkları, TCP ve UDP servisleri, well-known ve registered portlar, listening ve bind kavramları, ss, lsof, systemctl, curl, netcat, Nmap, UFW ve Docker port eşlemeleri ele alındı.

Güvenli bir sistemde yalnızca gerekli servisler çalışmalı, portlar doğru arayüzlerde dinlemeli ve erişim güvenlik duvarı ile sınırlandırılmalıdır.

© 2026 Kemal Tokmak — Gerçek Deneyimler, Gerçek Dokümantasyon