Bloga dön
Ocak 19, 2026Rehberler

VPS'inizi DDoS Saldırılarından Nasıl Korursunuz: Pratik Rehber

Güvenlik duvarları, hız sınırlama ve diğer kanıtlanmış yöntemler kullanarak VPS'inizi DDoS saldırılarından korumaya dair kapsamlı rehber.

VPS'inizi DDoS Saldırılarından Nasıl Korursunuz: Pratik Rehber

DDoS saldırıları (Dağıtılmış Hizmet Reddi) sunucunuzu dakikalar içinde çevrimdışı bırakabilir, bu da gelir kaybı, müşteri memnuniyetsizliği ve itibar hasarına yol açar. 2026'da bu tür saldırılar daha sofistike ve erişilebilir hale geldi. Neyse ki, modern koruma yöntemleri de gelişti. Bu rehber, Hiddence VPS'inizi en yaygın DDoS saldırı türlerinden nasıl koruyacağınızı gösterecektir.

DDoS Saldırısı Nedir?

Bir DDoS saldırısı, birden fazla bilgisayarın (botnet) aynı anda sunucunuza istek göndererek kaynaklarını bunaltması ve meşru kullanıcılar için kullanılamaz hale getirmesi durumunda meydana gelir.

Ana DDoS Saldırı Türleri

  • Hacimsel Saldırılar (L3/L4): UDP flood, ICMP, SYN flood — ağ bant genişliğini bunaltır
  • Uygulama Katmanı Saldırıları (L7): HTTP flood, Slowloris — uygulama katmanını hedefler
  • Protokol Saldırıları: Ağ protokollerindeki güvenlik açıklarını istismar eder

Yerleşik Hiddence Koruması

Tüm Hiddence VPS'ler temel Katman 3-4 DDoS koruması (ağ seviyesi) içerir. Bu otomatik olarak çoğu hacimsel saldırıyı filtreler. Ancak, Katman 7 (uygulama) saldırıları ek yapılandırma gerektirir.

Adım 1: Güvenlik Duvarı Kurulumu

İlk savunma hattı uygun güvenlik duvarı yapılandırmasıdır. UFW (Uncomplicated Firewall), Ubuntu/Debian için basit ve etkili bir araçtır.

bash
# UFW'yi kurun
sudo apt update && sudo apt install ufw -y

# SSH'a izin verin (ÖNEMLİ! UFW'yi etkinleştirmeden önce bunu yapın)
sudo ufw allow 22/tcp

# HTTP ve HTTPS'e izin verin
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# UFW'yi etkinleştirin
sudo ufw enable

# Durumu kontrol edin
sudo ufw status verbose

# Gelişmiş koruma kuralları:
# SSH bağlantılarını sınırlayın (kaba kuvvet koruması)
sudo ufw limit 22/tcp

# ICMP ping flood'larını engelleyin
sudo nano /etc/ufw/before.rules
# *filter'dan sonra ekleyin:
-A ufw-before-input -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP

# SYN flood'a karşı koruma
sudo nano /etc/sysctl.conf
# Ekleyin:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5

# Değişiklikleri uygulayın
sudo sysctl -p

Adım 2: Fail2Ban Kurun

Fail2Ban, şüpheli aktivite gösteren IP adreslerini (birden fazla başarısız giriş denemesi, port tarama) otomatik olarak engeller.

bash
# Kurun
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

# SSH ve HTTP koruması için yapılandırma
# Yerel yapılandırma oluşturun
sudo nano /etc/fail2ban/jail.local

# Ekleyin:
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5
banaction = ufw

[sshd]
enabled = true
port = 22
logpath = /var/log/auth.log

[nginx-http-auth]
enabled = true
filter = nginx-http-auth
port = http,https
logpath = /var/log/nginx/error.log

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

# Fail2Ban'ı yeniden başlatın
sudo systemctl restart fail2ban

# Durumu kontrol edin
sudo fail2ban-client status

Adım 3: Nginx Koruması

