Sunucu Güvenliği Nasıl Sağlanır? 10 Kritik Önlem ve En İyi Uygulamalar

Bir sunucu kiraladınız, web sitenizi veya uygulamanızı kurdunuz. Peki sunucunuz ne kadar güvende? İnternete bağlı her sunucu saniyeler içinde otomatik tarama botlarının radarına girer. Zayıf şifreler, güncel olmayan yazılımlar ve yanlış yapılandırmalar siber saldırganlar için açık davet niteliğindedir.

Sunucu güvenliği tek seferlik bir kurulum değil, sürekli dikkat gerektiren bir süreçtir. Bu rehberde sunucunuzu korumak için uygulamanız gereken 10 kritik önlemi, teknik detaylarıyla birlikte ele alıyoruz.

Neden Sunucu Güvenliği Bu Kadar Kritik?

İnternete bağlı bir sunucu dakikalar içinde otomatik tarama araçlarının hedefi haline gelir. Bu araçlar açık portları, zayıf şifreleri ve bilinen güvenlik açıklarını arar. Güvensiz bir sunucu şu sonuçlara yol açabilir:

  • Veri hırsızlığı — müşteri bilgileri, finansal veriler, kişisel veriler
  • Fidye yazılımı saldırısı — verileriniz şifrelenerek fidye talep edilir
  • Botnet'e dahil edilme — sunucunuz başkalarına saldırmak için kullanılır
  • Web sitesi çöküşü — siteniz servis dışı bırakılır
  • İtibar kaybı — müşteri güveni sarsılır
  • KVKK yaptırımları — yetersiz güvenlik nedeniyle yasal sorumluluk

1. SSH Güvenliğini Güçlendirin

SSH, Linux sunuculara uzaktan bağlanmak için kullanılan protokoldür. Yanlış yapılandırılmış SSH en yaygın saldırı hedeflerinden biridir.

SSH Portunu Değiştirin

Varsayılan SSH portu olan 22, tüm otomatik saldırıların ilk denediği porttur. Farklı bir porta taşımak saldırı girişimlerini dramatik biçimde azaltır.

# /etc/ssh/sshd_config dosyasını düzenleyin sudo nano /etc/ssh/sshd_config # Port 22 satırını değiştirin Port 2299  # Örnek port, kendiniz belirleyin # SSH servisini yeniden başlatın sudo systemctl restart sshd

Firewall'da yeni portu açmayı unutmayın:

sudo ufw allow 2299/tcp sudo ufw deny 22/tcp

Şifre Girişini Kapatın, SSH Anahtarı Kullanın

Şifre tabanlı SSH girişi brute force saldırılarına açıktır. SSH anahtar çifti kullanmak çok daha güvenlidir.

# Yerel bilgisayarınızda SSH anahtarı oluşturun ssh-keygen -t ed25519 -C "sunucu-anahtarim" # Public anahtarı sunucuya kopyalayın ssh-copy-id -i ~/.ssh/id_ed25519.pub kullanici@sunucu-ip # Şifre girişini devre dışı bırakın # /etc/ssh/sshd_config dosyasında: PasswordAuthentication no

Root Girişini Engelleyin

Root kullanıcısıyla doğrudan SSH girişini engelleyin. Bunun yerine normal kullanıcıyla giriş yapıp sudo ile yetki yükseltin.

# /etc/ssh/sshd_config dosyasında: PermitRootLogin no

Fail2Ban Kurun

Başarısız giriş denemelerini otomatik tespit ederek ilgili IP'yi geçici olarak engelleyen araçtır.

sudo apt install fail2ban sudo systemctl enable fail2ban sudo systemctl start fail2ban

2. Firewall Yapılandırın

Firewall, sunucunuza gelen ve giden trafiği denetleyen ilk savunma hattıdır. Yalnızca gerekli portları açık bırakın, geri kalanını engelleyin. Firewall hakkında daha ayrıntılı bilgi için firewall nedir yazımıza bakabilirsiniz.

# UFW ile temel firewall yapılandırması sudo ufw default deny incoming sudo ufw default allow outgoing # Gerekli portları açın sudo ufw allow [SSH-PORT]/tcp sudo ufw allow 80/tcp    # HTTP sudo ufw allow 443/tcp   # HTTPS # UFW'yi etkinleştirin sudo ufw enable # Durumu kontrol edin sudo ufw status verbose

Hangi portlar açık olmalı?

ServisPortProtokol
SSH (özel port)BelirlediğinizTCP
HTTP80TCP
HTTPS443TCP
MySQL (yalnızca yerel)3306TCP
FTP (kullanıyorsanız)21TCP
Mail (kullanıyorsanız)25, 587, 993TCP

Kullanmadığınız servislerin portları kapalı olmalıdır.

3. Sistemi ve Yazılımları Güncel Tutun

Güvenlik açıklarının büyük çoğunluğu güncel olmayan yazılımlardan kaynaklanır. Saldırganlar bilinen açıkları otomatik araçlarla tarar.

