Komutları üretim sunucusunda çalıştırmadan önce yedek alın ve mümkünse bir test ortamında deneyin. Yönetim erişiminizi (SSH, panel) kaybetmemek için ayar değişikliklerinde açık bir ikinci oturum bulundurun.
Bu rehberde ne yapacağız?
Oyun sunucuları, hizmet kesintisinin doğrudan oyuncuya yansıdığı hedefler olduğu için sık DDoS saldırısı alır. Saldırı sırasında panikle rastgele komutlar çalıştırmak çoğu zaman zaman kaybettirir. Bu rehberde DDoS olay yönetimini ilk 30 dakikaya bölünmüş sakin bir akışla ele alıyoruz: saldırıyı doğrulama, kanıt toplama, sağlayıcı ve ağ tarafı koruma ile iletişim, sunucu üzerinde geçici hafifletme, oyuncuları bilgilendirme ve sonraki iyileştirmeler.
Önemli bir gerçekle başlayalım: hacimsel (bant genişliğini doldurmaya yönelik) saldırıları sunucunun kendisi durduramaz, çünkü trafik sunucuya ulaşmadan hat dolmuş olur. Gerçek hafifletme yukarı akışta, sağlayıcının veya DDoS koruma hizmetinin ağında yapılır. Sunucu üzerindeki adımlar yalnızca küçük ve uygulama katmanına yakın saldırıları azaltmaya ve kanıt toplamaya yardımcı olur; saldırıyı tamamen engellemeyi vaat etmez. Rehberi okumak yaklaşık 15 dakika, uygulamak olayın şiddetine göre değişir.
Gereksinimler
- Sunucuya sudo ile SSH erişimi (saldırı sırasında erişim yavaş olabilir, bu yüzden önceden hazırlıklı olun)
- Sağlayıcınızın acil durum destek kanalı, telefon numarası ve DDoS koruma hizmetinin işleyiş bilgisi
- Oyunun kullandığı port ve protokollerin güncel listesi
- tcpdump ve temel ağ araçlarının önceden kurulu olması
- Oyuncu bilgilendirmesi için bir duyuru kanalı (durum sayfası, topluluk kanalı vb.)
Adım adım DDoS olay yönetimi: ilk 30 dakika
1. Dakika 0-5: Saldırıyı doğrulayın
Oyuncu şikayeti ile başlayan her şey saldırı değildir. Önce sunucunun kendi sağlığına ve ağ trafiğine bakın:
uptime
ss -s
sar -n DEV 1 5
sudo journalctl -u oyunsunucu -n 30 --no-pagerOyun sürecinin CPU’sunu da kontrol edin. Gelen bant genişliğinde olağan dışı artış (sar çıktısındaki rxkB/s) ve oyuncu sayısıyla orantısız paket oranı saldırı belirtisidir. Yalnızca CPU yüksekse ve ağ normalse sorun saldırı değil, eklenti ya da oyun içi bir döngü olabilir.
2. Dakika 5-10: Kanıt toplayın
Saldırının türünü anlamak, sağlayıcıyla konuşmanızı hızlandırır. Kısa bir örnek paket yakalayın ve kaynak dağılımına bakın. Yakalama dosyası kişisel veri içerebileceği için izni kısıtlayın.
umask 077
sudo tcpdump -nn -Z root -i <ARABIRIM> -c 5000 -w /root/ddos-ornek.pcap udp
sudo tcpdump -nn -r /root/ddos-ornek.pcap | awk '{print $3}' | sed 's/\.[0-9]*$//' | sort | uniq -c | sort -rn | head -20Çıktıda tek bir kaynaktan yüzlerce paket mi, yoksa çok sayıda farklı adresten az paket mi geldiğine bakın. Kaynak adresler sahte (spoofed) olabilir; bu yüzden tek tek engellemek çoğu zaman anlamsızdır. Protokol, hedef port, paket boyutu ve yaklaşık paket oranını not alın. -Z root, tcpdump’ın yetki düşürüp /root altına yazamamasını önler.
3. Dakika 10-15: Sağlayıcıyı ve ağ tarafı korumayı devreye alın
Bu olayın en önemli adımıdır. Sağlayıcınızın acil destek kanalını arayın veya açın ve şu bilgileri verin: hedef IP adresi, başlangıç zamanı, tahmini trafik hacmi, protokol/port ve topladığınız örnek. Sağlayıcının DDoS filtreleme hizmeti varsa etkinleştirmesini veya profilinizi oyun trafiğine göre ayarlamasını isteyin. Hizmetiniz yoksa geçici olarak hedef IP için yukarı akışta trafik engelleme (blackhole) uygulanabilir; bu, saldırıyı kesmekle birlikte IP’nin tüm trafiğini de düşürdüğünü, yani oyuncular için de kesinti anlamına geldiğini unutmayın.
Alternatif olarak sunucuyu geçici bir IP adresine taşımak, oyun trafiğini bir koruma sağlayıcısının ağından geçirmek veya kısa süreli bakım moduna almak gibi yolları sağlayıcıyla birlikte değerlendirin. Hangisinin uygun olduğu saldırının türüne ve sözleşmenize bağlıdır.
4. Dakika 15-20: Sunucuda geçici hafifletme uygulayın
Küçük ve bilinen bir desen varsa (örneğin yalnızca oyun portuna gelen UDP seli) sunucuda geçici bir hız sınırı kural seti uygulayabilirsiniz. Bu kural, sınırı aşan trafiği ayırt etmeden düşürdüğü için meşru oyuncuları da etkileyebilir; bu yüzden geçici ve izlenen bir önlem olarak kullanın. 27015 yerine kendi oyun portunuzu yazın.
sudo nft add table inet ddos_gecici
sudo nft add chain inet ddos_gecici girdi '{ type filter hook input priority -10; policy accept; }'
sudo nft add rule inet ddos_gecici girdi udp dport 27015 limit rate over 20000/second dropSınır değerini normal trafiğinizin bilinen üst sınırına göre belirleyin; yukarıdaki sayı örnektir. Kuralı kaldırmak için tüm geçici tabloyu silin:
sudo nft delete table inet ddos_geciciSunucuda yapılan bu işlem hat doluysa etkisizdir. Önce sağlayıcı tarafını devreye aldığınızdan emin olun. Ayrıca yönetim erişiminizi (SSH) kısıtlamayan kurallar yazdığınızı doğrulayın ve açık bir ikinci oturum tutun.
5. Dakika 20-25: Oyuncuları bilgilendirin
Sessizlik söylentiyi büyütür. Kısa ve dürüst bir duyuru yayımlayın: sorunun farkında olduğunuzu, üzerinde çalıştığınızı ve gelişmeleri nereden paylaşacağınızı belirtin. Kesinlik gerektiren vaatlerden (örneğin şu saatte düzelir) kaçının; bilmediğiniz süreyi yazmayın. Saldırının ayrıntılarını (IP, mimari) herkese açık paylaşmayın.
6. Dakika 25-30: Durumu izleyin ve kayıt tutun
Hafifletmenin etkisini izleyin ve bir olay zaman çizelgesi tutun: ne zaman başladı, kime ne zaman haber verildi, hangi önlem ne zaman uygulandı, trafik nasıl değişti.
sar -n DEV 5
ss -sTrafik düşüp oyun metrikleri normale dönüyorsa geçici kurallarınızı hemen kaldırmayın; sağlayıcının onayını ve durulmayı bekleyin. Saldırılar dalgalar halinde gelebilir.
Doğrulama
Olayın kontrol altında olduğunu şu göstergelerle doğrulayın:
sar -n DEV 1 5
ss -s
ping -c 20 <OYUNCU_VEYA_DIS_NOKTA_IP>
sudo systemctl is-active oyunsunucuBeklenen sonuç: gelen trafik normal seviyeye yaklaşmış, ping kaybı düşük, oyun servisi active ve oyunculardan başarılı bağlantı geri bildirimi. Bu gösterge tek başına saldırının bittiğini kanıtlamaz; birkaç saat boyunca izlemeye devam edin.
Sık karşılaşılan sorunlar
- Sunucuya SSH ile bağlanılamıyor: Hat dolmuş olabilir. Sağlayıcının konsol veya kurtarma erişimini kullanın ve bu erişimi önceden öğrenin.
- Kaynak IP’leri tek tek engelledim ama saldırı sürüyor: Adresler sahte veya çok sayıda olabilir. Engelleme yerine sağlayıcıdaki filtrelemeye odaklanın.
- Hız sınırı kuralı meşru oyuncuları da düşürüyor: Sınırı yükseltin ya da kuralı kaldırın; kural ancak geçici bir önlemdir.
- Sağlayıcı yanıt vermiyor: Acil destek kanalını ve varsa telefon numarasını kullanın; yazışmalarda zaman damgalı kanıtları sunun.
- Saldırı bittikten sonra sunucu hâlâ yavaş: Bağlantı tablosu dolmuş veya oyun süreci takılmış olabilir; servisi kontrollü yeniden başlatın.
Güvenlik ve bakım notları
- Olay öncesinde sağlayıcının DDoS koruma kapsamını, eşik değerlerini ve iletişim sürecini öğrenin; saldırı anında öğrenmek zaman kaybettirir.
- Oyun sunucusunun gerçek IP adresini yönetim araçları, DNS kayıtları ve e-postalarda gereksiz açığa çıkarmayın.
- Yönetim servislerini (SSH, panel, RCON) yalnızca belirli IP’lere veya VPN’e açın.
- Olay sonrası kısa bir değerlendirme yapın: tespit süresi, iletişim süresi, neyin işe yaradığı ve yapılacak iyileştirmeler.
- Saldırı tekrarına karşı izleme ve alarm kurun; trafik eşiği aşıldığında ekibe otomatik bildirim gitsin.
- Gerekirse hukuki süreç için topladığınız kayıtları kısıtlı izinle ve saldırı zamanlarıyla birlikte saklayın.
Sık sorulan sorular
Sunucudaki güvenlik duvarı DDoS saldırısını tamamen engeller mi?
Hayır. Sunucu güvenlik duvarı küçük ve belirgin desenli trafiği azaltabilir, ancak hat dolduran hacimsel saldırılar sunucuya ulaşmadan etkisini gösterir. Bu nedenle sağlayıcı veya özel DDoS koruma hizmeti gibi ağ tarafı koruma gerekir.
Saldırı sırasında sunucuyu kapatmalı mıyım?
Her zaman gerekmez. Kapatmak oyuncular için kesinti demektir ve saldırı genellikle IP adresine yöneldiği için sürer. Sağlayıcıyla birlikte geçici IP değişikliği veya filtreleme gibi seçenekleri değerlendirmek daha doğrudur.
Saldırgan kim, tespit edebilir miyim?
Kaynak adresler çoğunlukla sahte veya ele geçirilmiş cihazlardır; bu yüzden saldırganı kendi başınıza belirlemek zordur. Elinizdeki kanıtları saklayın ve gerekirse sağlayıcı ile resmî mercilere iletin.
İlgili sözlük terimleri
Bu kategorideki diğer rehberler
- Pterodactyl oyun sunucusu paneli güvenliğiPterodactyl oyun sunucusu panelini genel ilkelerle güvenli hale getirin: HTTPS, iki adımlı doğrulama, Wings port kısıtlaması, yedekleme, güncelleme ve yetki ayrımı.
- Oyun sunucusunda gecikme ve performans izlemeOyun sunucusunda CPU, bellek, ağ ve paket kaybını Linux araçlarıyla izleyin; tick veya FPS düşüşlerini ve gecikme artışlarını sistem metrikleriyle ilişkilendirmeyi öğrenin.
- SteamCMD ile Linux’ta oyun sunucusu kurulumuSteamCMD ile Linux üzerinde ayrıcalıksız bir kullanıcıyla oyun sunucusu kurun; güncellemeyi otomatikleştirin, systemd servisi tanımlayın ve yalnızca gereken portları açın.
- RCON ve yönetim erişimini güvene almaRCON ve diğer uzaktan yönetim arayüzlerini internete açmadan kullanmak için güçlü parola, güvenlik duvarı ve SSH tüneli yapılandırmasını adım adım uygulayın.