İçindekiler
Yeni bir VPS açın ve bir saat sonra /var/log/secure (Debian tabanlı sistemlerde /var/log/auth.log) dosyasına bakın. Büyük ihtimalle root, admin, test, ubuntu gibi kullanıcı adlarıyla yüzlerce başarısız giriş denemesi görürsünüz. Bunlar size özel saldırılar değil; bütün interneti tarayan botlar. Yine de bir tanesinin tutmasına izin vermemek gerekiyor.
Aşağıdaki sıra önemli. Yeni ayarı denemeden eski oturumu kapatmayın. Kendinizi sunucunun dışında bırakmanın en kolay yolu, SSH ayarını değiştirip tek açık oturumu kapatmaktır.
1. Kendinize bir kullanıcı ve anahtar
Önce kendi bilgisayarınızda bir anahtar çifti oluşturun:
ssh-keygen -t ed25519 -C "dizustu-2026"
Ardından genel anahtarı sunucuya kopyalayın:
ssh-copy-id -i ~/.ssh/id_ed25519.pub kullanici@sunucu
Sunucuda yeni bir kullanıcı açtıysanız onu wheel (RHEL) ya da sudo (Debian) grubuna ekleyin. Yeni bir terminalde bu kullanıcıyla anahtarla girebildiğinizi ve sudo çalıştırabildiğinizi doğrulayın.
2. sshd_config ayarları
/etc/ssh/sshd_config dosyasında (ya da sshd_config.d/ altında ayrı bir dosyada) şu satırlar:
PermitRootLogin prohibit-password
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
LoginGraceTime 30
prohibit-password: root yalnızca anahtarla girebilir. Root'u tamamen kapatmak isterseniznoyazın.PasswordAuthentication no: Kaba kuvvet denemelerini anlamsız kılan asıl satır budur.
Kaydetmeden önce sözdizimini test edin, sonra yeniden yükleyin:
sshd -t && systemctl reload sshd
Eski oturum açıkken yeni bir pencereden tekrar bağlanmayı deneyin. Bağlanabiliyorsanız tamam.
3. Port değiştirmek işe yarar mı?
SSH'yi 22 dışındaki bir porta almak güvenlik sağlamaz, gürültüyü azaltır. Log dosyanız okunabilir hâle gelir, bot trafiği belirgin şekilde düşer. Ama hedefli bir saldırgan port taramasıyla yine bulur. Bu yüzden port değişikliğini bir önlem değil, bir kolaylık olarak düşünün.
Değiştirecekseniz şunlara dikkat edin:
- RHEL ailesinde SELinux'a yeni portu bildirin:
semanage port -a -t ssh_port_t -p tcp 35000 - Güvenlik duvarında önce yeni portu açın, ancak bağlantıyı doğruladıktan sonra 22'yi kapatın.
4. fail2ban
Parola girişini kapattıysanız brute force büyük ölçüde etkisizdir. Yine de fail2ban, tekrar tekrar deneyen IP'leri bir süre engelleyerek logları ve kaynak kullanımını rahatlatır.
# /etc/fail2ban/jail.local
[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1h
fail2ban-client status sshd komutu kaç IP'nin engellendiğini gösterir. Kendi sabit IP'nizi ignoreip satırına eklemeyi unutmayın.
5. Güncellemeler ve küçük alışkanlıklar
- Otomatik güvenlik güncellemelerini açın (
dnf-automaticya daunattended-upgrades). - Kullanılmayan kullanıcıları silin, eski anahtarları
authorized_keysdosyasından temizleyin. - Özel anahtarınızı bir parola ile koruyun. Dizüstü bilgisayarınız çalınırsa sunucunuz da çalınmasın.
lastvelastbkomutlarıyla ara sıra kimin girdiğine bakın.
Bu adımların hepsi yarım saati geçmez. Karşılığında sunucunuz, internetteki otomatik taramaların neredeyse tamamı için ilgi çekmeyen bir hedef olur.
Yorumlar
Henüz yorum yok. İlk yorumu siz yazın.