# Ubuntu/Debian için sudo apt update && sudo apt upgrade -y # AlmaLinux/Rocky Linux için sudo dnf update -y # Otomatik güvenlik güncellemelerini etkinleştirin (Ubuntu) sudo apt install unattended-upgrades sudo dpkg-reconfigure unattended-upgrades

Güncelleştirilmesi gereken bileşenler:

  • İşletim sistemi çekirdeği
  • Web sunucusu yazılımı (LiteSpeed, Nginx, Apache)
  • PHP sürümü
  • Veritabanı yazılımı (MySQL, MariaDB)
  • SSL kütüphaneleri (OpenSSL)

4. SSL Sertifikası Kullanın

SSL sertifikası sunucu ile kullanıcı arasındaki iletişimi şifreler. HTTPS olmayan sunucular veri iletimini açık metin olarak yapar — bu veriler ağ dinleme saldırılarıyla ele geçirilebilir.

TuemCloud'un tüm hosting ve sunucu paketlerinde ücretsiz SSL sertifikası standarttır. SSL hakkında kapsamlı bilgi için SSL sertifikası nedir yazımıza bakabilirsinuzu bakabilirsiniz.

5. DDoS Koruması Aktif Edin

DDoS saldırıları sunucunuzu aşırı trafik yükleyerek erişilemez hale getirir. Özellikle rekabetçi sektörlerde ve e-ticaret platformlarında bu saldırılar ciddi gelir kaybına yol açar.

DDoS koruması için katmanlı yaklaşım:

Hosting düzeyinde: TuemCloud'un tüm paketlerinde ücretsiz DDoS koruması standarttır.

CDN düzeyinde: Cloudflare gibi CDN hizmetleri trafik hacim saldırılarını veri merkezlerine dağıtarak emer.

Uygulama düzeyinde: Hız sınırlama (rate limiting) ve bot engelleme kuralları uygulama katmanı DDoS saldırılarını azaltır.

DDoS saldırıları hakkında DDoS saldırısı nedir yazımıza bakabilirsiniz.

6. Güçlü Şifre Politikası Uygulayın

Zayıf şifreler brute force saldırılarının birincil hedefidir. Sunucunuzdaki tüm hesaplar için güçlü şifre politikası zorunludur.

Güçlü şifre kriterleri:

  • En az 16 karakter
  • Büyük harf, küçük harf, rakam ve özel karakter kombinasyonu
  • Sözlük kelimeleri veya tahmin edilebilir diziler içermemeli
  • Her servis için benzersiz şifre

Linux'ta şifre politikası yapılandırma:

# PAM modülünü kurun sudo apt install libpam-pwquality # /etc/security/pwquality.conf dosyasını düzenleyin minlen = 16 minclass = 4 maxrepeat = 3

7. Kullanıcı ve Yetki Yönetimi

Minimum Yetki Prensibi

Her kullanıcıya yalnızca ihtiyaç duyduğu kadar yetki verin. Root yetkisi yalnızca sistem yönetimi için kullanılmalı, günlük işlemler için standart kullanıcı hesabı tercih edilmelidir.

# Yeni kullanıcı oluşturun sudo adduser yeni_kullanici # Sudo yetkisi verin sudo usermod -aG sudo yeni_kullanici # Kullanıcı listesini kontrol edin cat /etc/passwd

Kullanılmayan Hesapları Silin

Eski çalışanların hesapları, test için oluşturulan hesaplar ve varsayılan sistem hesapları güvenlik riski oluşturur. Kullanılmayan hesapları düzenli olarak temizleyin.

# Kullanıcıyı silin sudo userdel -r eski_kullanici

Sudo Erişimini Denetleyin

Sudo yetkisine sahip kullanıcıları düzenli olarak gözden geçirin.

# Sudo yetkili kullanıcıları listeleyin getent group sudo

8. Düzenli Yedekleme Yapın

En güçlü güvenlik önlemi bile %100 koruma garantisi vermez. Saldırı, donanım arızası veya insan hatası durumunda verilerinizi kurtarabilmek için düzenli yedekleme şarttır.

3-2-1 Yedekleme Kuralı:

  • 3 kopya veri bulundurun
  • 2 farklı depolama ortamı kullanın
  • 1 kopya farklı lokasyonda (off-site) saklayın

Linux'ta otomatik yedekleme:

# rsync ile uzak sunucuya yedekleme rsync -avz --delete /var/www/ kullanici@yedek-sunucu:/backup/www/ # Cron ile günlük otomatik yedekleme crontab -e # Her gece saat 02:00'de yedek al 0 2 * * * rsync -avz /var/www/ kullanici@yedek-sunucu:/backup/www/

9. Sunucu Loglarını İzleyin

Sunucu logları, güvenlik olaylarının en değerli kaynağıdır. Düzenli log analizi saldırıları tespit etmenizi ve önlemenizi sağlar.

İzlenmesi gereken kritik log dosyaları:

# Kimlik doğrulama logları tail -f /var/log/auth.log # Sistem logları tail -f /var/log/syslog # Web sunucusu logları tail -f /var/log/nginx/access.log tail -f /var/log/nginx/error.log # Fail2Ban logları tail -f /var/log/fail2ban.log