Nginx kullanıyorsanız, HTTP flood saldırılarına karşı korumak için hız sınırlamayı yapılandırın.

bash
sudo nano /etc/nginx/nginx.conf

# http bloğuna ekleyin:
http {
    # İstek limiti: IP başına saniyede 10 istek
    limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
    
    # Bağlantı limiti
    limit_conn_zone $binary_remote_addr zone=addr:10m;
    
    # Slowloris koruması
    client_body_timeout 10s;
    client_header_timeout 10s;
    keepalive_timeout 5s 5s;
    send_timeout 10s;
    
    # Geri kalan yapılandırma...
}

# server bloğuna ekleyin:
server {
    location / {
        # İstek limitini uygula
        limit_req zone=one burst=20 nodelay;
        
        # Bağlantı limiti: IP başına maksimum 10
        limit_conn addr 10;
        
        # Yapılandırmanız...
    }
}

# Yapılandırmayı test edin ve yeniden yükleyin
sudo nginx -t
sudo systemctl reload nginx

Adım 4: CDN Kullanın

Maksimum koruma için Cloudflare gibi bir CDN servisi kullanın. CDN bir proxy görevi görür, sunucunuzun gerçek IP'sini gizler ve çoğu DDoS saldırısını emer. Avantajlar: gerçek IP'yi gizle, otomatik kötü amaçlı trafik filtreleme, yük dağıtımı, ücretsiz SSL/TLS, L7 koruması için WAF.

  • cloudflare.com'da kaydolun (ücretsiz plan mevcuttur)
  • Alan adınızı ekleyin ve kayıt şirketinizde NS kayıtlarını değiştirin
  • DNS kayıtları için 'Proxy' modunu (turuncu bulut) etkinleştirin
  • SSL/TLS bölümünde SSL modunu 'Full (strict)' olarak ayarlayın
  • Güvenlik ayarlarında 'DDoS Protection' ve 'Bot Fight Mode'u etkinleştirin

Adım 5: İzleme

Düzenli izleme saldırıları erken tespit etmeye yardımcı olur.

bash
# Aktif bağlantıları izleyin
watch -n 1 'ss -s'

# Bağlantı sayısına göre en üst IP'leri görüntüleyin
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

# Günlükleri gerçek zamanlı görüntüleyin
sudo tail -f /var/log/nginx/access.log
sudo journalctl -u nginx -f

# Fail2Ban'da engellenen IP'leri kontrol edin
sudo fail2ban-client status sshd

Acil Önlemler

Bir saldırı zaten devam ediyorsa, aşağıdaki önlemleri alın:

  • Kaynağı belirleyin: Saldıran IP'leri belirlemek için 'netstat' veya günlükleri kullanın
  • Geçici engelleme: sudo ufw insert 1 deny from SALDIRAN_IP
  • Tüm alt ağları engelleyin: sudo ufw deny from 123.45.0.0/16
  • Hız limitini sınırlayın: Nginx limitlerini geçici olarak 1-5 req/s'ye düşürün
  • Destek ile iletişime geçin: Gelişmiş koruma aktivasyonu için Hiddence desteğine ulaşın
  • Cloudflare'de 'Under Attack Mode'u etkinleştirin (kullanıyorsanız)

En İyi Uygulamalar

  • CDN kullanıyorsanız sunucunuzun gerçek IP'sini asla yayınlamayın
  • Sistemi düzenli olarak güncelleyin: sudo apt update && sudo apt upgrade
  • Sunucu erişimi için şifreler yerine SSH anahtarları kullanın
  • Varsayılan SSH portunu (22) standart olmayan bir portla değiştirin
  • Hızlı kurtarma için otomatik yedeklemeler ayarlayın
  • Kritik servisler için ayrı IP'ler kullanın
  • Günlük kaydını etkinleştirin ve şüpheli aktivite için günlükleri düzenli olarak kontrol edin
  • Servisiniz küresel değilse coğrafi engelleme kullanmayı düşünün