🔒
vps güvenlik önlemleri

VPS Güvenlik Önlemleri - Kapsamlı Rehber

VPS sunucunuzu siber tehditlere karşı korumak için almanız gereken temel güvenlik önlemleri. SSH sertleştirme, firewall yapılandırması ve daha fazlası.

Güvenlik Uzmanı17 Aralık 202410 dk

VPS Güvenliği Neden Önemli?

VPS sunucunuz, siber suçluların sürekli hedefi altındadır. Güvenlik açıkları, veri kaybı, hizmet kesintisi ve mali kayıplara yol açabilir. Bu rehber, sunucunuzu güvende tutmak için gerekli tüm önlemleri kapsar.

⚠️ Kritik: Güvenlik önlemleri almak, isteğe bağlı değil zorunluluktur. Saldırılar sürekli gerçekleşmektedir!

1. SSH Güvenlik Sertleştirmesi

SSH, sunucunuza erişimin ana kapısıdır. Bu kapıyı güvenli hale getirmek kritik öneme sahiptir:

# SSH yapılandırma dosyasını düzenle
sudo nano /etc/ssh/sshd_config

# Güvenlik ayarları
Port 2222 # Varsayılan port değiştir
Protocol 2 # SSH2 protokolü kullan
PermitRootLogin no # Root girişini kapat
PasswordAuthentication no # Şifre girişini kapat
PubkeyAuthentication yes # Anahtar doğrulamayı aç
MaxAuthTries 3 # Maksimum deneme sayısı
ClientAliveInterval 300 # Bağlantı zaman aşımı
ClientAliveCountMax 2 # Maksimum boşta kalma

# Belirli kullanıcılara izin ver
AllowUsers yourusername

# SSH servisini yeniden başlat
sudo systemctl restart ssh

2. Güçlü Güvenlik Duvarı Yapılandırması

UFW (Uncomplicated Firewall) ile kapsamlı güvenlik duvarı kuralları oluşturun:

# UFW kurulumu ve temel ayarlar
sudo apt install ufw -y
sudo ufw default deny incoming
sudo ufw default allow outgoing

# Gerekli portları aç
sudo ufw allow 2222/tcp # SSH (değiştirilen port)
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS

# Belirli IP'den erişim
sudo ufw allow from 192.168.1.100 to any port 2222

# Rate limiting (DDoS koruması)
sudo ufw limit 2222/tcp

# UFW'yi aktifleştir
sudo ufw enable
sudo ufw status verbose

3. Fail2Ban Kurulumu

Brute force saldırılarına karşı otomatik koruma sağlar:

# Fail2ban kurulumu
sudo apt install fail2ban -y

# Yapılandırma dosyası oluştur
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local

📄 Fail2Ban Yapılandırma Örneği

[DEFAULT]
bantime = 3600 # 1 saat ban
findtime = 600 # 10 dakika izleme
maxretry = 3 # 3 başarısız deneme

[sshd]
enabled = true
port = 2222 # SSH portunu değiştirdiyseniz
logpath = /var/log/auth.log
maxretry = 3
# Fail2ban'ı başlat
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

# Durum kontrolü
sudo fail2ban-client status
sudo fail2ban-client status sshd

4. Sistem Güncellemeleri

Güvenlik açıklarını kapatmak için düzenli güncellemeler kritiktir:

# Manuel güncelleme
sudo apt update && sudo apt upgrade -y

# Otomatik güvenlik güncellemeleri
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure -plow unattended-upgrades

# Yapılandırmayı düzenle
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

5. Kullanıcı Hesap Güvenliği

Güçlü parola politikaları ve kullanıcı yetkilendirmesi:

# Parola karmaşıklığı için libpam kurulumu
sudo apt install libpam-pwquality -y

# Parola politikasını düzenle
sudo nano /etc/security/pwquality.conf

# Örnek ayarlar:
minlen = 12 # Minimum 12 karakter
minclass = 3 # En az 3 farklı karakter türü
maxrepeat = 2 # Maksimum 2 tekrar eden karakter

6. Dosya ve Dizin İzinleri

Kritik dosyalar için doğru izinleri ayarlayın:

# SSH anahtarları için izinler
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub

# Sistem yapılandırma dosyaları
sudo chmod 644 /etc/ssh/sshd_config
sudo chmod 640 /etc/shadow

