Neden Sunucu Güvenliği Bu Kadar Önemli?

Yeni bir Linux sunucusu kurduğunuzda, varsayılan yapılandırmalar genellikle güvenlik açısından optimize edilmemiş olur. İnternete açık bir sunucu, kurulumdan itibaren otomatik tarama botlarının hedefi haline gelir. Bu nedenle sunucunuzu aktif kullanıma almadan önce temel güvenlik adımlarını tamamlamanız hayati önem taşır.

1. Root Girişini Devre Dışı Bırakın

SSH üzerinden doğrudan root girişine izin vermek büyük bir güvenlik riskidir. Önce sudo yetkili bir kullanıcı oluşturun, ardından /etc/ssh/sshd_config dosyasında PermitRootLogin no ayarını yapın.

2. SSH Portunu Değiştirin

Varsayılan 22 numaralı SSH portunun değiştirilmesi, otomatik brute-force saldırılarının büyük bölümünü engeller. /etc/ssh/sshd_config dosyasında Port satırını düzenleyerek 22 yerine farklı bir port numarası belirleyin (örneğin 2222 ya da 5522).

3. SSH Anahtar Doğrulamasına Geçin

Parola yerine SSH anahtar çifti kullanmak, yetkisiz erişim riskini dramatik biçimde azaltır. Yerel makinenizde ssh-keygen ile anahtar çifti oluşturun ve public anahtarı sunucunuza kopyalayın:

ssh-copy-id -i ~/.ssh/id_rsa.pub kullanici@sunucu-ip

4. Güvenlik Duvarını Etkinleştirin

UFW (Ubuntu/Debian) veya firewalld (CentOS/AlmaLinux) kullanarak yalnızca ihtiyaç duyduğunuz portları açın:

  • SSH için belirlediğiniz özel port
  • HTTP (80) ve HTTPS (443)
  • Kullandığınız kontrol paneli portları (örn. 2083, 2087)

5. Sistemi Güncel Tutun

Düzenli sistem güncellemeleri, bilinen güvenlik açıklarına karşı korunmanın en etkili yollarından biridir. Otomatik güvenlik güncellemelerini etkinleştirmenizi öneririz:

yum update -y   # CentOS/AlmaLinux için
apt update && apt upgrade -y   # Ubuntu/Debian için

6. Fail2Ban Kurun

Fail2Ban, belirli sayıda başarısız giriş denemesinin ardından IP adreslerini otomatik olarak engeller. SSH, FTP ve e-posta servislerine yönelik brute-force saldırılarına karşı etkili bir koruma sağlar.

7. Gereksiz Servisleri Kapatın

Sunucunuzda çalışan her servis potansiyel bir saldırı yüzeyidir. İhtiyaç duymadığınız servisleri tespit edip devre dışı bırakın:

systemctl list-units --type=service --state=running

8. SELinux veya AppArmor'ı Etkinleştirin

SELinux (CentOS/RHEL) ve AppArmor (Ubuntu/Debian), zorunlu erişim kontrolü politikaları uygulayarak saldırıların etkisini sınırlar. SELinux'u devre dışı bırakmak kolayca yapılabilen ama sık karşılaşılan tehlikeli bir hatadır.

9. Güçlü Parola Politikası Belirleyin

Tüm sistem hesapları için karmaşık ve uzun parolalar kullanın. PAM modülleri aracılığıyla minimum parola uzunluğu, büyük/küçük harf, sayı ve özel karakter gibi kurallar zorunlu hale getirilebilir.

10. Log Takibini ve Uyarılarını Ayarlayın

Sunucu loglarını düzenli incelemek, olası saldırıları erkenden fark etmenizi sağlar. Logwatch veya Graylog gibi araçlar log analizini kolaylaştırır. Kritik olaylar için e-posta uyarıları kurmanız önerilir.

Özet Kontrol Listesi

  1. Root SSH girişini devre dışı bırak
  2. SSH portunu değiştir
  3. SSH anahtar doğrulamasına geç
  4. Güvenlik duvarını yapılandır
  5. Sistemi güncel tut
  6. Fail2Ban kur
  7. Gereksiz servisleri kapat
  8. SELinux/AppArmor etkinleştir
  9. Güçlü parola politikası uygula
  10. Log takibi kur

Bu 10 adımı tamamladığınızda sunucunuz temel saldırı vektörlerine karşı önemli ölçüde korunmuş olacaktır. Güvenlik tek seferlik bir iş değil, sürekli bir süreçtir; bu nedenle düzenli denetimler yapmayı alışkanlık haline getirin.