Metin2 Sunucu Güvenliği ve Dosya İzinleri Rehberi: Adım Adım Hardening İşlemleri

CPU

Kayıtlı
1 Yıl 10 Ay 6 Gün
Katılım
22 Ara 2024
Konular
80
Mesajlar
400
Tepkime puanı
102
Online süresi
3d 10h 12m
Puan
53
Konum
Türkiye
Web sitesi
metin2games.com.tr
Metin2 private server kurulumu ve yönetiminde sunucu güvenliği, yaşanabilecek saldırıları ve veri kayıplarını önlemek için en kritik aşamadır. Yanlış yapılandırılmış dosya izinleri veya yetkisiz erişimler sunucunuzun tehlikeye girmesine neden olabilir. Bu rehberde, Metin2 sunucunuzu güvenli hale getirmek için uygulamanız gereken en iyi güvenlik (hardening) adımlarını derledik.

1. Sunucu Verilerini Yedekleme (Kritik Adım)​

Herhangi bir yapılandırma veya izin değişikliğine başlamadan önce mutlaka tam bir sistem yedeği alın.

Bash

tar czf /tmp/metin2_backup_$(date +%F).tar.gz /opt/Metin2

  • Neden Önemli? Yapılandırma sırasında yapılacak hatalı bir komut tüm sunucu altyapısını bozabilir; hızlı bir yedek her zaman hayat kurtarır.

2. Hedef Klasörlerin Doğru Belirlenmesi​

Tüm dizine rastgele izinler vermek yerine, sadece konfigürasyon ve log gibi kritik dizinleri hedefleyin.

Bash

find /opt/Metin2 -type d -name "config" -o -name "record" -o -name "log"
  • Neden Önemli? Sadece hassas dosyalar üzerinde izin değişikliği yapılması, gereksiz yetki genişletmelerini önler ve güvenlik riskini azaltır.

3. Dosya Sahipliği (Chown) ve İzinlerin (Chmod) Düzenlenmesi​

Metin2 sunucu dosyalarının sahipliğini özel bir kullanıcıya atayın ve yetkisiz erişimleri kapatın.

Bash

# Örnek sunucu kullanıcısı: metin2
sudo chown -R metin2:metin2 /opt/Metin2
sudo find /opt/Metin2 -type d -exec chmod 750 {} \;
sudo find /opt/Metin2 -type f -name "*.conf" -exec chmod 640 {} \;
  • Neden Önemli? 750 izni ile alt klasörler sadece sahibi ve grup tarafından okunabilir/çalıştırılabilir; 640 izni ise konfigürasyon dosyalarını dışarıdan gelebilecek okumalara karşı korur. Diğer kullanıcıların (others) erişimi tamamen engellenir.

4. SELinux ve AppArmor Yapılandırması​

Linux çekirdek güvenliği için zorunlu erişim denetimi mekanizmalarını aktif tutun.

  • sestatus komutu ile SELinux durumunu kontrol edin; sistemde aktifse audit2allow kullanarak gerekli politikaları sisteme tanımlayın.
  • Neden Önemli? Ek bir güvenlik katmanı oluşturarak servislerin dışına çıkabilecek yetkisiz dosya erişimlerini engeller.

5. Hassas Veriler İçin Şifreli Depolama (dm-crypt)​

Özellikle oyun içi log ve veritabanı loglarının tutulduğu disk bölümlerini şifreleyin.

Bash

# Örneğin log dosyaları için dm-crypt kullanımı
sudo cryptsetup luksFormat /dev/sdb1
sudo cryptsetup open /dev/sdb1 metin2log
sudo mkfs.ext4 /dev/mapper/metin2log
sudo mount /dev/mapper/metin2log /opt/Metin2/log
  • Neden Önemli? Fiziksel sunucu diskleri çalınsa veya datacenter tarafında erişilse bile içerideki hassas veriler şifreli olduğu için okunamaz.

6. Düzenli Güvenlik ve İzin Denetimi​

Sunucunuzda yanlışlıkla herkesin yazıp okuyabileceği (777) tehlikeli dizinlerin kalıp kalmadığını düzenli olarak tarayın.

Bash

find /opt/Metin2 -type d -perm -777 -print
  • Neden Önemli? Zamanla oluşabilecek yanlış izin yapılandırmalarının (777 gibi) erken fark edilip kapatılmasını sağlar.

7. Sık Yapılan Hatalar ve Kaçınılması Gerekenler​

  • Tipografik Hatalar: Güvenlik sıkılaştırması yaparken chmod 755 yerine yanlışlıkla chmod 750 veya eksik parametre girmek servislerin çalışmasını engelleyebilir.
  • Sahiplik Karmaşası: root yetkisiyle çalışan bazı scriptlerin metin2 kullanıcı dosyalarını değiştirmesi yetki çakışmalarına yol açabilir.
💡 İpucu: Canlı (Production) ortama geçmeden önce tüm bu adımları mutlaka geçici bir test ortamında (staging) deneyin. Sunucunuzda yapacağınız değişikliklerin her zaman geri alınabilir (rollback) olduğundan emin olun!
 
Geri
Üst