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?
Bu rehberde oyun sunucunuzun RCON ve benzeri uzaktan yönetim arayüzlerini güvene alacaksınız: erişimi yalnızca yerel makineye ve SSH tüneline indirecek, parolaları güçlendirecek ve yetkisiz erişimi tespit etmeyi öğreneceksiniz. Hosting yöneticileri ve oyun sunucusu işletenler için yazıldı. Tahmini süre 20 dakikadır.
RCON (Remote Console), yöneticilerin sunucu konsoluna uzaktan komut göndermesini sağlar. Protokol genellikle trafiği şifrelemez ve parolası tek bir paylaşılan gizli bilgidir; bu nedenle internete açık bırakılması ciddi bir risktir.
Gereksinimler
- Oyun sunucusunun RCON'u destekleyen bir sürümü (örnek olarak Minecraft Java sunucusu kullanılmıştır)
- sudo yetkili bir hesap ve güvenlik duvarı (ufw veya firewalld) erişimi
- Yönetici makinesinde SSH istemcisi
- Ayar dosyasının yedeği:
cp server.properties server.properties.yedek - SSH ayarlarını değiştirmeyeceksiniz; bu rehber yalnızca RCON portunu kapsar
Adım adım RCON güvenliği
1. RCON gerçekten gerekli mi karar verin
İhtiyacınız yoksa RCON'u kapatın; kapalı olan bir servis saldırıya uğramaz. Minecraft'ta bu, server.properties dosyasında enable-rcon=false demektir. Gerekiyorsa sonraki adımlara geçin.
enable-rcon=false2. Güçlü ve benzersiz bir parola oluşturun
Rastgele ve uzun bir parola üretin; başka hiçbir yerde kullanmayın.
openssl rand -base64 24Çıktıyı server.properties içinde rcon.password değerine yazın. Ayar dosyasının izinlerini kısıtlayın ve parolayı sohbet veya ekran görüntülerinde paylaşmayın.
enable-rcon=true
rcon.port=25575
rcon.password=URETILEN_PAROLAsudo chmod 640 /opt/oyun/sunucu/server.propertiesYol sizde farklı olabilir. Parolayı komut satırı argümanı olarak yazmaktan kaçının; süreç listesinde görünebilir.
3. Portu güvenlik duvarında dışarıya kapatın
RCON portunu (varsayılan 25575) hiçbir zaman genel internete açmayın. Varsayılan olarak gelen trafiği reddeden bir güvenlik duvarında RCON için izin kuralı eklemeyin. Daha önce eklediyseniz kaldırın.
sudo ufw status numbered
sudo ufw delete 3Burada 3 yalnızca örnektir; silmeden önce numarayı listeden doğrulayın ve yanlışlıkla SSH kuralını silmeyin. IPv6 kopyası ayrı bir numarayla listelenebilir; kuralı sudo ufw delete allow 25575/tcp biçiminde adıyla silmek iki kopyayı birden kaldırır. firewalld için:
sudo firewall-cmd --permanent --remove-port=25575/tcp
sudo firewall-cmd --reloadNot: oyun yazılımı RCON'u tüm arayüzlerde dinleyebilir; bu yüzden asıl koruma güvenlik duvarındaki engeldir.
4. SSH tüneliyle erişin
Yönetici makinenizden RCON'a, şifreli bir SSH tüneli üzerinden bağlanın. Aşağıdaki komut yerel makinenizdeki 25575 portunu sunucudaki RCON'a yönlendirir.
ssh -N -L 25575:127.0.0.1:25575 kullanici@SUNUCU_ADRESITünel açıkken RCON istemcinizi 127.0.0.1:25575 adresine yönlendirin. Böylece RCON trafiği internette şifreli taşınır.
5. Yönetim hesaplarında en az yetki ilkesini uygulayın
Sunucuya SSH ile giren hesaplar için parola yerine anahtar kimlik doğrulama kullanın ve yalnızca gerçekten yönetici olan kişilere erişim verin. SSH yapılandırmasını değiştirecekseniz ikinci bir oturumu açık tutun ve sudo sshd -t ile sözdizimini kontrol edin. Ayrıntıları ilgili SSH sertleştirme belgelerinden izleyin.
6. Erişimi günlüklerden izleyin
Başarısız bağlantı denemelerini ve beklenmeyen oturumları düzenli kontrol edin.
sudo journalctl -u ssh --since today --no-pager | tail -n 50
sudo ss -tnp | grep 25575RHEL tabanlı sistemlerde SSH servisi sshd adıyla geçer: sudo journalctl -u sshd. Oyun günlüklerinde de RCON giriş denemeleri görünebilir.
7. Gerekirse IP kısıtlaması ekleyin
Yönetici makineniz sabit bir IP kullanıyorsa SSH portunu yalnızca o adrese açabilirsiniz. Mevcut oturumunuzu kapatmadan test edin.
sudo ufw allow from 203.0.113.10 to any port 22 proto tcpBurada adres belgelendirme örneğidir; kendi IP adresinizi yazın.
Doğrulama
sudo ss -tlnp | grep 25575
nc -zv SUNUCU_ADRESI 25575İlk komut sunucuda çalışır; ikinci komutu sunucunun dışındaki bir makinede çalıştırın. Beklenen sonuç: dışarıdan bağlantının reddedilmesi veya zaman aşımına uğraması, SSH tüneli açıkken ise RCON istemcisinin 127.0.0.1 üzerinden bağlanabilmesi.
Sık karşılaşılan sorunlar
- Tünel açıldı ama RCON bağlanmıyor: sunucuda
enable-rcon=trueve doğru parola gerekir; oyunu yeniden başlatın. - Dışarıdan hâlâ erişilebiliyor: sağlayıcı panelindeki güvenlik grubu veya başka bir güvenlik duvarı portu açmış olabilir.
- `Address already in use` hatası: yerel makinede 25575 portu başka bir süreçte kullanılıyor; tünelde farklı yerel port seçin, örneğin 25576.
- Kimlik doğrulama hatası: parolada özel karakterler istemciye uygun şekilde girilmemiş olabilir.
- Tünel sık kopuyor: SSH komutuna
-o ServerAliveInterval=30ekleyin.
Güvenlik ve bakım notları
- RCON ve yönetim parolalarını düzenli aralıklarla ve bir ekip değişikliğinde yenileyin.
- Parolaları paylaşılan sohbet kanallarında değil, bir parola yöneticisinde saklayın.
- Yönetim arayüzlerini oyun portundan ayrı tutun ve hiçbirini internete doğrudan açmayın.
- Kullanılmayan yönetim servislerini kapatın.
- Sunucuyu güncel tutun; yönetim arayüzlerindeki açıklar güncellemelerle kapanır.
- Şüpheli bir erişim fark ederseniz parolaları hemen değiştirip günlükleri saklayın.
Sık sorulan sorular
RCON trafiği şifreli mi?
Genellikle değildir; parola ve komutlar düz metin taşınabilir. Bu yüzden RCON'a yalnızca yerelde veya SSH tüneli üzerinden erişmelisiniz.
RCON portunu değiştirmek koruma sağlar mı?
Port değiştirmek yalnızca otomatik taramaları azaltır, gerçek koruma sağlamaz. Asıl önlem portu güvenlik duvarında kapatmak ve güçlü parola kullanmaktır.
RCON yerine ne kullanabilirim?
Birçok oyunda SSH ile sunucuya girip oyun konsoluna komut göndermek yeterlidir. Oyununuzun kendi yönetim araçlarını da değerlendirebilirsiniz.
İlgili sözlük terimleri
Bu kategorideki diğer rehberler
- Oyun sunucusunda DDoS saldırısı sırasında olay yönetimi: ilk 30 dakikaOyun sunucusunda DDoS saldırısı sırasında ilk 30 dakikada tespit, sağlayıcı iletişimi, hafifletme, kayıt toplama ve oyuncu bilgilendirmesini düzenli bir olay planıyla yönetin.
- 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.