Güvenlik

Yeni bir sunucuda ilk gün yapılması gereken 10 güvenlik adımı

İnternete açılan bir sunucu dakikalar içinde taranmaya başlar. İlk gün yapılacak on adım, saldırı yüzeyinin büyük bölümünü kapatır.

10 dakika okuma
Cam kalkan ve asma kilitle korunan sunucu

İnternete açılan bir sunucu, kurulumdan dakikalar sonra otomatik tarayıcıların hedefi olur. Bu taramalar kişisel değildir; adres aralıklarını gezip zayıf yapılandırma arayan botlardır.

Aşağıdaki on adım, o botların aradığı açıkların büyük bölümünü kapatır. Hepsi ilk gün yapılmalıdır.

1. Sistemi güncelleyin

En sık istismar edilen açıklar, yaması aylar önce yayımlanmış olanlardır.

bashapt update && apt upgrade -y     # Ubuntu / Debian
dnf update -y                    # AlmaLinux / Rocky

2. Yetkili bir kullanıcı oluşturun

Günlük işleri root ile yapmayın. Yanlış yazılmış tek bir komut geri dönüşü olmayan sonuçlar doğurabilir.

bashadduser vdscim
usermod -aG sudo vdscim          # Ubuntu / Debian
# usermod -aG wheel vdscim       # AlmaLinux / Rocky

3. SSH anahtarı kurun

Parolalar tahmin edilebilir; anahtarlar edilemez. Kendi bilgisayarınızda anahtar üretin:

bashssh-keygen -t ed25519 -C "vdscim-sunucu"
ssh-copy-id vdscim@SUNUCU-IP

Devam etmeden önce yeni bir terminal açıp anahtarla giriş yapabildiğinizi doğrulayın. Bir sonraki adım parola girişini kapatacak; anahtarınız çalışmıyorsa sunucuya erişiminizi kaybedersiniz.

4. SSH'ı sertleştirin

/etc/ssh/sshd_config dosyasında şu satırları ayarlayın:

textPermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes

Ardından servisi yeniden başlatın:

bashsshd -t && systemctl restart sshd

sshd -t yapılandırmayı sınar. Bu kontrolü atlamayın — hatalı bir yapılandırmayla servisi yeniden başlatmak, açık olan tek kapıyı kapatabilir.

5. Güvenlik duvarını kurun

Varsayılan olarak her şeyi kapatın, yalnızca ihtiyaç duyduklarınızı açın.

bash# Ubuntu / Debian
ufw default deny incoming
ufw default allow outgoing
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
bash# AlmaLinux / Rocky
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Veritabanı portlarını (3306, 5432) dışarıya asla açmayın. Uzaktan erişim gerekiyorsa SSH tüneli kullanın.

6. fail2ban kurun

Tekrarlayan başarısız giriş denemelerinde kaynak IP'yi geçici olarak engeller.

bashapt install -y fail2ban          # Ubuntu / Debian
dnf install -y fail2ban          # AlmaLinux / Rocky
systemctl enable --now fail2ban
fail2ban-client status sshd

7. Otomatik güvenlik güncellemelerini açın

bash# Ubuntu / Debian
apt install -y unattended-upgrades
dpkg-reconfigure --priority=low unattended-upgrades
bash# AlmaLinux / Rocky
dnf install -y dnf-automatic
systemctl enable --now dnf-automatic.timer

8. Gereksiz servisleri kapatın

Çalışan her servis bir saldırı yüzeyidir. Neyin dinlediğine bakın:

bashss -lptn

Tanımadığınız ya da kullanmadığınız her servisi durdurun ve devre dışı bırakın.

9. Yedekleme kurun ve geri yüklemeyi test edin

Yedeği olmayan sunucu, bir arıza uzaklıktadır. Ama daha önemlisi: test edilmemiş yedek, yedek değildir.

Yedeklerinizi sunucunun dışında bir yerde saklayın ve en az ayda bir kez gerçekten geri yükleyip yükleyemediğinizi deneyin. Bu konuyu yedekleme rehberimizde ayrıntılı ele alıyoruz.

10. İzlemeyi açın

Bir sorunu fark etmediğiniz sürece müdahale edemezsiniz. En azından şunları izleyin:

  • Disk doluluğu — dolu disk, hizmetin sessizce durmasının en yaygın sebebidir
  • Bellek ve işlemci kullanımı
  • Başarısız giriş denemeleri (journalctl -u sshd)
  • Sertifika son kullanma tarihleri

Bunlar yeterli mi?

Bu on adım, otomatik taramaların büyük bölümünü etkisiz kılar. Hedefli bir saldırıya karşı ise uygulama katmanı da güvenli olmalıdır: güncel yazılım, güçlü parolalar, en az yetki ilkesi ve düzenli günlük incelemesi.

Ağ katmanındaki hacimsel saldırılar sunucu içinden çözülemez; onlar için DDoS koruma rehberimize bakabilirsiniz.