26 Eylül 2026 - 01:41
Beklenmeyen Açık Portun Sahibi Nasıl Bulunur? Görseli
Linux

Beklenmeyen Açık Portun Sahibi Nasıl Bulunur?

Yorumlar

Port taramasında görünen beklenmeyen bir portu kapatmadan önce onu açan süreci ve dinleme kapsamını bulmak gerekir. Aynı port bir uygulama süreci, systemd socket birimi, container yönlendirmesi veya çekirdek özelliği tarafından açılmış olabilir. İncelemeyi soketten PID'ye, PID'den servis tanımına doğru ilerletin.

Portun gerçekten dinlemede olduğunu doğrulayın

BASH
sudo ss -lntup
sudo ss -lntp 'sport = :8080'
sudo ss -lnup 'sport = :5353'

-l dinleyen, -n sayısal, -t TCP, -u UDP ve -p süreç bilgisini gösterir. 127.0.0.1:8080 yalnızca yerelden, 0.0.0.0:8080 tüm IPv4 arayüzlerinden, [::]:8080 ise IPv6 üzerinden dinler. IPv6 soketinin IPv4 bağlantıları da kabul edip etmediği sistem ayarına bağlı olabilir.

İkinci araçla PID ve dosya tanıtıcısını doğrulayın

BASH
sudo lsof -nP -iTCP:8080 -sTCP:LISTEN
sudo lsof -nP -iUDP:5353

ss ile lsof aynı PID'yi gösteriyorsa sürece geçin. Çok kısa yaşayan süreçlerde kayıt iki komut arasında kaybolabilir; port yeniden açılıyorsa bir supervisor veya restart politikası devrede olabilir.

PID'nin çalıştırılabilir dosyasını ve komut satırını okuyun

BASH
PID=1102
ps -fp "$PID"
sudo readlink -f "/proc/$PID/exe"
sudo tr '\0' ' ' < "/proc/$PID/cmdline"
echo

ps içindeki kısa süreç adına güvenmeyin. /proc/PID/exe gerçek çalıştırılabilir dosyayı, cmdline başlangıç parametrelerini gösterir. Komut satırında parola veya token bulunabileceği için çıktıyı kayıt sistemine koymadan önce temizleyin.

Süreci systemd birimine bağlayın

BASH
sudo systemctl status "$PID" --no-pager
systemctl show example.service -p FragmentPath -p ExecStart -p Restart
systemctl cat example.service

Servis Restart=always ile çalışıyorsa yalnızca PID'yi sonlandırmak portu kalıcı kapatmaz; systemd yeni süreç başlatır. Değişiklikten önce servisin uygulama bağımlılığını, bakım etkisini ve geri dönüş komutunu belirleyin.

Systemd socket activation olasılığını kontrol edin

BASH
systemctl list-sockets --all
systemctl status example.socket --no-pager
systemctl cat example.socket

Socket activation kullanılan sistemlerde portu systemd açar ve bağlantı geldiğinde servis başlatılır. Bu durumda uygulama süreci sürekli görünmeyebilir. ListenStream veya ListenDatagram tanımını socket biriminde inceleyin.

Container ve ayrı ağ ad alanlarını unutmayın

BASH
sudo lsns -t net
docker ps --format 'table {{.ID}}\t{{.Names}}\t{{.Ports}}' 2>/dev/null
sudo nft list ruleset

Bir container portu host üzerinde proxy süreci veya NAT kuralıyla yayımlanabilir. Hostta görünen PID, uygulamanın kendisi olmayabilir. Container tanımındaki port eşlemesini ve hedef container içindeki dinleme adresini birlikte kontrol edin.

Dışarıdan erişilebilirliği ayrı ölçün

BASH
nc -vz 203.0.113.10 8080
sudo ufw status numbered

Bir soketin 0.0.0.0 üzerinde dinlemesi, internetten kesin erişilebilir olduğu anlamına gelmez; host firewall, bulut güvenlik grubu ve ağ ACL'si trafiği engelleyebilir. Tersi şekilde localhost dinlemesi de reverse proxy üzerinden dolaylı erişilebilir olabilir. Testi beklenen istemci ağından yapın.

Kapatma kararını hizmet seviyesinde verin

Port gereksizse önce ilgili uygulamayı kontrollü durdurun, ardından otomatik başlangıcı değerlendirin:

BASH
sudo systemctl stop example.service
sudo systemctl disable example.service
sudo ss -lntup
systemctl status example.service --no-pager

Bir paketi kaldırmak veya servisi maskelemek daha kalıcı ve etkili işlemlerdir; bağımlılıklar doğrulanmadan uygulanmamalıdır. Port gerekli fakat yanlış arayüzde dinliyorsa firewall eklemek yerine uygulamanın bind adresini yönetim veya localhost arayüzüyle sınırlandırmak daha doğru olabilir.

İnceleme tamamlandığında portun protokolü, dinleme adresi, sahibi, systemd veya container ilişkisi, dış erişim kapsamı ve iş gerekçesi belgelenmiş olmalıdır. Sahibi bilinmeyen bir porta rastgele allow ya da deny kuralı eklemek bu zincirin yerini tutmaz.

Teknik başvuru: systemd.socket ve systemctl kılavuzları.

Benzer Yazılar

Yorumlar ()

Henüz yorum yok. İlk yorum yapan sen ol!

Yorum Yap