Buyukweb
Ağ Güvenliği: Port Tarama, IDS/IPS ve Saldırı Tespiti — VDS Pratik Rehberi

Ağ Güvenliği: Port Tarama, IDS/IPS ve Saldırı Tespiti — VDS Pratik Rehberi

Nmap ile port tarama, Snort/Suricata IDS/IPS kurulumu, güvenlik duvarı kuralları ve ağ saldırı tespit sistemleri.

Büyükweb Editör EkibiHosting, Sunucu ve Sistem Yönetimi Editörü13 dakika okuma

Ağ Güvenliği: Port Tarama, IDS/IPS ve Saldırı Tespiti — VDS Pratik Rehberi

VDS aldınız, root SSH ile bağlandınız. İlk gün ne yapmalısınız? Çoğu sysadmin bu soruda kayıp gider: PHP kurar, web sunucusu çalıştırır, sayfayı görür — saldırı yüzeyini kapatmadan. Ağ güvenliği bir hafta sonu projesi değil; süreklidir. Bu rehberde port tarama araçları, IDS/IPS sistemleri, fail2ban ve CrowdSec ile çalışan komutları saha deneyimiyle paylaşıyoruz.

Buyukweb perspektifi: Buyukweb 17+ yıldır Bursa Tier 3 veri merkezinde VDS, hosting ve dedicated sunucu hizmeti veriyor. Tüm VDS paketlerimizde L3+L4+L7 DDoS koruması standart, fakat uygulama katmanı sıkılaştırması sizin sorumluluğunuzda — VDS'lerimiz unmanaged. Bu rehberdeki tüm komutlar Buyukweb E5-V4 VDS (₺250/ay başlangıç) üzerinde doğrudan çalışır. Destek hattı: 0850 302 60 70.

Yeni VDS İçin 7 Adımlı Sıkılaştırma

Canlıya almadan önce mutlaka yapın:

  1. Gereksiz portları kapatın — UFW/firewalld ile default deny incoming.
  2. fail2ban kurun — SSH brute force karşısında ilk savunma.
  3. SSH key auth zorunluPasswordAuthentication no sshd_config'de.
  4. Root SSH kapalı — standart kullanıcı + sudo.
  5. Otomatik güvenlik güncellemesiunattended-upgrades veya dnf-automatic.
  6. Log aggregation — rsyslog veya Wazuh manager.
  7. IDS/IPS — Suricata veya Snort 3.

Saldırı Türleri

Tür Tipik Araç Savunma Katmanı
Recon (Keşif) Nmap, Masscan, Shodan Firewall, scan tespiti
Brute Force Hydra, Medusa fail2ban, key auth, MFA
DDoS L3/L4 Botnet, amplification DDoS koruma (Buyukweb L3-L7)
DDoS L7 HTTP flood, slowloris WAF, rate limit
Web App sqlmap, custom payload WAF, ModSecurity
Data Exfiltration DNS tunneling Çıkış trafiği izleme

VDS senaryosunda çoğunlukla recon → brute force → web app sırası görülür.

Nmap ile Port Tarama

Nmap, ağ keşif standardı. Saldırganın size baktığını görmek için aynı aracı kendi sunucunuzda kullanın.

Etik: Nmap'i sadece sahip olduğunuz veya yazılı izinli sistemlerde çalıştırın. Yetkisiz tarama TCK 243-244 kapsamında suç olabilir.

# Kurulum
apt install nmap -y

# Hızlı (en yaygın 100 port)
nmap -F 192.0.2.10

# Tam port (1-65535)
nmap -p- 192.0.2.10

# TCP SYN — half-open, hızlı + sessiz
sudo nmap -sS 192.0.2.10

# UDP (DNS 53, NTP 123, SNMP 161)
sudo nmap -sU --top-ports 50 192.0.2.10

# Servis ve sürüm tespiti
nmap -sV 192.0.2.10
# Çıktı: 22/tcp open ssh OpenSSH 8.9

# OS tespiti
sudo nmap -O 192.0.2.10

# Tek-komut kapsamlı tarama
sudo nmap -sV -sC -O -p- -T4 192.0.2.10

open / closed / filtered: open aktif servis, closed host yanıt veriyor ama port kapalı, filtered firewall paketi düşürüyor. İdeal: kullanmadığınız her port filtered.

NSE (Nmap Scripting Engine)

/usr/share/nmap/scripts/ altında 600+ script var:

# Açık taraması
nmap --script vuln 192.0.2.10

