Ana içeriğe geç
Kategoriye Dön

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.

Okuma süresi: 14 dk VPS Başlangıç Rehberleri
vpsilk kurulumsshgüvenlikfirewallfail2banlinuxchecklist

İç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:

hljs bash
ssh root@SUNUCU_IP

Bağlandıktan sonra sisteminizin bilgilerini kontrol edin:

hljs bash
# İş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.

hljs bash
# 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:

hljs bash
# 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:

hljs bash
# 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:

hljs bash
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
hljs bash
# 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)

hljs bash
# 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)

hljs bash
# 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:

hljs bash
# 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
hljs ini
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5

[sshd]
enabled = true
port = 2222
logpath = /var/log/auth.log
maxretry = 3
bantime = 86400
hljs bash
# 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:

hljs bash
# 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

hljs bash
# 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:

hljs bash
# 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.