Şüpheli aktivite belirtileri:

  • Bilinmeyen IP'lerden yoğun başarısız giriş denemeleri
  • Gece saatlerinde anormal sistem aktivitesi
  • Beklenmedik yüksek CPU veya ağ kullanımı
  • Yeni oluşturulan bilinmeyen kullanıcı hesapları

Logwatch gibi araçlar günlük log özetini e-posta ile gönderir:

sudo apt install logwatch

10. Güvenlik Taraması ve Denetim Yapın

Sunucunuzu düzenli olarak güvenlik taramasından geçirmek zafiyetleri proaktif biçimde tespit etmenizi sağlar.

Açık Port Taraması

# nmap ile açık portları tarayın sudo apt install nmap nmap -sV localhost

Rootkit Taraması

# rkhunter kurulumu ve tarama sudo apt install rkhunter sudo rkhunter --update sudo rkhunter --check

Kötü Amaçlı Yazılım Taraması

# ClamAV kurulumu sudo apt install clamav sudo freshclam sudo clamscan -r /var/www/

Lynis ile Güvenlik Denetimi

Lynis, Linux sistemlerin güvenlik durumunu kapsamlı biçimde değerlendiren açık kaynaklı bir denetim aracıdır.

sudo apt install lynis sudo lynis audit system

Lynis denetimi tamamlandığında güvenlik skoru ve iyileştirme önerileri listesi sunar.

Linux Sunucu Güvenlik Sertleştirme (Hardening) Kontrol Listesi

Sunucunuzu yayına almadan önce şu maddeleri kontrol edin:

SSH Güvenliği:

  • ✅ SSH portu değiştirildi
  • ✅ Root girişi engellendi
  • ✅ Şifre girişi kapatıldı, SSH anahtarı aktif
  • ✅ Fail2Ban kuruldu

Ağ Güvenliği:

  • ✅ Firewall aktif, yalnızca gerekli portlar açık
  • ✅ DDoS koruması aktif
  • ✅ SSL sertifikası kuruldu

Sistem Güvenliği:

  • ✅ İşletim sistemi ve yazılımlar güncel
  • ✅ Kullanılmayan servisler kapatıldı
  • ✅ Güçlü şifre politikası uygulandı
  • ✅ Minimum yetki prensibi uygulandı

İzleme ve Yedekleme:

  • ✅ Otomatik yedekleme kuruldu
  • ✅ Log izleme aktif
  • ✅ Düzenli güvenlik taraması planlandı

Hosting Altyapısının Sunucu Güvenliğine Etkisi

Sunucu güvenliği yalnızca sizin yapılandırmalarınızdan ibaret değildir — hosting sağlayıcısının altyapısı da kritik öneme sahiptir.

Güvenli hosting altyapısında bulunması gerekenler:

  • Sunucu düzeyinde firewall
  • Ücretsiz DDoS koruması
  • İzole hosting ortamı (VDS/VPS)
  • Otomatik yedekleme
  • 7/24 güvenlik izleme
  • Proaktif güvenlik müdahalesi

TuemCloud olarak tüm sunucu paketlerimizde bu güvenlik standartlarını karşılayan altyapı sunuyoruz. Yönetilen sunucu seçeneğimizde tüm güvenlik yapılandırması teknik ekibimiz tarafından yönetilir. Yönetilen sunucu nedir yazımıza bakabilirsiniz.

Sunucu paketlerimizi incelemek için sanal sunucu kiralama sayfamıza göz atın.

Sıkça Sorulan Sorular

Sunucu güvenliği için en kritik ilk adım nedir?
SSH güvenliğini sağlamak ve firewall yapılandırmak en kritik ilk adımlardır. Bu iki önlem alındığında sunucunuz otomatik saldırıların büyük çoğunluğuna karşı korunmuş olur.

Linux sunucu mu, Windows sunucu mu daha güvenli?
Her ikisi de doğru yapılandırıldığında güvenli olabilir. Genel kanı Linux'un daha az saldırı hedefi olduğu yönündedir. Linux ve Windows sunucu karşılaştırması için Linux sunucu mu, Windows sunucu mu yazımıza bakabilirsiniz.

Sunucum hacklendiğini nasıl anlarım?
Anormal CPU/RAM kullanımı, bilinmeyen işlemler, değiştirilmiş dosyalar, yetkisiz yeni kullanıcılar ve şüpheli ağ trafiği hacklenme belirtileridir. Düzenli log inceleme bu belirtileri erken tespit etmenizi sağlar.

Yönetilen sunucu güvenlik sorumluluğunu tamamen ortadan kaldırır mı?
Yönetilen sunucu altyapı güvenliğini büyük ölçüde sağlayıcıya devreder. Ancak uygulama güvenliği (güçlü şifreler, güncel eklentiler, güvenli kod) hâlâ sizin sorumluluğunuzdadır.

Sunucu güvenliği ne sıklıkla gözden geçirilmeli?
Aylık güvenlik taraması, haftalık log incelemesi ve kritik güvenlik yamalarının yayınlanmasının hemen ardından güncelleme yapılması önerilir.