Port Scanning Nasıl Tespit Edilir?

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.10

Open 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 -tunap

IP adresine göre bağlantı sayısını listelemek için:

ss -tunap | awk '{print $6}' | cut -d: -f1 | sort | uniq -c | sort -nr

Eğ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 BLOCK

iptables kullanıyorsak

grep "DROP" /var/log/syslog

Aynı 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 DROP

Daha 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 fail2ban

Banlanan 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 sshd

Detaylı 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 eth0

SIEM Ü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 DROP

Bu yapı sistem yeniden başlasa bile kalıcıdır.

Yorum yapın