VPS İlk Kurulum Rehberi: Güvenli Sunucu Checklist
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.
İçindekiler
VPS İlk Kurulum Rehberi: Güvenli Sunucu Checklist
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.
Adım 1: İlk SSH Bağlantısı
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
Adım 2: Sistemi Güncelleyin
İ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
Adım 3: Root Dışı Kullanıcı Oluşturun
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
SSH Anahtarı Kurulumu
Ş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
Adım 4: SSH Yapılandırmasını Sertleştirin
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!
Adım 5: Firewall Kurun
UFW ile (Ubuntu/Debian)
# 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 ile (AlmaLinux/Rocky)
# 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
Adım 6: Fail2Ban Kurun
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
Adım 7: Zaman Dilimini Ayarlayın
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
Adım 8: Temel Araçları Kurun
# 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
Kurulum Sonrası Kontrol Listesi
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
✅ Hızlı Checklist
- İlk SSH bağlantısı yapıldı
- Sistem güncellendi (
apt update && apt upgrade) - Root dışı sudo kullanıcısı oluşturuldu
- SSH anahtarı kuruldu
- SSH root girişi devre dışı bırakıldı (
PermitRootLogin no) - SSH şifre girişi devre dışı bırakıldı (
PasswordAuthentication no) - SSH portu değiştirildi (isteğe bağlı)
- Firewall kuruldu ve yapılandırıldı
- Fail2Ban kuruldu ve etkinleştirildi
- Zaman dilimi ayarlandı
- Temel araçlar kuruldu
- Yeni kullanıcı ile SSH bağlantısı test edildi
Sonuç
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.
İlgili Makaleler
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, VDS ve Dedicated Sunucu Farkları: Teknik Karşılaştırma
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.