
Anahtar tabanlı girişe geçmek, sunucu güvenliğinde en yüksek getirili tek adımdır ve otomatik sözlük saldırılarını tamamen anlamsız kılar. Ancak SSH güvenliği orada bitmez. Bu yazı, temel sertleştirmenin ötesindeki katmanları — erişim kısıtlama, iki adımlı doğrulama, oturum yönetimi ve denetim — ele alıyor.
Kendi sanal sunucunuz üzerinde bu katmanları kurmak, saldırı yüzeyini kademeli olarak daraltır. Her katman bağımsız değer taşır; hepsini birden uygulamanız gerekmez.
Katman 1: Anahtar Yönetimini Disipline Etmek
Anahtar tabanlı girişe geçmiş olmak yeterli değil; anahtarların nasıl yönetildiği de önemlidir.
- Özel anahtarı parola ile koruyun. Parolasız bir özel anahtar, bilgisayarınıza erişen herkese sunucunuzu açar. Parola koruması, anahtar dosyası çalınsa bile ek bir engel koyar.
- Her kişi ve her makine için ayrı anahtar üretin. Paylaşılan tek bir anahtar, birinin ayrılması durumunda tüm erişimi yeniden kurmayı gerektirir. Ayrı anahtarlarda yalnızca ilgili satırı silersiniz.
- Yetkili anahtarlar listesini düzenli gözden geçirin. Sunucudaki yetkili anahtar dosyası zamanla birikir. Altı ayda bir açıp her satırın kime ait olduğunu doğrulayın — tanımadığınız bir satır ciddi bir bulgudur.
- Anahtar iletmeyi (agent forwarding) dikkatli kullanın. Güvenmediğiniz bir sunucuya bağlanırken anahtar iletimini açmak, o sunucunun yöneticisine anahtarınızı kullanma imkânı verir.
Katman 2: Erişimi Kaynağa Göre Kısıtlamak
SSH portunu tüm internete açık bırakmak, anahtar tabanlı giriş kullansanız bile gereksizdir. Erişimi daraltmanın üç yolu vardır:
IP Kısıtlaması
Sabit bir IP adresinden bağlanıyorsanız, güvenlik duvarında SSH portunu yalnızca o adrese açın. Bu tek kural, sunucunuzu tarayan botların tamamını devre dışı bırakır ve log dosyalarınızı belirgin biçimde temizler.
Riski şudur: IP adresiniz değişirse kendinizi dışarıda bırakırsınız. Bu yüzden uygularken sağlayıcınızın konsol erişimi olduğundan emin olun — kurtarma yolunuz odur.
VPN veya Atlama Sunucusu
Daha esnek bir yaklaşım: SSH'ı internete hiç açmayıp yalnızca özel bir ağ üzerinden erişilebilir kılmak. Ekip halinde çalışıyorsanız tek bir sertleştirilmiş atlama (bastion) sunucusu üzerinden geçmek, denetimi de tek noktada toplar.
Port Değiştirme
Varsayılan portu değiştirmek gerçek bir güvenlik katmanı değildir — kararlı bir saldırgan portu saniyeler içinde bulur. Ancak varsayılan portu tarayan otomatik botların büyük bölümünü eler. Anahtar tabanlı girişin yerine değil, yanına eklenmesi gereken bir önlemdir.
Katman 3: İki Adımlı Doğrulama
Anahtar tabanlı giriş güçlüdür ama tek faktörlüdür: anahtar dosyası ele geçirilirse erişim de ele geçirilir. Kritik sunucularda anahtarın üzerine zaman tabanlı bir doğrulama kodu eklemek, "sahip olduğun bir şey" ile "bildiğin bir şey" kombinasyonunu kurar.
Uygularken iki noktaya dikkat edin: otomatik dağıtım ve yedekleme süreçleriniz SSH kullanıyorsa, onlar için ayrı ve iki adımlı doğrulamadan muaf bir erişim yolu tanımlamanız gerekir. Aksi halde otomasyonlarınız kırılır.
Katman 4: Oturum ve Yetki Yönetimi
| Ayar | Ne sağlar |
|---|---|
| Root ile doğrudan giriş kapalı | Saldırganın kullanıcı adını da bilmesi gerekir; işlemler kayda geçer |
| Parola girişi kapalı | Sözlük saldırıları tamamen anlamsız hale gelir |
| Boşta kalma zaman aşımı | Açık unutulmuş oturumlar kapanır |
| Giriş yetkisi olan kullanıcı listesi | Yalnızca belirli hesaplar SSH ile bağlanabilir |
| Başarısız deneme engelleme | Israrcı kaynakları otomatik olarak bloklar |
Katman 5: Denetim ve İzleme
Güvenlik yalnızca engellemek değil, olup biteni görmektir. Şu üçünü kurun:
- Başarılı girişleri izleyin. Engellenen denemeler gürültüdür; asıl dikkat edilmesi gereken başarılı girişlerdir. Beklenmedik bir saatte veya tanımadığınız bir kaynaktan gelen başarılı giriş, en ciddi uyarı sinyalidir.
- Yetkili anahtar dosyasını izleyin. Bu dosyaya yeni bir satır eklenmesi, bir saldırganın kalıcı erişim kurduğunun klasik göstergesidir. Dosya değişikliğinde uyarı alacak şekilde yapılandırın.
- Yönetici yetkisi kullanımını kayda alın. Kim, ne zaman, hangi komutu yükseltilmiş yetkiyle çalıştırdı? Bir olay incelemesinde en değerli kayıt budur.
Kendinizi Kilitlemeye Karşı
Bu yazıdaki her önlem, yanlış uygulandığında sizi sunucunun dışında bırakabilir. Üç kural bu riski ortadan kaldırır:
- Mevcut oturumunuzu kapatmayın. Değişiklikten sonra ayrı bir pencerede yeni bağlantı deneyin. Çalışıyorsa eski oturumu kapatın; çalışmıyorsa açık oturumdan geri alın.
- Konsol erişiminizi doğrulayın. Sağlayıcınızın panelinden sunucu konsoluna erişebildiğinizi önceden test edin. Bu, SSH tamamen kapandığında tek kurtarma yolunuzdur.
- Değişiklikleri tek tek yapın. Beş ayarı aynı anda değiştirip test etmek, sorun çıktığında hangisinin sorumlu olduğunu bulmayı imkânsızlaştırır.
Sonuç
SSH güvenliği tek bir ayar değil, kademeli bir katman düzenidir: anahtar disiplini, erişim kısıtlama, ikinci faktör, oturum yönetimi ve denetim. Bir VDS için ilk üç katman çoğu senaryoda yeterli koruma sağlar; denetim katmanı ise koruma değil görünürlük verir ve bir olay yaşandığında en çok o işinize yarar. Hangi katmanı uygularsanız uygulayın, konsol erişiminizi önceden doğrulamayı atlamayın.
Sıkça Sorulan Sorular (SSS)
SSH portunu değiştirmek yeterli mi?
Tek başına hayır. Otomatik tarama gürültüsünü belirgin biçimde azaltır ama hedefli bir saldırganı durdurmaz. Anahtar tabanlı giriş ve parola girişinin kapatılması asıl korumayı sağlar; port değişikliği bunların tamamlayıcısıdır.
Anahtar kullanıyorsam iki adımlı doğrulamaya gerek var mı?
Çoğu senaryoda anahtar tabanlı giriş yeterlidir. İkinci faktör, anahtar dosyasının çalınma riskinin yüksek olduğu durumlarda (paylaşılan cihazlar, gezici ekipler) veya sunucuda kritik veri barındığında anlamlıdır. Uygularken otomasyonlarınızı muaf tutmayı unutmayın.
SSH'a erişimimi kaybettim, ne yapmalıyım?
Sağlayıcınızın panelinden sunucu konsoluna bağlanın — bu erişim SSH'tan bağımsız çalışır. Konsoldan yapılandırmayı geri alabilir veya güvenlik duvarı kuralını düzeltebilirsiniz. Bu yüzden konsol erişiminizi sorun yaşamadan önce test etmek önemlidir.
Başarısız deneme engelleme aracı hâlâ gerekli mi?
Parola girişini kapattıysanız SSH için katkısı sınırlıdır. Ancak aynı araç web uygulamanızın yönetim paneline yönelik denemeleri de yakalayabildiği için kurmaya değer — değeri SSH'tan çok diğer servislerdedir.