İ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 / Rocky2. 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 / Rocky3. 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-IPDevam 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 yesArdından servisi yeniden başlatın:
bashsshd -t && systemctl restart sshdsshd -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 enablebash# AlmaLinux / Rocky
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reloadVeritabanı 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 sshd7. Otomatik güvenlik güncellemelerini açın
bash# Ubuntu / Debian
apt install -y unattended-upgrades
dpkg-reconfigure --priority=low unattended-upgradesbash# AlmaLinux / Rocky
dnf install -y dnf-automatic
systemctl enable --now dnf-automatic.timer8. Gereksiz servisleri kapatın
Çalışan her servis bir saldırı yüzeyidir. Neyin dinlediğine bakın:
bashss -lptnTanı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.