# SSL/TLS analizi (zayıf cipher, eski TLS)
nmap --script ssl-enum-ciphers -p 443 192.0.2.10

# SSH şifreleme algoritmaları
nmap --script ssh2-enum-algos -p 22 192.0.2.10

# SMB açıkları
nmap --script smb-vuln* -p 445 192.0.2.10

Buyukweb ipucu: Yeni teslim edilen VDS'lere ilk 24 saat içinde küresel port taramaları gelir; bu normal. Önemli olan kendi VDS'inizi dışarıdan tarayıp neyin gözüktüğünü görmek. İkinci VDS'inizden nmap -sV -p- KENDI_IP ile saldırgan görüşünü alın.

Masscan: İnternet Ölçeği

Nmap titiz ama yavaş. Masscan asenkron mimarisiyle /0 subnet'i ortalama 6 dakikada tarar — Nmap TCP scan'inden ~1000x hızlı:

apt install masscan -y

# 100 portta saniyede 100K paket
masscan 10.0.0.0/16 -p 22,80,443 --rate=100000 -oG out.txt

Saha kullanımı: önce Masscan ile geniş tarama, sonra Nmap ile detay.

Saldırgan İlgili Portlar

Port Servis Risk Önlem
22 SSH Brute force Key auth, fail2ban, port değiştir
21 FTP Düz şifre SFTP/FTPS, FTP'yi kapat
23 Telnet Düz şifre KAPAT (SSH)
25 SMTP Open relay Auth + IP whitelist
80, 443 HTTP/S Web app WAF, rate limit
3306 MySQL Yetkisiz erişim Localhost veya whitelist
3389 RDP Brute force NLA, IP whitelist
6379 Redis Auth'suz default requirepass, bind 127.0.0.1
27017 MongoDB Eski sürümlerde auth yok Auth aktif, bind localhost
11211 Memcached Amplification DDoS bind 127.0.0.1, UDP kapat

Genel kural: Veritabanı portları asla 0.0.0.0 bind etmeyin. Localhost + uygulama sunucusu üzerinden erişim.

Sıkı Firewall: UFW + nftables

İlk savunma hattı sunucu içi firewall. Buyukweb ağ ucundaki DDoS koruması L3-L7 trafiği filtreler ama port düzeyi sıkılaştırması sizde.

# UFW (Ubuntu/Debian)
ufw --force reset
ufw default deny incoming
ufw default allow outgoing

ufw allow 2222/tcp comment 'SSH'
ufw allow 80/tcp
ufw allow 443/tcp

# Ofis subnet'inden MySQL
ufw allow from 198.51.100.0/24 to any port 3306

# SSH rate limit (6 bağlantı/30sn üzeri ban)
ufw limit 2222/tcp

ufw enable
ufw status verbose

İki Katman Mimarisi

[İnternet]
  ↓
[Cloudflare Proxy + WAF]    ← origin IP gizleme, L7
  ↓
[Buyukweb DDoS L3+L4+L7]    ← veri merkezi ucu
  ↓
[VDS UFW/nftables]          ← port + IP whitelist
  ↓
[Nginx + ModSecurity]
  ↓
[Veritabanı (localhost)]

Cloudflare ipucu: Domain'inizi Cloudflare arkasına aldıysanız, sunucu firewall'ında 80/443'ü sadece Cloudflare IP aralıklarına açın. Origin IP sızsa bile direkt erişim engellenir.

SSH Sıkılaştırma

# /etc/ssh/sshd_config
PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
AllowUsers myuser admin
Port 2222
X11Forwarding no
PermitEmptyPasswords no
LoginGraceTime 30
MaxAuthTries 3

sshd -t && systemctl restart sshd
# İstemci: Ed25519 anahtar
ssh-keygen -t ed25519 -C "user@laptop"
ssh-copy-id -p 2222 [email protected]

Buyukweb perspektifi: SSH'ı kapattıktan sonra kilitlenirseniz Buyukweb VDS'lerinde KVM altyapısı sayesinde my.buyukweb.com müşteri panelinden VNC konsolu açılır. Yine de kapatmadan önce ikinci bir oturum açık bırakın.

fail2ban: Klasik Brute Force Kalkanı

apt install fail2ban -y
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
# /etc/fail2ban/jail.local
[DEFAULT]
bantime  = 3600
findtime = 600
maxretry = 5
ignoreip = 127.0.0.1/8 198.51.100.5

[sshd]
enabled = true
port    = 2222
logpath = /var/log/auth.log
maxretry = 3
bantime  = 86400

