Sunucumu açıklara karşı nasıl korurum?

Sunucularda önlem alınması gerekilen bir kaç sorunu sizlerle paylaştık.

Son sürüm sunucularda Minecraf'tın kodlaması değiştiği için çok fazla bir açık bulunmamakta fakat yinede elimizi bu konularda tedirgin tutmalıyız. Bilmediğimiz bir yerden bilmediğimiz bir sorun oluşur ve sunucumuzu bıraktığımız gibi bulamayız. Bunun için size bir kaç öneride bulunacağız.

Eklentiler ve sorunlarını bulma

Son sürümlerde genelde açıklar sizin yaptığınız skript kodlarından veya eklentilerde yanlış ayarladığınız ayar dosyasındanki bir problemden kaynaklanabilir. İlk öncelikle sorunun eklentide değil kendinizde aramanız gerekiyor, bunun için gerekli işlemleri test etmeniz gerekiyor.

Örnek olarak son değiştirdiğiniz şeyleri hatırlayıp bunları tekrardan gözden geçirmeniz gerektiğini unutmayın. Şayet yaptığınız ayarlamalarda bir sorun yoksa, sorunu güzelce rapor altına alıp eklenti geliştiricisine iletmeniz doğru bir adım olacaktır.

Geliştirici her zaman yanında bir Tester ister ve bu siz olabilirsiniz. Sorunun kaynağıyla ile güzelce tespit edip rapor hazırladıktan sonra Spigot veya Discord üzerinden geliştiriciye ulaşmanız gerekmektedir. Yoksa ne o sizi ya da siz onu bulabilirsiniz.

Bir test sunucusu kullanın

Bir Minecraft sunucusu çalıştırıyorsanız, her zaman mevcut bir test sürümüne sahip olmalısınız. Yalnızca sorunların nedenini belirlemek için değil, eklenti ve sürüm değişikliklerini test etmek için. Oyuncularınızın herhangi bir kesintiye uğramaması için önerdiğimiz şeyleri bir test sunucusu ile yapmanızı tavsiye ederiz.

Bir eklentiden mi kaynaklanıyor?

Bir sorumluluk reddi olarak, bu işlem için sunucunuzun bir kopyasını yerel bir makinede oluşturmanızı şiddetle tavsiye ederim. Bunu yapmak, oyuncuları rahatsız etmeden daha kapsamlı değişiklikler yapmanızı sağlar.

Sunucu sorunlarını giderirken ilk adım, herhangi bir eklenti kurulu olmadan sunucuyu test etmektir. Sorun artık oluşmuyorsa, artık buna bir eklentinin neden olduğunu biliyorsunuz. Yine de devam ederse, bunu kullandığınız sunucu yazılımının (Paper, spigot, purpur, airplane, tuinity) github sayfasından bildirmelisiniz.

Sorunlu eklentiyi bulma

Soruna bir eklenti neden oluyorsa, hangi eklentinin soruna neden olduğunu daraltmak isteyeceksiniz. Bunu yapmanın standart bir yöntemi, eklentilerinizin yarısını kaldırmak ve hala devam edip etmediğini görmek için test etmektir. Varsa, başka bir yarısını çıkarın. Sorun ortadan kalkana kadar bunu yapmaya devam edin. Durduğunda, son kaldırdığınız gruptaki eklentilerden birinin hatalı olduğunu anlayacaksınız.

Bu daha küçük daraltılmış eklenti grubuna sahip olduğunuzda, bunun için benzer bir strateji kullanabilirsiniz. Yarısını tekrar ekleyin ve tekrar başlayana kadar devam edin. Artık daha küçük bir eklenti grubunuz var. Tek bir eklentiye daraltana kadar bunu yapmaya devam edin. Bu kavram ikili arama olarak bilinir.

Sorunlu eklenti gerçekten sorunlu mu?

Sorunlu eklentiyi buldunuz. Ne yazık ki, bu eklentinin asıl neden olduğu hatayı henüz doğrulamadınız, bunun yerine onu kaldırmanın, sorunu çözdüğünü onayladınız. Başka bir eklentinin soruna neden olabileceği birçok durum vardır, ancak yalnızca başka bir eklentinin mevcut olması durumunda.

