Port scanning işlemi, bir sunucunun dışa açık kapılarını keşfetmek amacıyla yapılan ön tarama sürecidir. Saldırgan ilk olarak hangi portların erişilebilir olduğunu belirler, daha sonra asıl saldırı sürecine geçiş yapar. Bu nedenle port taraması genellikle yaklaşan saldırının habercisi olarak kabul edilir. Erken tespit edildiğinde ciddi zararların önüne geçmek mümkündür.
Bu içerikte port taramasının canlı trafik üzerinden, firewall kayıtlarından, Fail2Ban loglarından, IDS sistemlerinden ve web sunucu günlüklerinden nasıl tespit edilebileceğine detaylı şekilde değineceğiz.
Port taraması sırasında aynı IP adresinden çok kısa sürede çok sayıda porta erişim denemesi yapılması en belirgin işaretlerden biridir. Bu istekler genellikle bağlantı kurulmadan SYN aşamasında sonlanır. Firewall tarafında art arda farklı portlara yönelik engelleme kayıtları görülürken, web sunucu günlüklerinde yönetim sayfalarına yapılan deneme sayısında gözle görülür bir artış oluşur.
Nmap Üzerinden Port Taraması Nasıl Anlaşılır
Port taramasını saldırgan tarafı genelde Nmap ile yapar.
nmap -sS -Pn 192.168.1.10Open ibaresi portun erişime açık olduğunu, closed erişimin kapalı olduğunu, filtered ise portun firewall tarafından korunuyor olduğunu gösterir. Saldırgan bu tabloya göre hedefini seçer.


Nmap’in Linux ve Windows ortamlarına nasıl kurulacağına ilişkin ayrıntılı anlatımı, yazının ekinde yer alan rehber üzerinden inceleyebilirsiniz.
tcpdump ile Anlık Port Tarama Tespiti
Gerçek zamanlı paket takibi, sunucuya yönelik port taramalarını en erken aşamada fark etmeyi mümkün kılar. Bu sayede tarama trafiği henüz firewall tarafından işlenmeden önce doğrudan izlenebilir.
tcpdump -nn -i eth0 'tcp[tcpflags] == tcp-syn'- Aynı IP
- Art arda
- Farklı portlara
SYN paketleri gönderiyorsa bu aktif port taramasıdır.

ss Komutu ile Port Denemelerinin Anlık İzlenmesi
Sunucuya gelen bağlantıların tek bir IP üzerinden yoğunlaşıp yoğunlaşmadığını tespit etmek için ss komutu doğrudan kullanılabilir. Aktif bağlantıları görüntülemek için:
ss -tunapIP adresine göre bağlantı sayısını listelemek için:
ss -tunap | awk '{print $6}' | cut -d: -f1 | sort | uniq -c | sort -nrEğer tek bir IP çok kısa sürede onlarca bağlantı kuruyorsa bu durum çoğunlukla bir port taramasının göstergesidir.
Firewall Logları Üzerinden Port Taraması Tespiti
UFW kullanıyorsak
cat /var/log/ufw.log | grep BLOCKiptables kullanıyorsak
grep "DROP" /var/log/syslogAynı IP arka arkaya farklı portlara düşüyorsa bu klasik keşif taramasıdır.
iptables ile Otomatik Port Taraması Engelleme
Kısa süre içinde aynı IP adresinden çok sayıda porta bağlantı denemesi yapılması genellikle port taramasına işaret eder. Bu tür girişimleri otomatik olarak engellemek için connlimit modülü kullanılabilir. Aşağıdaki kural, eş zamanlı bağlantı sayısı 10’un üzerine çıkan IP’leri otomatik olarak düşürür:
iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 10 -j DROPDaha agresif bir koruma için recent modülü kullanılabilir. Bu yapı, belirli süre içinde çok fazla deneme yapan IP’leri kara listeye alır:
iptables -A INPUT -p tcp --dport 1:65535 -m recent --name portscan --set
iptables -A INPUT -p tcp --dport 1:65535 -m recent --name portscan --update --seconds 60 --hitcou

Bu yapı sayesinde tarama yapan IP otomatik olarak banlanır.
Fail2Ban ile Otomatik Banlama
Fail2Ban servis durumunu kontrol edelim.
systemctl status fail2banBanlanan IP’leri görmek için bu komutu yazalım. Fail2Ban özellikle SSH, panel ve mail servisleri için çok etkilidir.
fail2ban-client status<br>fail2ban-client status sshdDetaylı kural adımlarını öğrenmek için –Apache Exim Ve Vsftpd İçin Regex Tabanlı IP Engelleme
Snort ile IDS Üzerinden Port Scan Alarmı Üretme
Snort port taramalarını reconnaissance attack olarak algılar. Nmap çalıştırıldığında anlık alarm verir.
snort -A console -c /etc/snort/snort.conf -i eth0SIEM Üzerinden Port Taramasının Grafiksel Takibi
Wazuh, Elastic gibi sistemlerde taramalar ani spike şeklinde görünür. Bu grafikler güvenlik ekiplerinin saldırıyı saniyeler içinde fark etmesini sağlar.


Web Sunucu Loglarında Servis Taraması
Apache için
cat /var/log/apache2/access.log | grep -E "wp-admin|phpmyadmin|\.env"Nginx için
cat /var/log/nginx/access.log | grep -E "wp-admin|phpmyadmin|\.env"Sık Sorulan Sorular
Gelen taramanın TCP mi UDP mi olduğu nasıl anlaşılır?
TCP tabanlı taramalarda SYN ve ACK bayraklı yarım bağlantı denemeleri görülür. UDP taramalarında ise genellikle hedef port kapalıysa ICMP “Port Unreachable” dönüşleri oluşur. Trafik tcpdump tcp ve tcpdump udp filtreleriyle net şekilde ayrıştırılabilir.
Dağıtık port taraması nasıl fark edilir?
Dağıtık taramalarda tek bir IP yerine çok sayıda farklı ASN üzerinden düşük hacimli denemeler yapılır. Bu nedenle klasik firewall eşikleri aşılmaz. Tespit için zaman aralığında hedeflenen toplam port sayısı ve kaynak ağ çeşitliliği birlikte analiz edilir. SIEM tarafında “unique destination port count per time window” metriği kullanılır.
nftables ortamında port taraması nasıl izlenir?
nftables üzerinde limit rate ve meter objeleri birlikte kullanılarak her kaynak IP’nin kısa sürede kaç farklı hedef porta dokunduğu ölçülür ve anormal davranışlar otomatik olarak tespit edilir.
Port taraması yapan IP kalıcı olarak nasıl banlanır?
ipset ile blacklist oluşturulur ve iptables bu listeyi kernel seviyesinde engeller:
ipset create blacklist hash:ip
ipset add blacklist 1.2.3.4
iptables -A INPUT -m set --match-set blacklist src -j DROPBu yapı sistem yeniden başlasa bile kalıcıdır.