[nginx-req-limit]
enabled  = true
filter   = nginx-req-limit
port     = http,https
logpath  = /var/log/nginx/error.log
findtime = 60
maxretry = 10

[recidive]
enabled  = true
bantime  = 604800
findtime = 86400
maxretry = 3
systemctl enable --now fail2ban
fail2ban-client status sshd
fail2ban-client set sshd unbanip 198.51.100.99

CrowdSec: Modern Topluluk Tabanlı Alternatif

CrowdSec, fail2ban'ın 2020 sonrası halefi. Ana farkı: paylaşımlı topluluk havuzu — saldırgan IP'si topluluk genelinde bilinir.

curl -s https://install.crowdsec.net | sudo sh
apt install crowdsec crowdsec-firewall-bouncer-nftables -y

cscli decisions list
cscli collections install crowdsecurity/sshd
cscli collections install crowdsecurity/nginx

fail2ban vs CrowdSec

Kriter fail2ban CrowdSec
Kurulum Çok kolay Kolay
Topluluk havuzu Yok Var
Çoklu sunucu sync Manuel Yerel API
Olgunluk 20+ yıl 4-5 yıl
Performans yoğun log Zorlanır Daha iyi

Tek sunucu klasik kurulum → fail2ban. Çoklu sunucu, yeni kurulum → CrowdSec.

IDS/IPS: Suricata

Firewall + fail2ban "girişi engeller"; IDS "ağda dolaşan tehdidi görür". IPS ise inline çalışıp paketi düşürür. Suricata multi-thread mimarisiyle Snort 2'ye göre 5-10x hızlı, eve.json log formatı modern SIEM'e doğrudan beslenir.

# Ubuntu (PPA)
add-apt-repository ppa:oisf/suricata-stable -y
apt update && apt install suricata -y

# AlmaLinux 9
dnf install epel-release -y && dnf install suricata -y

# Ücretsiz ETSI Open kural seti
suricata-update enable-source et/open
suricata-update
# /etc/suricata/suricata.yaml (kritik kısım)
vars:
  address-groups:
    HOME_NET: "[192.0.2.0/24]"
    EXTERNAL_NET: "!\$HOME_NET"

af-packet:
  - interface: eth0
    threads: auto

outputs:
  - eve-log:
      enabled: yes
      filename: /var/log/suricata/eve.json
      types: [alert, http, dns, tls, flow]
# IDS modu (passive)
suricata -c /etc/suricata/suricata.yaml -i eth0 -D

# IPS modu (inline NFQUEUE)
nft add rule inet filter input queue num 0 bypass
suricata --af-packet -c /etc/suricata/suricata.yaml -q 0 -D

# Log izle
tail -f /var/log/suricata/eve.json | jq 'select(.event_type=="alert")'

Özel Kurallar

# /etc/suricata/rules/local.rules

# SSH brute force (60sn'de 5+ başarısız)
alert tcp any any -> \$HOME_NET 22 (msg:"SSH Brute Force"; \
flow:to_server; threshold:type both,track by_src,count 5,seconds 60; \
sid:1000001;)

# Port scan (3sn'de 20+ SYN)
alert tcp any any -> \$HOME_NET any (msg:"Port Scan"; flags:S; \
threshold:type both,track by_src,count 20,seconds 3; sid:1000002;)

# Kuralları yeniden yükle
suricatasc -c reload-rules

Snort 3 vs Suricata

Özellik Snort 3 Suricata
Multi-thread Evet (yeni) Evet (tasarımdan)
Log formatı unified2, JSON eve.json
Ücretsiz kural Talos community ETSI Open
AlmaLinux 9 paket Manuel derleme EPEL hazır
Tipik VDS RAM 512MB-1GB 1-2GB

Yeni kurulum → Suricata. Eski Snort 2 kuralları büyük → Snort 3.

Host IDS: Wazuh ve Falco

Network IDS ağ trafiğini görür; host IDS sunucu içindeki dosya değişikliği, log anomalisi, rootkit'i yakalar.

# Wazuh manager (merkez)
curl -sO https://packages.wazuh.com/4.x/wazuh-install.sh
bash wazuh-install.sh -a

# Wazuh agent (izlenen sunucu)
WAZUH_MANAGER="manager-ip" apt install wazuh-agent -y
systemctl enable --now wazuh-agent

Wazuh kapsamı: FIM (file integrity), log analizi, rootkit tespiti, syscall denetimi (auditd), compliance raporları (PCI-DSS, NIST).