# Web dizini izinleri
sudo chown -R www-data:www-data /var/www/
sudo find /var/www/ -type d -exec chmod 755 \;
sudo find /var/www/ -type f -exec chmod 644 \;

7. SSL/TLS Sertifikaları

Web trafiğinizi şifrelemek için SSL sertifikası kullanın:

# Let's Encrypt kurulumu
sudo apt install certbot python3-certbot-nginx -y

# SSL sertifikası al
sudo certbot --nginx -d yourdomain.com

# Otomatik yenileme
sudo crontab -e
# Aşağıdaki satırı ekleyin:
0 12 * * * /usr/bin/certbot renew --quiet

8. Log İzleme ve Analiz

Sistem loglarını düzenli olarak kontrol edin:

📊 Önemli Log Dosyaları

# Sistem logları
sudo tail -f /var/log/syslog
sudo tail -f /var/log/auth.log # SSH girişleri
sudo tail -f /var/log/fail2ban.log # Fail2ban logları

# Web sunucu logları
sudo tail -f /var/log/nginx/access.log
sudo tail -f /var/log/nginx/error.log

9. Rootkit ve Malware Taraması

Sistem bütünlüğünü korumak için düzenli taramalar yapın:

# ClamAV antivirus kurulumu
sudo apt install clamav clamav-daemon -y
sudo freshclam # Virus tanımlarını güncelle

# Rootkit tarayıcısı kurulumu
sudo apt install rkhunter chkrootkit -y

# Tarama komutları
sudo clamscan -r /home/ # Antivirus tarama
sudo rkhunter --check # Rootkit tarama
sudo chkrootkit # Alternatif rootkit tarama

10. Yedekleme ve Disaster Recovery

Güvenlik ihlali durumunda hızlı kurtarma için:

# Otomatik yedekleme scripti
sudo nano /usr/local/bin/backup.sh

#!/bin/bash
BACKUP_DIR="/backups/$(date +%Y%m%d)"
mkdir -p $BACKUP_DIR

# Önemli dosyaları yedekle
tar -czf $BACKUP_DIR/etc.tar.gz /etc/
tar -czf $BACKUP_DIR/var-www.tar.gz /var/www/
mysqldump --all-databases > $BACKUP_DIR/databases.sql

# Script'i çalıştırılabilir yap
sudo chmod +x /usr/local/bin/backup.sh

# Crontab'a ekle (her gün 02:00'da)
0 2 * * * /usr/local/bin/backup.sh

Güvenlik Kontrol Listesi

🔒 Güvenlik Kontrolleri

Temel Güvenlik
  • ☐ SSH port değiştirildi
  • ☐ Root girişi kapatıldı
  • ☐ SSH anahtarları kullanılıyor
  • ☐ Güvenlik duvarı aktif
  • ☐ Fail2ban kuruldu
İleri Güvenlik
  • ☐ SSL sertifikası aktif
  • ☐ Otomatik güncellemeler açık
  • ☐ Log izleme aktif
  • ☐ Düzenli yedekleme yapılıyor
  • ☐ Malware taraması aktif

Yaygın Güvenlik Tehditleri

🎯 Brute Force Saldırıları

Tehdit: SSH şifre kırma denemeleri

Koruma: Fail2ban, SSH anahtarları, port değişikliği

🦠 Malware ve Rootkit

Tehdit: Zararlı yazılım bulaşması

Koruma: Düzenli tarama, güncellemeler, dosya izinleri

⚡ DDoS Saldırıları

Tehdit: Hizmet engelleme saldırıları

Koruma: Rate limiting, CDN kullanımı, trafik izleme

Sonuç

VPS güvenliği, sürekli dikkat gerektiren bir süreçtir. Bu rehberdeki önlemleri uygulayarak sunucunuzu büyük ölçüde güvende tutabilirsiniz. Güvenlik, tek seferlik bir işlem değil, sürekli izleme ve güncelleme gerektiren bir disiplindir. Düzenli kontroller yapmayı ve güvenlik güncellemelerini takip etmeyi unutmayın.

Güvenli VPS ile Huzur İçinde Çalışın! 🛡️

Güvenlik önlemleri önceden alınmış, yönetilen VPS paketlerimizi inceleyin!