Önce normal bir yönetici kullanıcı oluşturup SSH anahtarını tanımlıyorum. Kendi bilgisayarınızda anahtar yoksa:
ssh-keygen -t ed25519 -C "sunucu-yonetim"
ssh-copy-id kullanici@sunucu-ipYeni kullanıcıyla anahtar üzerinden giriş yapabildiğinizi doğrulamadan mevcut root oturumunu kapatmayın. Ayrı bir terminal açıp test etmek, kendinizi sunucu dışında bırakmanızı önler.
`/etc/ssh/sshd_config` dosyasında değerlendirdiğim temel ayarlar:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3Dosyayı değiştirdikten sonra önce yapılandırmayı kontrol edip sonra servisi yeniden yüklemek daha güvenli:
sudo sshd -t
sudo systemctl reload sshDağıtıma göre servis adı `sshd` olabilir. SSH portunu değiştirmek log gürültüsünü azaltabilir ama tek başına güvenlik çözümü değildir. Asıl koruma güçlü anahtar, sınırlı yetki ve güncel sistemdir.
Ek olarak şunları yapıyorum:
- UFW veya firewalld ile yalnızca gerekli portları açmak
- Yönetici hesabına sudo vermek, günlük işlerde root kullanmamak
- Otomatik güvenlik güncellemelerini değerlendirmek
- Fail2ban ile tekrar eden başarısız denemeleri sınırlamak
- Sağlayıcı güvenlik grubunu da ayrıca yapılandırmak
- Düzenli olarak `last`, `lastb` ve auth loglarını kontrol etmek
- Özel anahtarı şifreli ve yedekli tutmak
Firewall açarken mevcut SSH portuna izin vermeden sistemi etkinleştirmek bağlantıyı kesebilir. Bu nedenle komut sırası önemli. Ayrıca web sunucusu, Docker veya kontrol paneli kendi kurallarını ekliyorsa UFW davranışını test etmek gerekiyor.
İki faktörlü SSH doğrulaması daha yüksek güvenlik isteyen sistemlerde düşünülebilir, fakat kurtarma planı olmadan uygulanırsa operasyonu zorlaştırabilir. Ben önce sağlayıcının web konsoluna erişebildiğimden emin oluyorum.
Anahtar yönetimi ekip büyüdüğünde daha da önemli hale geliyor. Herkesin aynı private key dosyasını paylaşması yerine kişi başına ayrı anahtar eklemek, biri ekipten ayrıldığında yalnızca ilgili anahtarı kaldırmayı sağlar. `authorized_keys` dosyasını düzenli gözden geçirmek ve kullanılmayan hesapları kilitlemek gerekiyor. Kritik sunucularda erişimi VPN veya belirli yönetim IP’leriyle sınırlamak saldırı yüzeyini ciddi biçimde azaltır.
Siz yeni VPS kurulumunda hangi SSH ayarlarını standart olarak uyguluyorsunuz? Port değiştirmek sizce hâlâ anlamlı mı, yoksa anahtar ve IP kısıtlaması yeterli mi?
Cevaplar
0 yanıt