Potansiyel olarak kafa karıştırıcı olsa da, birçok eklenti, başka bir eklentinin kurulu olup olmamasına bağlı olarak belirli özellikleri etkinleştirir veya devre dışı bırakır. Daralttığınız eklenti, ProtocolLib, WorldGuard, WorldEdit veya diğer yaygın olarak kullanılan eklentiler gibi bir şeyse, bunun nedeni muhtemelen eklenti değildir. Bunu doğrulamanın bir yolu, sorunlu eklenti dışındaki her eklentiyi kaldırmaktır. Sorun artık oluşmuyorsa, sorun buna bağlı olan bir eklentidir.

Bu başarısız olursa, ikili aramayı tekrar deneyin. Ancak bu sefer başlangıçta daralttığınız eklentiyi kaldırmayın. Onu daralttığınız yeni eklenti, büyük olasılıkla soruna neden olan gerçek eklentidir. Doğrulamak için sunucunuzdan yalnızca bu eklentiyi kaldırmayı ve sorunu yeniden oluşturmaya çalışın.

Açık korumaları

Bunlar için genelde eklentiler kullanılmakta ve zatende öyle olması gerekiyor. Bu aralar piyasada en ses getiren 2 farklı geliştiricinin exploit korumaları bulunmakta.

Geliştirici - Yooniks

Son zamanda geliştirdiği gerek spigot ve bungee forkları ile çok büyük ses getirdi ve getirmeyede devam ediyor. Açıklara dışarıdan değil direk soruna içeriden müdahale ediyor ve bu sayede hızlı bir çözüme kavuşuyoruz.

Bu geliştirici hakkında ufak bir açıklamayı "Sunucu optimizesi" altındaki "Kullanılmaması gereken eklentiler" arasında yer verdim.

SpigotGuard

Client taraflı tüm saldırıları engelleyebilmekte ve herhangi bir ekstra eklentiye ihtiyaç durmadan, kendi API'siyle ASYNC bir şekilde hızlıca işlem sağlayabilmekte.

Aegis

Son zamanlarda yabancı firmaların çıkartmış olduğu "BungeeSmasher" veya "ZeusSmasher" tarzı saçma saldırıları engelleyen güçlü bir "Bungeecord" forkudur. Normalde bungeecord ücretsiz bir hizmet olduğu için bunu paralı olarak satmak yasaktır. Fakat geliştiricisi bunu göze alarak "Spigot" sitesi üzerinden sonsuza kadar uzaklaştırıldı. Aynı zamanda botları engelleyen bu fork, saldırı sırasında sunucuda hiç bir geciktirme sağlamamaktadır.

Geliştirici - LinsaFTW

Diğer geliştiriciye nazaran daha az efektif ama en az onun kadar işe yarayan korumaları geliştirmiştir, hemde ücretsiz!

ExploitFixer

  • CustomPayload

  • Commands

  • Items

  • Packets

  • Signs

ile yapılan tüm saldırıların önüne çok kolay bir şekilde önüne geçebilmektedir. Gerçekten ücretsiz ama kullanışlı bir eklenti!

FlameCord

Sunucunuzdaki saldırıları engelleyen ücretsiz bir "Bungeecord" forkudur. Aegis'in yaptığı işlemleri kendi çapında engellemeyi başarmıştır.

Geliştirici - Ytnoos

Kendisi son bir yılda geliştirdiği başarılı bir crash eklentisi ile kendine bir çok müşteri çekmeye başardı.

LPX-Mortal

Bir çok saldırıyı kendi eşsiz yöntemleriyle, sorunsuz bir şekilde engelleyebildiği için bir çok kişi bu korumayı önermekte ve kullanmakta.

Yedek

Sunucunuzdaki her şeyi mutlaka günlük olarak yedek alın, her an ne olucağını bilemezsiniz. Sunucunuz patlayabilir veya makinenizde bir arıza oluşabilir. Sonradan demedi demeyin.

Sizin için önerebileceğim bir eklenti mevcut. Fakat fiyatıda özelliği kadar tuzlu. Yedeklerinizi istediğiniz zaman aldırtıp başka FTP'ye kadar aktaracak kadar güçlü olan bu eklenti ile gerçekten yedeksiz bir gününüz bile geçmeyecek!