Bir Linux sunucusunda güvenlik ve ağ trafiği açısından en önemli kontrollerden biri hangi portların dinlendiğini tespit etmektir. Yetkisiz portlar üzerinden gelen bağlantılar, siber saldırılar veya istenmeyen servisler için açık kapı oluşturabilir. Bu yazıda netstat -tuln
komutunun nasıl çalıştığını ve nasıl yorumlanacağını açıklıyoruz.
netstat -tuln
Komutu Ne İşe Yarar?
netstat -tuln
Bu komut, sistemde dinleme (listening) modunda olan tüm TCP ve UDP portları listeler.
Parametre Açıklamaları:
-
-t
→ TCP bağlantılarını gösterir. -
-u
→ UDP bağlantılarını gösterir. -
-l
→ Sadece "listening" (dinlemede olan) bağlantıları listeler. -
-n
→ IP ve port bilgilerini doğrudan gösterir, DNS çözümlemesi yapmaz (hızlı çalışır).
Örnek Çıktı:
Proto Recv-Q Send-Q Local Address Foreign Address State
TCP 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
TCP 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
UDP 0 0 0.0.0.0:68 0.0.0.0:*
Satır Anlamları:
-
0.0.0.0:22
→ Tüm IP adreslerinden 22 numaralı port (SSH) erişime açık. -
127.0.0.1:3306
→ Yalnızca localhost'tan erişilebilen MySQL servisi. -
UDP
satırı → UDP 68 numaralı port (DHCP istemcisi gibi hizmetler).
Güvenlik Açısından Yorumlama
-
0.0.0.0
adresi: Tüm IP adreslerinden erişim anlamına gelir. Güvenlik duvarı ile sınırlanmalıdır. -
127.0.0.1
: Sadece localhost erişimine açık, dışardan bağlantı kabul etmez. -
Gereksiz açık portlar (örneğin: 10000, 3306, 6379 gibi) güvenlik açığı oluşturabilir.
Ekstra: Yalnızca TCP veya UDP Portları Listelemek
Sadece TCP:
netstat -tnl
Sadece UDP:
netstat -unl
Alternatif Komutlar (netstat yoksa)
-
ss -tuln
→ netstat yerine kullanılabilecek modern komuttur. -
lsof -i -P -n | grep LISTEN
→ Hangi servis hangi portu kullanıyor görebilirsiniz.
netstat -tuln
komutu, bir Linux sunucunun hangi portlarda dış dünyaya açık olduğunu hızlıca anlamanın etkili bir yoludur. Güvenliğinizi sağlamak için bu portları düzenli olarak kontrol etmeli, gereksiz açıkları kapatmalı ve firewall (örneğin: UFW, firewalld, iptables) ile erişimleri sınırlandırmalısınız.