Sunuculara uzaktan erişim sağlamak için en yaygın kullanılan yöntemlerden biri olan SSH (Secure Shell), aynı zamanda güvenlik açısından en çok hedef alınan protokollerden biridir. SSH yapılandırmasında yapılacak güvenlik iyileştirmeleri, olası saldırı vektörlerini minimize eder. Bu yazıda, SSH servisini sertleştirerek sunucunuzun güvenliğini artırmanın etkili yollarını ele alıyoruz.
1. SSH Port Numarasını Değiştirin
Varsayılan SSH portu olan 22
, brute-force saldırılar için ilk hedeftir. Bu nedenle daha az bilinen bir port kullanmak, tarama botlarının çoğunu engelleyebilir.
sudo nano /etc/ssh/sshd_config
# Port 22 → değiştirin
Port 4822
Değişiklik sonrası
sudo systemctl restart sshd
komutuyla servisi yeniden başlatmayı unutmayın.
2. Root Girişi Devre Dışı Bırakın
Root kullanıcısı üzerinden doğrudan bağlantı kurulmasına izin vermek, büyük bir güvenlik riski oluşturur.
PermitRootLogin no
Alternatif olarak, sudo yetkisine sahip başka bir kullanıcı oluşturup onunla giriş yapılmasını sağlayın.
3. Sadece Belirli Kullanıcılara Erişim Verin
SSH bağlantısı kurabilecek kullanıcıları sınırlandırarak güvenlik duvarı benzeri bir filtre uygulayabilirsiniz.
AllowUsers adminuser
4. SSH Anahtar Tabanlı Kimlik Doğrulama Kullanın
Parola ile giriş yerine public/private key mekanizması kullanmak brute-force saldırılarına karşı çok daha güvenlidir.
ssh-keygen
ile anahtar çifti oluşturun.- Public anahtarı sunucuda
~/.ssh/authorized_keys
içine ekleyin.
PasswordAuthentication no
PubkeyAuthentication yes
5. SSH Timeout Ayarlarını Sıkılaştırın
Bağlantının uzun süre boşta kalması durumunda otomatik kopmasını sağlayarak riskleri azaltabilirsiniz.
ClientAliveInterval 300
ClientAliveCountMax 2
6. SSH Giriş Denemelerine Sınır Koyun (Fail2Ban)
Brute-force saldırılara karşı IP adreslerini geçici olarak engelleyen Fail2Ban, SSH güvenliği için kritik bir bileşendir.
Kurulum ve temel yapılandırma:
sudo apt install fail2ban
sudo systemctl enable fail2ban
7. SSH Version Banner’ı Gizleyin
SSH sürüm bilgisi saldırganlara yön gösterebilir. Bu yüzden versiyon bilgisini gizlemek güvenlik açısından faydalıdır.
DebianBanner no
8. IPv6 Üzerinden Gelen SSH Bağlantılarını Sınırlandırın (isteğe bağlı)
Eğer IPv6 kullanılmıyorsa, SSH’nin IPv6 üzerinden bağlantı almasını devre dışı bırakabilirsiniz.
AddressFamily inet
Sonuç
SSH Hardening, sunucu güvenliği için atılması gereken ilk ve en kritik adımlardan biridir. Özellikle cloud server, VPS, veya VDS altyapılarında root erişimi hedefli saldırılar yaygınlaştığı için bu önlemler temel savunma hattını oluşturur. Ayrıca bu yapılandırmaları düzenli olarak gözden geçirip denetlemek, sürdürülebilir güvenlik açısından büyük önem taşır.