Linux Dağıtımı Seçim Rehberi: Ubuntu, Debian, AlmaLinux
VPS için doğru Linux dağıtımını seçin: Ubuntu LTS, Debian, AlmaLinux ve Rocky Linux karşılaştırması, artıları ve eksileri, kullanım senaryoları ve öneriler.
VPS'inizi ilk kez kurarken izlemeniz gereken adımlar: SSH bağlantısı, sistem güncellemesi, root dışı kullanıcı oluşturma, SSH sertleştirme, firewall ve fail2ban kurulumu.
Yeni bir VPS satın aldınız ve ilk kez bağlanıyorsunuz. Peki şimdi ne yapmalısınız? Varsayılan kurulum, güvenlik açısından optimize edilmemiştir: root şifresi ile SSH erişimi açık, firewall yok, sistem güncel değil. Bu rehber, sıfırdan güvenli bir sunucu kurmanız için adım adım bir checklist sunar.
Tüm adımları sırayla uygulayın. SSH yapılandırmasını değiştirirken mevcut bağlantınızı kapatmayın — her değişikliği yeni bir terminal sekmesinde test edin.
Rexe panelinden sunucunuzun IP adresini ve root şifresini alın. Ardından terminalinizden bağlanın:
ssh root@SUNUCU_IP
Bağlandıktan sonra sisteminizin bilgilerini kontrol edin:
# İşletim sistemi bilgisi
cat /etc/os-release
# Sistem kaynakları
free -h
df -h
nproc
# Çalışma süresi
uptime
İlk yapmanız gereken şey sistemi güncellemektir. Güncel olmayan paketler güvenlik açıkları içerebilir.
# Ubuntu/Debian için
apt update && apt upgrade -y
# Gereksiz paketleri temizle
apt autoremove -y
apt autoclean
# AlmaLinux/Rocky Linux için
dnf update -y
dnf autoremove -y
Güncelleme sırasında kernel güncellemesi gelirse, sunucuyu yeniden başlatmanız gerekebilir: reboot
Root ile doğrudan çalışmak tehlikelidir. Sudo yetkisine sahip normal bir kullanıcı oluşturun:
# Yeni kullanıcı oluştur
adduser yonetici
# Sudo grubuna ekle (Ubuntu/Debian)
usermod -aG sudo yonetici
# Sudo grubuna ekle (AlmaLinux/Rocky)
usermod -aG wheel yonetici
# Kullanıcıya geç ve test et
su - yonetici
sudo whoami # "root" çıktısı vermeli
exit
Şifre yerine SSH anahtarı kullanmak çok daha güvenlidir:
# Yerel makinenizde (kendi bilgisayarınızda) anahtar oluşturun
ssh-keygen -t ed25519 -C "vps-yonetici"
# Genel anahtarı sunucuya kopyalayın
ssh-copy-id yonetici@SUNUCU_IP
# Veya manuel olarak:
cat ~/.ssh/id_ed25519.pub
# Çıktıyı sunucuda şuraya yapıştırın:
mkdir -p /home/yonetici/.ssh
nano /home/yonetici/.ssh/authorized_keys
chmod 700 /home/yonetici/.ssh
chmod 600 /home/yonetici/.ssh/authorized_keys
chown -R yonetici:yonetici /home/yonetici/.ssh
SSH yapılandırma dosyasını düzenleyin:
nano /etc/ssh/sshd_config
Aşağıdaki ayarları yapın:
# Root girişini devre dışı bırak
PermitRootLogin no
# Şifre ile girişi devre dışı bırak (SSH anahtarı kurulduktan sonra)
PasswordAuthentication no
# Boş şifrelere izin verme
PermitEmptyPasswords no
# Maksimum giriş denemesi
MaxAuthTries 3
# Giriş zaman aşımı
LoginGraceTime 30
# SSH portunu değiştir (isteğe bağlı ama önerilir)
Port 2222
# Yalnızca belirli kullanıcılara izin ver
AllowUsers yonetici
# Yapılandırmayı test et
sshd -t
# SSH servisini yeniden başlat
systemctl restart sshd
# YENİ TERMINAL'den bağlantıyı test edin!
ssh -p 2222 yonetici@SUNUCU_IP
SSH portunu değiştirdiyseniz, firewall kurallarını güncellemeden önce yeni porttan bağlanabildiğinizi doğrulayın!
# UFW kur
apt install ufw -y
# Varsayılan politikalar
ufw default deny incoming
ufw default allow outgoing
# SSH portuna izin ver (değiştirdiyseniz 2222 kullanın)
ufw allow 2222/tcp
# veya varsayılan port için:
# ufw allow ssh
# Web servisleri (gerekirse)
ufw allow 80/tcp
ufw allow 443/tcp
# UFW'yi etkinleştir
ufw enable
# Durumu kontrol et
ufw status verbose
# firewalld başlat
systemctl start firewalld
systemctl enable firewalld
# SSH portuna izin ver
firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --permanent --remove-service=ssh
firewall-cmd --reload
# Durumu kontrol et
firewall-cmd --list-all
Fail2Ban, brute-force saldırılarına karşı otomatik koruma sağlar:
# Fail2Ban kur
apt install fail2ban -y # Ubuntu/Debian
# veya
dnf install fail2ban -y # AlmaLinux/Rocky
# Yerel yapılandırma oluştur
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
nano /etc/fail2ban/jail.local
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5
[sshd]
enabled = true
port = 2222
logpath = /var/log/auth.log
maxretry = 3
bantime = 86400
# Fail2Ban başlat
systemctl start fail2ban
systemctl enable fail2ban
# Durumu kontrol et
fail2ban-client status
fail2ban-client status sshd
Doğru zaman dilimi, log dosyalarının anlamlı olması için önemlidir:
# Mevcut zaman dilimini kontrol et
timedatectl
# Türkiye için
timedatectl set-timezone Europe/Istanbul
# NTP senkronizasyonunu etkinleştir
timedatectl set-ntp true
# Doğrula
timedatectl status
date
# Faydalı araçlar
apt install -y \
curl wget git vim htop \
net-tools dnsutils \
unzip tar \
logwatch
# Sistem bilgisi araçları
apt install -y neofetch
neofetch
Aşağıdaki kontrolleri yaparak kurulumunuzun tamamlandığını doğrulayın:
# SSH servisi çalışıyor mu?
systemctl status sshd
# Firewall aktif mi?
ufw status # veya: firewall-cmd --state
# Fail2Ban çalışıyor mu?
fail2ban-client status
# Sistem güncel mi?
apt list --upgradable 2>/dev/null | head -20
# Açık portlar
ss -tlnp
# Son giriş denemeleri
grep "Failed password" /var/log/auth.log | tail -10
apt update && apt upgrade)PermitRootLogin no)PasswordAuthentication no)Bu adımları tamamladıktan sonra sunucunuz temel güvenlik standartlarını karşılar. Bir sonraki adım olarak Sunucu Güvenlik Sertleştirme rehberimizi incelemenizi öneririz. Düzenli sistem güncellemeleri ve log takibi yapmayı unutmayın.
REXE müşteri panelinde sunucunuzun detay sayfasında root şifresi görüntülenir. Ayrıca sunucu kurulumu tamamlandığında e-posta ile de gönderilir. İlk girişten sonra şifreyi değiştirmeniz önerilir.
Evet, ancak önerilmez. Şifre ile giriş brute-force saldırılarına açıktır. SSH anahtarı kurulduktan sonra PasswordAuthentication no ayarını yaparak şifre girişini devre dışı bırakın. Anahtarınızı kaybetmemek için yedek alın.
Zorunlu değil ama önerilir. Varsayılan 22 portu otomatik tarama araçlarının hedefidir. Port değişikliği bu tür saldırıları önemli ölçüde azaltır. Fail2Ban ile birlikte kullanıldığında çok daha etkili koruma sağlar.
REXE panelinden VNC/KVM konsol erişimi ile sunucuya bağlanabilirsiniz. Konsol üzerinden firewall kurallarını düzeltin: ufw allow SSH_PORTUNUZ/tcp komutunu çalıştırın. Firewall kurallarını değiştirmeden önce her zaman SSH portuna izin verdiğinizden emin olun.
REXE panelinden VNC konsol ile bağlanın ve şu komutu çalıştırın: fail2ban-client set sshd unbanip KENDİ_IP_ADRESİNİZ. Gelecekte bu sorunu önlemek için kendi IP adresinizi ignoreip listesine ekleyin: /etc/fail2ban/jail.local dosyasında ignoreip = 127.0.0.1/8 KENDİ_IP satırını ekleyin.
VPS için doğru Linux dağıtımını seçin: Ubuntu LTS, Debian, AlmaLinux ve Rocky Linux karşılaştırması, artıları ve eksileri, kullanım senaryoları ve öneriler.
VPS, VDS ve Dedicated sunucu arasındaki teknik farklar: sanallaştırma türleri, performans karşılaştırması, kullanım senaryoları, fiyatlandırma ve ne zaman yükseltme yapmalısınız.