VDS aldıktan sonra yapılması gereken ilk ayarlar, sunucuyu güvenli ve kararlı bir üretim ortamına çeviren yaklaşık yarım saatlik bir işlemler dizisidir: sistemi güncellemek, sudo yetkili bir kullanıcı açmak, SSH anahtarı tanımlamak, root parolayla girişi kapatmak, güvenlik duvarını kapalı varsayılanla başlatmak ve yedekleme ile izlemeyi kurmak. Bu adımları atlayıp doğrudan uygulama kurulumuna geçmek, VDS kullanıcılarının yaptığı en pahalı hatadır.
Rehber işletim sisteminden bağımsızdır: her adımda hem Linux hem Windows Server karşılığını bulacaksınız. Ayrıntılı anlatım gereken yerlerde ilgili sayfaya yönlendiriyoruz. Sunucunuz henüz teslim edilmediyse ya da hangi paketi alacağınıza karar vermediyseniz önce VDS nedir sayfasına göz atın.
Sunucuya İlk Bağlantı#
Sağlayıcı size IP adresi, kullanıcı adı ve geçici bir parola gönderir. Linux tarafında bağlantı SSH ile, Windows tarafında Uzak Masaüstü ile yapılır.
# Linux / macOS terminalinden
ssh root@203.0.113.10
# Farklı bir port kullanılıyorsa
ssh -p 2222 root@203.0.113.10
Windows 10 ve 11’de yerleşik OpenSSH istemcisi bulunur, aynı komutu PowerShell’de çalıştırabilirsiniz. Grafik bir istemci tercih ediyorsanız PuTTY, dosya aktarımı için WinSCP kullanın.
Bağlantılar resmî kaynaklara gider. SSH istemcisini üçüncü taraf indirme sitelerinden almayın; değiştirilmiş sürümler girdiğiniz parolayı dışarı sızdırabilir.
Aldığınız donanımı doğrulayın#
Bağlandıktan sonraki ilk iş, paketin vaat ettiği donanımı gerçekten aldığınızı kontrol etmektir:
lscpu | grep -E "Model name|^CPU\(s\)|MHz"
free -h
lsblk -d -o name,rota,size,model # ROTA=0 -> SSD/NVMe
df -hT
systemd-detect-virt # kvm bekleniyor
vmstat 1 5 # st sütunu 0'a yakın olmalı
Steal time değeri sürekli %5 üzerindeyse vCPU paylaşımlıdır; konuyu VDS ve VPS farkları sayfasında ayrıntılı anlattık.
Adım Adım Güvenlik Yapılandırması (Linux)#
-
Sistemi güncelleyin#
Sunucu imajları çoğu zaman birkaç ay eskidir. İlk komut her zaman güncelleme olmalı.
sudo apt update && sudo apt full-upgrade -y sudo apt autoremove -y # Çekirdek güncellendiyse yeniden başlatın [ -f /var/run/reboot-required ] && sudo reboot -
Yönetici yetkili bir kullanıcı oluşturun#
Günlük işleri root ile yapmayın. Kendinize bir kullanıcı açıp sudo grubuna ekleyin.
sudo adduser batihost sudo usermod -aG sudo batihost # Doğrulayın su - batihost sudo whoami # çıktı: root -
SSH anahtarı oluşturun ve yükleyin#
Anahtar tabanlı giriş, parola girişinden kat kat güvenlidir. Anahtarı kendi bilgisayarınızda üretin, sunucuda değil.
# Kendi bilgisayarınızda ssh-keygen -t ed25519 -C "batihost-vds" # Genel anahtarı sunucuya kopyalayın ssh-copy-id batihost@203.0.113.10 # ssh-copy-id yoksa elle: cat ~/.ssh/id_ed25519.pub | ssh batihost@203.0.113.10 \ "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"Anahtar üretiminin Windows ve PuTTY tarafındaki karşılığı SSH bağlantı rehberinde anlatılıyor.
-
SSH yapılandırmasını sıkılaştırın#
Anahtarla girebildiğinizi doğruladıktan sonra parola girişini kapatın. Bu sırayı bozarsanız kendinizi sunucudan kilitlersiniz.
sudo nano /etc/ssh/sshd_configPort 2222 PermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes MaxAuthTries 3 X11Forwarding no ClientAliveInterval 300 AllowUsers batihost# Sözdizimini kontrol edin, sonra uygulayın sudo sshd -t && sudo systemctl restart ssh -
Güvenlik duvarını kapalı varsayılanla başlatın#
Doğru yaklaşım “her şeyi kapat, gerekeni aç”tır. SSH portunu açmayı unutursanız bağlantınız kopar.
sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow 2222/tcp comment 'SSH' sudo ufw allow 80/tcp comment 'HTTP' sudo ufw allow 443/tcp comment 'HTTPS' sudo ufw enable sudo ufw status verbose -
Fail2Ban kurun#
Başarısız giriş denemesi yapan IP’leri otomatik engeller.
sudo apt install -y fail2ban sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local sudo nano /etc/fail2ban/jail.local[sshd] enabled = true port = 2222 maxretry = 4 findtime = 10m bantime = 1hsudo systemctl enable --now fail2ban sudo fail2ban-client status sshd -
Otomatik güvenlik güncellemelerini açın#
sudo apt install -y unattended-upgrades sudo dpkg-reconfigure --priority=low unattended-upgrades # Ayarları görün cat /etc/apt/apt.conf.d/50unattended-upgrades | grep -A5 "Allowed-Origins"
Swap Alanı, Zaman Dilimi ve Hostname#
Güvenlikten sonra sunucunun kararlılığını etkileyen üç ayar geliyor.
Swap dosyası oluşturma#
Swap, bellek zirvelerinde süreçlerin öldürülmesini engelleyen bir güvenlik ağıdır. RAM’in yarısı kadar bir dosya çoğu senaryo için yeterlidir.
# 8 GB RAM'li bir sunucu için 4 GB swap
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# Kalıcı hâle getirin
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
# Sunucuda swap'a erken düşmeyi azaltın
echo 'vm.swappiness=10' | sudo tee /etc/sysctl.d/99-swappiness.conf
sudo sysctl --system
free -h
Zaman dilimi ve saat senkronizasyonu#
Log dosyalarının okunabilir olması ve zamanlanmış görevlerin doğru saatte çalışması için zaman dilimini ayarlayın:
sudo timedatectl set-timezone Europe/Istanbul
sudo timedatectl set-ntp true
timedatectl status
Hostname ayarı#
sudo hostnamectl set-hostname web01.ornekalanadi.com
# /etc/hosts dosyasına da ekleyin
echo "127.0.1.1 web01.ornekalanadi.com web01" | sudo tee -a /etc/hosts
hostnamectl
Windows Server Tarafındaki Karşılıkları#
Windows Server kurulu bir VDS aldıysanız aynı mantık geçerlidir, araçlar değişir. Bağlantı adımları için Uzak Masaüstü rehberine bakın.
| Yapılacak iş | Linux | Windows Server |
|---|---|---|
| Sistem güncellemesi | apt full-upgrade | Ayarlar > Windows Update |
| Yönetici kullanıcı | adduser + sudo grubu | Bilgisayar Yönetimi > Yerel Kullanıcılar |
| Varsayılan yönetici adı | root girişini kapat | Administrator hesabını yeniden adlandır |
| Uzak erişim güvenliği | SSH anahtarı | NLA açık, güçlü parola, RDP portu değişimi |
| Güvenlik duvarı | UFW / iptables | Windows Defender Güvenlik Duvarı |
| Giriş denemesi engelleme | Fail2Ban | Hesap kilitleme ilkesi |
| Zaman dilimi | timedatectl | Tarih ve Saat ayarları |
Windows tarafında güvenlik duvarı kuralı eklemenin PowerShell karşılığı:
# RDP portunu 3389'dan 3390'a taşımak
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name PortNumber -Value 3390
New-NetFirewallRule -DisplayName "RDP-3390" -Direction Inbound -Protocol TCP -LocalPort 3390 -Action Allow
Restart-Service TermService -Force
Yedekleme ve İzlemeyi İlk Gün Kurun#
Yedekleme, ihtiyaç duyulduğunda kurulamaz. Basit bir betikle başlayın, sonra geliştirin:
#!/bin/bash
# /usr/local/bin/yedek.sh
TARIH=$(date +%F)
HEDEF=/yedek
mkdir -p "$HEDEF"
tar -czf "$HEDEF/web-$TARIH.tar.gz" /var/www
mysqldump --single-transaction --all-databases -u root > "$HEDEF/db-$TARIH.sql"
# 14 günden eski yedekleri sil
find "$HEDEF" -type f -mtime +14 -delete
sudo chmod +x /usr/local/bin/yedek.sh
# Her gece 03:30'da çalıştır
( sudo crontab -l 2>/dev/null; echo "30 3 * * * /usr/local/bin/yedek.sh" ) | sudo crontab -
Yedeği aynı sunucuda tutmak yedekleme sayılmaz. Kopyayı başka bir makineye ya da uzak depolamaya taşıyın; kaç kopya tutulacağı ve nereye konulacağı konusunda 3-2-1 kuralı sayfası net bir şablon veriyor.
İzleme tarafında en azından disk doluluğu ve servis durumu kontrol edilmeli. Sunucunun düştüğünü kullanıcıdan öğrenmemek için dışarıdan erişilebilirlik testi de kurun; araç seçenekleri sunucu izleme rehberinde.
Kontrol Listesi#
| # | Adım | Öncelik |
|---|---|---|
| 1 | Sistem güncellemesi ve yeniden başlatma | Kritik |
| 2 | Sudo yetkili kullanıcı oluşturma | Kritik |
| 3 | SSH anahtarı yükleme, parola girişini kapatma | Kritik |
| 4 | Güvenlik duvarını kapalı varsayılanla açma | Kritik |
| 5 | Fail2Ban kurulumu | Yüksek |
| 6 | Otomatik güvenlik güncellemeleri | Yüksek |
| 7 | Swap dosyası ve swappiness ayarı | Orta |
| 8 | Zaman dilimi, hostname, NTP | Orta |
| 9 | Yedekleme betiği ve cron görevi | Kritik |
| 10 | İzleme ve disk doluluk alarmı | Yüksek |
Bundan Sonra: Uygulamanızı Kurma#
Temel yapılandırma bittiğinde sunucunuz üretime hazırdır. Sıradaki adım ne kuracağınıza bağlı:
- Oyun sunucusu: VDS üzerine Minecraft sunucu kurulumu ya da FiveM sunucu kurulumu sayfalarıyla devam edin.
- Web sunucusu: Nginx veya Apache kurup SSL sertifikası tanımlayın.
- Panel tabanlı yönetim: Oyun sunucularını arayüzden yönetmek isterseniz Pterodactyl Panel kurulumu sayfasına bakın.
- Discord botu: 7/24 bot barındırma rehberi süreç yönetimini anlatıyor.
Linux komutlarına yabancıysanız Linux temel komutları sayfası günlük yönetim için gereken 40 komutu örneklerle veriyor. Ubuntu’yu sıfırdan kurmak isterseniz Ubuntu Server kurulumu sayfası bölümleme ve ağ ayarlarını kapsıyor.
Sık Yapılan Hatalar#
Parola girişini doğrulama yapmadan kapatmak#
Anahtarla girebildiğinizi test etmeden PasswordAuthentication no yazarsanız kendinizi kilitlersiniz. Her zaman ikinci bir oturum açık tutun.
Güvenlik duvarını SSH portunu açmadan etkinleştirmek#
ufw enable komutunu SSH kuralını eklemeden çalıştırmak bağlantınızı anında koparır. UFW bu konuda uyarı verir, uyarıyı okuyun.
Her şeyi root ile çalıştırmak#
Web sunucusu, oyun sunucusu ve botlar kendi kullanıcılarıyla çalışmalı. Tek bir güvenlik açığı, root altında çalışan bir süreçte tüm makineyi kaybettirir.
Yedeği aynı diskte tutmak#
Sunucu kaybedildiğinde yedek de kaybolur. Kopyayı mutlaka makine dışına çıkarın.
Kullanılmayan servisleri açık bırakmak#
Dinleyen her port bir saldırı yüzeyidir. sudo ss -tulpn ile listeyi kontrol edip ihtiyaç duymadıklarınızı kapatın.
Özetle#
Yeni bir VDS teslim aldığınızda ilk yarım saatinizi güvenliğe ayırın: sistemi güncelleyin, sudo yetkili bir kullanıcı açın, SSH anahtarı tanımlayıp parola girişini ve root erişimini kapatın, güvenlik duvarını kapalı varsayılanla başlatıp yalnızca gerekli portları açın, Fail2Ban ve otomatik güvenlik güncellemelerini kurun. Ardından swap dosyası, zaman dilimi ve hostname gibi kararlılık ayarlarını tamamlayın.
Son iki adımı erteleme: yedekleme betiği ve izleme, sunucu kurulduğu gün devreye alınmalı. Bu kontrol listesini tamamladıysanız sunucunuz üretim iş yükünü taşımaya hazırdır. Bağlantı tarafında ayrıntı isterseniz SSH rehberi, güvenlik duvarı kurallarını derinleştirmek için firewall yapılandırma rehberi sıradaki durağınız olsun.