Minecraft sunucusu için DDoS koruması, iki farklı katmanda ele alınması gereken bir konudur: hattı dolduran hacimsel saldırılar sağlayıcı seviyesinde filtrelenir, sunucuyu meşgul eden uygulama katmanı saldırıları ise sunucu yapılandırması ve eklentilerle engellenir. Bu ikisini karıştırmak, saatlerce yanlış yerde çözüm aramaya yol açar.
Minecraft sunucuları saldırıların sık hedefidir. Sebebi teknik değil sosyaldir: rakip sunucular, banlanmış oyuncular ve ucuz kiralık saldırı servisleri bir araya gelir. İyi haber şu ki bu saldırıların büyük çoğunluğu küçük ölçeklidir ve doğru yapılandırılmış bir altyapı bunları fark ettirmeden savuşturur.
Saldırı Türlerini Ayırt Etmek#
Doğru müdahale, doğru teşhisle başlar. Minecraft sunucularına yönelik saldırılar üç ana grupta toplanır.
| Tür | Nasıl çalışır | Belirti | Kim durdurur |
|---|---|---|---|
| Hacimsel (UDP/ICMP flood) | Hattı doldurur | Sunucu tamamen erişilemez | Sağlayıcı filtresi |
| Amplifikasyon (DNS, NTP, memcached) | Küçük istekle büyük yanıt üretir | Ani ve çok yüksek trafik | Sağlayıcı filtresi |
| TCP SYN flood | Yarım açık bağlantı biriktirir | Yeni bağlantı kabul edilmiyor | Sağlayıcı + işletim sistemi |
| Bot join saldırısı | Sahte istemciler bağlanır | Oyuncu listesi doluyor, TPS düşüyor | Sunucu yapılandırması |
| Ping / status spam | Durum sorgusu bombardımanı | Sunucu listesi yanıtı yavaşlıyor | Sunucu yapılandırması |
| Paket istismarı | Bozuk veya aşırı paket gönderimi | Sunucu çöküyor veya donuyor | Paper packet-limiter |
Ayırt etmenin pratik yolu: sunucuya SSH veya RDP ile erişebiliyor musunuz? Erişebiliyorsanız hat açıktır, sorun uygulama katmanındadır. Erişemiyorsanız hat doludur, hacimsel bir saldırı vardır.
Hacimsel Saldırılar: Sağlayıcı Katmanı#
Burada acı ama net bir gerçek var: hattınıza 40 Gbit’lik trafik geliyorsa, sunucunuzun içinde yapacağınız hiçbir ayar bunu durdurmaz. Paket sunucuya ulaşmadan önce, üst katmanda filtrelenmelidir.
Bu yüzden sunucu sağlayıcısı seçerken DDoS filtresi bir yan özellik değil, temel gerekliliktir. Kontrol edeceğiniz noktalar:
- Filtre kapasitesi
- Kaç Gbit’e kadar temizleme yapılabildiği. Minecraft sunucularına yönelik saldırıların çoğu 10 Gbit altındadır.
- Otomatik devreye girme
- Saldırı algılandığında filtrenin manuel müdahale beklemeden çalışması.
- Oyun protokolü farkındalığı
- Genel filtreler bazen meşru Minecraft trafiğini de keser. Oyun trafiğini tanıyan profiller tercih edilmelidir.
- Filtre gecikmesi
- Agresif profiller pakete gecikme ekleyebilir. Saldırı yokken normal profile dönülmesi önemlidir.
Batihost’un sunucu paketlerinde DDoS filtresi altyapı seviyesinde çalışır ve ek ücret gerektirmez. Sağlayıcı seçerken nelere bakılacağını sunucu kiralama rehberimizde ayrıntılı ele alıyoruz.
Uygulama Katmanı: Bot Join Saldırıları#
Bot saldırıları hacimsel saldırılardan daha sinsidir çünkü trafik hacmi düşüktür ve genel filtreler bunları meşru trafik sanar. Saldırgan yüzlerce sahte istemciyle sunucuya arka arkaya bağlanır; her bağlantı sunucuda kimlik doğrulama, oyuncu verisi yükleme ve chunk gönderme işlemi tetikler.
Sonuç: TPS düşer, gerçek oyuncular giremez, sunucu listesi dolu görünür.
Paper packet-limiter#
İlk savunma hattı Paper’ın yerleşik paket sınırlayıcısıdır. config/paper-global.yml dosyasında bulunur.
packet-limiter:
all-packets:
action: KICK
interval: 7.0
max-packet-rate: 500.0
kick-message: "&cCok fazla paket gonderildi."
overrides:
ServerboundPlaceRecipePacket:
action: DROP
interval: 4.0
max-packet-rate: 5.0
Bu ayar, belirlenen sürede belirlenen paket sayısını aşan istemcileri atar. Varsayılan değerler makuldür; saldırı altındayken max-packet-rate değerini düşürerek daha sıkı davranabilirsiniz.
Bağlantı hızı sınırlaması#
misc:
max-joins-per-tick: 3
proxies:
proxy-protocol: false
velocity:
enabled: false
online-mode: true
max-joins-per-tick, tick başına kaç oyuncunun sunucuya girebileceğini sınırlar. Bot saldırısında bu değer düşük tutulursa sunucu boğulmaz, botlar kuyrukta bekler ve zaman aşımına uğrar.
İşletim sistemi seviyesinde bağlantı sınırı#
Linux tarafında iptables veya nftables ile IP başına eşzamanlı bağlantı sayısını sınırlayabilirsiniz:
sudo iptables -A INPUT -p tcp --syn --dport 25565 \
-m connlimit --connlimit-above 5 --connlimit-mask 32 -j DROP
sudo iptables -A INPUT -p tcp --syn --dport 25565 \
-m limit --limit 30/second --limit-burst 60 -j ACCEPT
sudo iptables -A INPUT -p tcp --syn --dport 25565 -j DROP
Windows tarafında Gelişmiş Güvenlik Duvarı üzerinden kaynak IP kısıtlaması yapılabilir, ancak bağlantı sayısı sınırlama seçenekleri Linux kadar esnek değildir. Güvenlik duvarı yapılandırmasının tamamı için firewall rehberimize bakın.
IP Gizleme ve Alan Adı Kullanımı#
Oyunculara sunucunun ham IP adresini vermek, saldırganın işini kolaylaştırır. Bunun yerine bir alan adı kullanın ve SRV kaydıyla yönlendirin.
Tür: SRV
Ad: _minecraft._tcp.oyun
Öncelik: 0
Ağırlık: 5
Port: 25565
Hedef: sunucu.alanadi.com
SRV kaydının avantajları:
- Oyuncular port yazmadan sadece
oyun.alanadi.comile bağlanır. - Sunucu IP’si değiştiğinde tek bir DNS kaydı güncellemesi yeterlidir; oyuncular etkilenmez.
- Saldırı altında IP değiştirme senaryosu uygulanabilir hâle gelir.
Alan adı bağlama ve DNS ayarlarının tamamı için domain bağlama rehberimize ve DNS kayıtları sayfamıza bakın.
Proxy Mimarisi ile Savunmayı Merkezileştirmek#
Velocity veya BungeeCord kullanıyorsanız savunmayı tek noktada toplayabilirsiniz. Mimari şöyle kurulur:
-
Proxy’yi dışa açın, arka uçları kapatın#
Yalnızca proxy’nin portu (25565) dışarıya açık olsun. Arka uç sunucular yalnızca proxy’nin IP’sinden gelen bağlantıları kabul etsin.
sudo ufw allow 25565/tcp sudo ufw allow from 10.0.0.5 to any port 25566 proto tcp sudo ufw deny 25566/tcp -
Arka uçları localhost’a bağlayın#
Arka uç sunucuların
server.propertiesdosyasında:server-ip=127.0.0.1 server-port=25566 online-mode=false -
Modern forwarding’i açın#
Velocity’de modern forwarding kullanın ve gizli anahtarı arka uçlara tanıtın. Aksi hâlde saldırgan arka uca doğrudan bağlanıp herhangi bir kullanıcı adıyla girebilir.
-
Anti-bot ve sınırlamayı proxy’de uygulayın#
Tek bir yerde yapılandırma, tüm arka uçları korur.
online-mode=false ile çalışır. Bu sunucular internete açık kalırsa, saldırgan herhangi bir oyuncu adıyla (yönetici adı dahil) bağlanabilir. Arka uç portlarının dışarıya kapalı olduğunu mutlaka doğrulayın.Proxy kurulumunun tamamı BungeeCord ve Velocity rehberinde.
Anti-Bot Eklentileri ve Doğrulama Katmanı#
Eklenti tabanlı savunma, bot bağlantılarını gerçek oyuncudan ayırmaya çalışır. Tipik yöntemler:
Bağlantı hız sınırı#
Aynı IP’den kısa sürede gelen çok sayıda bağlantıyı reddeder. En temel ve en etkili yöntemdir.
Davranış doğrulaması#
Bağlanan istemciden belirli bir hareket veya etkileşim bekler; botlar bu adımı geçemez.
Beyaz liste#
Saldırı altındayken en kesin çözüm. Sunucuyu yalnızca kayıtlı oyunculara açar; whitelist rehberine bakın.
Giriş eklentisi#
Cracked sunucularda AuthMe gibi bir giriş sistemi, kayıtsız bağlantıların kaynak tüketmesini sınırlar.
-
Paper 26.2 sunucu jarpacket-limiter içerirİndir
-
Velocity Proxy (kararlı hat 4.0.0)İndir
-
AuthMe Reloaded 6.0.0 (giriş sistemi)İndir
-
Fail2Ban (Linux log tabanlı engelleme)İndir
-
spark profiler (saldırı sırasında ölçüm)İndir
Bağlantılar resmî kaynaklara gider. Üçüncü taraf sitelerden jar indirmeyin.
AuthMe kurulumu için giriş sistemi rehberimize bakabilirsiniz.
Saldırı Anında Yapılacaklar#
Saldırı başladığında panik yapmadan sırayla ilerleyin.
-
Türü belirleyin#
SSH veya RDP ile sunucuya erişebiliyor musunuz? Erişebiliyorsanız hat açıktır, sorun uygulama katmanındadır.
ss -s ss -tan state syn-recv | wc -l netstat -an | grep :25565 | wc -l -
Bağlantı kaynaklarını listeleyin#
Aynı IP’den gelen yoğun bağlantıları tespit edin.
ss -tn state established '( dport = :25565 or sport = :25565 )' \ | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -20 -
Sağlayıcıya bildirin#
Hacimsel bir saldırıysa filtre profilinin yükseltilmesi gerekir. Destek talebi açarken saldırı başlangıç saatini ve gözlemlerinizi ekleyin.
-
Geçici olarak beyaz liste açın#
Bot saldırısında en kesin çözüm budur. Kayıtlı oyuncular oynamaya devam eder, botlar giremez.
whitelist on whitelist reload -
Log ve kanıt toplayın#
latest.log dosyasını ve bağlantı istatistiklerini saklayın. Tekrarlayan saldırılarda kalıp analizi işe yarar.
-
Saldırı bittikten sonra normale dönün#
Beyaz listeyi kapatın, agresif filtre profilini normale çevirin, geçici iptables kurallarını gözden geçirin.
Saldırıya Davetiye Çıkarmamak#
Teknik önlemler kadar operasyonel disiplin de önemlidir. Minecraft sunucularına yönelik saldırıların önemli kısmı, sunucu sahibinin kendi ifşa ettiği bilgilerle başlar.
- Ham IP paylaşmayın. Discord sunucusunda, tanıtım sitelerinde ve sosyal medyada daima alan adı kullanın.
- Aynı IP’de farklı hizmet barındırmayın. Web siteniz ve oyun sunucunuz aynı IP’deyse, web sitesine yapılan saldırı oyun sunucusunu da düşürür.
- Yönetici panelini dışa açmayın. Panel erişimini IP kısıtlaması veya VPN arkasına alın.
- Ban kararlarını tartışmaya açmayın. Saldırıların önemli kısmı banlanan oyunculardan gelir; gerekçeli ve sakin bir ban politikası pratikte bir güvenlik önlemidir.
- Personel hesaplarını koruyun. Yönetici hesabı ele geçirilirse saldırganın DDoS’a ihtiyacı kalmaz; güvenlik rehberimizdeki önlemleri uygulayın.
Fail2Ban ile Otomatik Engelleme (Linux)#
Fail2Ban, log dosyalarını izleyip belirli kalıpları tekrarlayan IP’leri otomatik engeller. Minecraft sunucusu için özel bir filtre yazılabilir.
# /etc/fail2ban/filter.d/minecraft.conf
[Definition]
failregex = ^.*\[Server thread/INFO\]: Disconnecting .*\[/<HOST>:\d+\].*$
ignoreregex =
# /etc/fail2ban/jail.d/minecraft.conf
[minecraft]
enabled = true
port = 25565
protocol = tcp
filter = minecraft
logpath = /opt/minecraft/logs/latest.log
maxretry = 10
findtime = 60
bantime = 3600
sudo systemctl restart fail2ban
sudo fail2ban-client status minecraft
Bu yapılandırma, bir dakika içinde on kez bağlantısı kesilen IP’leri bir saat engeller. Değerleri kendi sunucunuzun trafiğine göre ayarlayın; çok sıkı ayarlar gerçek oyuncuları da engelleyebilir.
Sunucu Ölçeğine Göre Koruma Planı#
| Sunucu ölçeği | Öncelikli önlemler | Altyapı |
|---|---|---|
| Arkadaş grubu (2-10) | Whitelist, alan adı, packet-limiter | 8 GB paket, sağlayıcı filtresi |
| Küçük topluluk (10-30) | + bağlantı hız sınırı, Fail2Ban | 10-12 GB paket, DDoS filtreli |
| Orta ölçek (30-60) | + anti-bot eklentisi, ayrı web IP’si | 16 GB, yüksek CPU VDS |
| Büyük ağ (60+) | + proxy mimarisi, merkezî filtreleme | 32 GB+, dedicated sunucu |
Donanım tarafında saldırı dayanıklılığı da bir faktördür: yüksek saat hızlı bir işlemci, bot bağlantılarını işlerken daha az zorlanır. Donanım seçimi için rehberimize, kaynak planı için RAM tablosuna bakın. Büyük ağlar için dedicated sunucu ya da yüksek CPU VDS uygun seçeneklerdir.
Saldırı Sonrası Değerlendirme#
Saldırı bittikten sonra yapılacak analiz, bir sonrakine hazırlığın yarısıdır.
- Saldırı ne zaman başladı, ne kadar sürdü, hangi tür trafik geldi?
- Filtre devreye girdi mi, ne kadar sürede?
- Oyuncular ne kadar süre erişemedi?
- Hangi önlem işe yaradı, hangisi işe yaramadı?
- Saldırı öncesinde bir olay yaşandı mı (ban, tartışma, tanıtım)?
Bu notları saklayın. Tekrarlayan saldırılarda kalıp ortaya çıkar ve hedefli önlem alabilirsiniz. Saldırıyla birlikte sunucunuza yetkisiz erişim şüphesi doğduysa ele geçirilme sonrası kurtarma rehberini uygulayın.
Özetle#
Minecraft sunucusu DDoS koruması iki katmanlı bir iştir. Hacimsel saldırılar hattınıza ulaşmadan filtrelenmelidir; bu, sağlayıcınızın işidir ve sunucu içindeki hiçbir ayar onun yerini tutmaz. Uygulama katmanı saldırıları ise sizin sorumluluğunuzdadır: Paper’ın packet-limiter ayarı, tick başına giriş sınırı, işletim sistemi seviyesinde bağlantı limitleri, Fail2Ban ve gerektiğinde beyaz liste.
Operasyonel tarafı ihmal etmeyin. Ham IP paylaşmamak, web sitesiyle oyun sunucusunu ayrı IP’lerde tutmak, panel erişimini kısıtlamak ve saldırı anında uygulanacak bir plana sahip olmak, teknik önlemler kadar değerlidir. Saldırı geldiğinde ne yapacağını bilen bir yönetici, saldırıyı olaydan çok bir bakım kalemine dönüştürür.