Buyukweb senaryo: 3+ VDS'iniz varsa bir tanesini Wazuh manager yapın (4 GB RAM önerilir), diğerlerine agent kurun. Buyukweb E5-V4 VDS orta paket (4 vCore, 8 GB RAM) manager için yeterli.

Sysdig Falco Docker/K8s runtime güvenliği için: kernel syscall'ları izleyip "container içinde shell açıldı", "/etc/shadow okundu" gibi runtime ihlallerini yakalar. AIDE klasik file integrity monitor; aideinit ile baseline al, cron ile günlük aide --check.

DDoS Önlemi

Buyukweb DDoS koruma kapsamı: Tüm VDS, hosting ve dedicated paketlerimizde L3 (paket), L4 (TCP/UDP) ve L7 (uygulama) koruma standart olarak veri merkezi ucunda çalışır. SYN flood, UDP flood, NTP/DNS amplification, HTTP flood, slowloris otomatik filtrelenir. Aşırı paket gönderen IP'ler ağ ucunda düşürülür.

İkinci katman: Cloudflare proxy (ücretsiz plan dahi yeterli) — origin IP gizleme, L7 WAF, anycast CDN, sınırsız mitigation.

# Nginx uygulama katmanı rate limit
limit_req_zone \$binary_remote_addr zone=login:10m rate=5r/m;

server {
  location /wp-login.php {
    limit_req zone=login burst=2 nodelay;
  }
}

WAF Katmanları

  1. Cloudflare WAF (front) — ücretsiz plan temel kurallar, Pro/Business OWASP CRS + custom
  2. ModSecurity + OWASP CRS — sunucu içi WAF (Apache/Nginx)
  3. Imunify360 — Buyukweb cPanel hosting paketlerinde standart olarak gelir; WAF + malware tarama + brute force koruması + reputation block. Ek yapılandırma gerekmez.

Saldırı Tespit Edildiğinde

# 1. Trafik dump
tcpdump -i eth0 -n -w /tmp/incident.pcap host 198.51.100.99 -G 60 -W 1

# 2. Hızlı IP block
ufw insert 1 deny from 198.51.100.99
nft add rule inet filter input ip saddr 198.51.100.99 drop
fail2ban-client set sshd banip 198.51.100.99
cscli decisions add --ip 198.51.100.99 --duration 24h

# 3. Aktif bağlantılar
ss -tunp
netstat -an | awk '{print \$5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -20

# 4. Log forensiği
journalctl -u ssh --since "1 hour ago" | grep "Failed password"
grep "198.51.100.99" /var/log/auth.log /var/log/nginx/access.log
find / -mmin -60 -type f 2>/dev/null | grep -v /proc | grep -v /sys

Sızma şüphesinde: my.buyukweb.com müşteri panelinden VDS snapshot oluşturun (Veeam altyapı), ip link set eth0 down ile sunucuyu izole edin (KVM konsoldan!), yeni VDS + temiz yedekten geri yükleme önerilir.

Compliance Kısa Notu

  • KVKK 12. madde: Sızma tespit edildikten sonra 72 saat içinde Kişisel Verileri Koruma Kurulu'na bildirim. kvkk.gov.tr üzerinden online form.
  • PCI-DSS: Kartlı ödeme almıyorsanız (gateway-only ise) SAQ-A yeterli; teknik denetim gerekmez.

Buyukweb veri sorumlusu olarak altyapı sağlar; uygulama içindeki kişisel veri için veri sorumlusu siz, Buyukweb veri işleyen rolünde. Bursa Tier 3 veri merkezimizde yedeklerin yurt dışına çıkışı yoktur.

Buyukweb Hizmetleri ile Eşleştirme

İhtiyaç Önerilen Paket
Tek site, WAF lazım cPanel Hosting (Imunify360 + ModSecurity dahil)
Custom Suricata + Wazuh E5-V4 VDS (₺250/ay başlangıç)
Wazuh manager merkez E5-V4 VDS orta-üst paket (4-8 GB RAM)
IDS lab nested VM Nested VDS (vt-x)
Tam donanım, IPMI Fiziksel Dedicated
Güvenli uzak erişim VPN paketleri (.ovpn)

Sıkça Sorulan Sorular

Snort 3 ile Suricata arasında hangisi?

Yeni kurulum, paketten hızlı kurulum, eve.json modern log formatı istiyorsanız Suricata. Eski Snort 2 kural setiniz büyükse veya Snort native sözdiziminde özel kuralınız varsa Snort 3. Performans 1-10 Gbps trafikte ikisi arasında belirgin fark yok.

fail2ban ve CrowdSec birlikte çalışır mı?

Evet ama birinin firewall action'ını yönetmesi gerekir. Yeni kurulumda CrowdSec yeterli; eski klasik filter'lar (Postfix gibi) için fail2ban'ı bırakabilirsiniz.

VDS'de Suricata ne kadar RAM tüketir?

1-100 Mbps trafik + ETSI Open kural seti için: 1 GB RAM dar yeterli, 2 GB konforlu, 4+ GB rahat (1 Gbps trafiğe kadar). Buyukweb E5-V4 başlangıç paketi 2 GB RAM ile gelir; orta seviye trafiğe uygun.

WAF sunucu önünde mi sunucuda mı?

İkisi birden ideal. Front (Cloudflare) çoğu trafiği eler; sunucuda (ModSecurity) uygulamaya özel kuralları çalıştırır. Tek tarafa güvenmeyin: Cloudflare bypass edilebilirse sunucu WAF kapalıysa savunma boşalır.

Cloudflare WAF tek başına yeterli mi?

Çoğu küçük site için evet ama: (1) origin IP gizli kalmalı (sunucu firewall sadece Cloudflare IP'leri), (2) ücretsiz plan sınırlı kuraldır — kritik uygulamada Pro/Business + custom rules. Hassas (finans, sağlık) uygulamada ikinci katman ModSecurity ekleyin.

Port 22'yi 2222'ye değiştirmek güvenlik mi?

Hayır, gürültü azaltmadır. Otomatik script'ler 22'ye saldırır; 2222'ye geçince log temizlenir. Hedefli saldırgan Nmap ile yeni portunuzu 30 saniyede bulur. Gerçek güvenlik: SSH key auth + fail2ban + AllowUsers. Port değiştirme bunların yerine değil, ek olarak.

Buyukweb DDoS koruması ne kapsıyor?

L3 (paket), L4 (TCP/UDP) ve L7 (uygulama) koruma. SYN flood, UDP flood, amplification, HTTP flood ve slowloris otomatik filtrelenir. Tüm VDS, hosting ve dedicated paketlerinde standart, ek ücret yok. Hedefli >100 Gbps saldırılarda destek hattı (0850 302 60 70) ile koordineli mitigation devreye girer.

Wazuh agent VDS performansını düşürür mü?

Wazuh agent tipik %2-5 CPU + 100-200 MB RAM kullanır; hissedilir performans etkisi yok. Manager tarafında log işleme yükü vardır — 3+ sunucu ölçeğinde ayrı manager VDS'i ideal.

IDS bana Telegram alert nasıl gönderir?

Hızlı çözüm: tail -F /var/log/suricata/eve.json | jq -c 'select(.event_type=="alert")' çıktısını bir bash döngüsüyle Telegram bot API'sine besleyin. Olgun çözüm: eve.json → Filebeat → ElastAlert veya Wazuh manager integration.

Sonuç

Ağ güvenliği tek araçla bitmez; çok katmanlı savunma prensibinde her katman bir öncekinin atlatabileceği saldırıyı yakalar:

  1. Veri merkezi ucu DDoS koruması (Buyukweb L3+L4+L7)
  2. Cloudflare proxy + WAF — origin gizleme + L7
  3. Sunucu firewall (UFW/nftables)
  4. SSH key auth + fail2ban/CrowdSec
  5. Suricata/Snort IDS — ağ trafiği anomali
  6. Wazuh/Falco — host FIM + log
  7. ModSecurity/Imunify360 — uygulama WAF
  8. Düzenli denetim (Nmap, Lynis, OpenVAS)

Buyukweb VDS paketleri (E5-V4 ₺250/ay başlangıç) bu altyapıyı kurmak için kaynak ve L3-L7 DDoS koruması ile güvenli başlangıç sağlar. Sorularınız için Buyukweb 7/24 Türkçe destek hattı: 0850 302 60 70.


İlgili Büyükweb Hizmetleri

Ağ güvenliği ve sunucu sıkılaştırma ihtiyaçlarınız için Türkiye lokasyonlu Büyükweb hizmetleri:

Sorularınız için 0850 302 60 70 numaralı destek hattımıza veya iletişim sayfamıza yazabilirsiniz.

Ağ & Network İlgili Hizmetlerimiz

Bu yazıda anlatılan teknik konuyu profesyonel altyapıyla deneyimleyin

Etiketler:

#ağ güvenliği#nmap#suricata#ids/ips#port tarama#fail2ban

Bu yazıyı paylaş