Ubuntu Server’da SSH Login Attempt Limit Ayarı

Ubuntu Server ortamlarında SSH (Secure Shell) erişimi, sistem yöneticileri için vazgeçilmez bir araçtır.

Reklam Alanı

Ubuntu Server ortamlarında SSH (Secure Shell) erişimi, sistem yöneticileri için vazgeçilmez bir araçtır. Ancak, internete açık sunucularda brute-force saldırılara maruz kalma riski yüksektir. Bu saldırılar, sonsuz deneme ile şifre kırma girişimlerini içerir ve sunucu kaynaklarını tüketebilir. SSH login attempt limit ayarı, bu riski minimize etmek için kritik öneme sahiptir. Bu makalede, Ubuntu Server’da SSH deneme sınırlarını etkili bir şekilde yapılandırmanın adımlarını, temel konfigürasyon seçeneklerini ve gelişmiş araçları inceleyeceğiz. Amacımız, sunucunuzu güvenli hale getirmek için pratik ve uygulanabilir rehberlik sağlamaktır.

SSHD Konfigürasyonunda Temel Deneme Sınırı Ayarları

Ubuntu Server’da SSH servisi, OpenSSH paketiyle varsayılan olarak gelir ve konfigürasyonu /etc/ssh/sshd_config dosyasında yapılır. Bu dosya, login denemelerini sınırlamak için çeşitli parametreler sunar. Öncelikle, dosyayı düzenlemek için root erişimiyle sudo nano /etc/ssh/sshd_config komutunu kullanın. Değişiklikleri kaydettikten sonra SSH servisini yeniden yükleyin: sudo systemctl reload ssh.

En kritik parametre MaxAuthTries‘dir. Varsayılan değeri 6 olan bu ayar, bir bağlantı oturumu başına izin verilen şifre/anahtar deneme sayısını belirler. Güvenlik için bunu 3’e indirin: MaxAuthTries 3. Benzer şekilde, LoginGraceTime ile bağlantı kabul edilmezse kapanma süresini kısaltın, örneğin 60 saniyeye: LoginGraceTime 60. Bu ayarlar, saldırganların deneme yapma fırsatını azaltır ve sunucu yükünü hafifletir. Ayrıca, PubkeyAuthentication yes ve PasswordAuthentication no ile parola tabanlı girişi devre dışı bırakarak yalnızca anahtar tabanlı erişime izin verin. Bu değişiklikler, manuel brute-force saldırılarını büyük ölçüde engeller.

  • Dosya yedeği alın: sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.
  • Test edin: Yeni bir terminalden bağlantı deneyin, mevcut oturumu kapatmayın.
  • Logları izleyin: sudo tail -f /var/log/auth.log ile denemeleri takip edin.

Bu temel ayarlar, ortalama bir sunucu için yeterli koruma sağlar ve yaklaşık 100-150 kelimelik bir konfigürasyon güncellemesiyle uygulanabilir. Uygulama sonrası, başarısız denemelerin loglarda hızlıca sonlandığını gözlemleyeceksiniz.

Fail2Ban ile Otomatik IP Engelleme Mekanizması

Fail2Ban, SSH loglarını izleyerek tekrarlanan başarısız giriş denemelerinde IP adreslerini otomatik olarak engeller. Ubuntu 20.04 ve üzeri sürümlerde sudo apt update && sudo apt install fail2ban ile kolayca kurulur. Kurulum sonrası servis otomatik başlar: sudo systemctl status fail2ban ile doğrulayın.

Fail2Ban Jail Yapılandırması

Yerel jail ayarları için /etc/fail2ban/jail.local dosyasını oluşturun veya düzenleyin. SSH jail’ini etkinleştirin: [sshd] enabled = true. bantime = 3600 ile engelleme süresini 1 saate, maxretry = 5 ile izin verilen başarısız deneme sayısını 5’e ayarlayın. findtime = 600 parametresi, bu denemelerin 10 dakika içinde gerçekleşmesini şart koşar. Değişiklik sonrası sudo systemctl restart fail2ban çalıştırın. Bu yapılandırma, saldırgan IP’leri iptables kurallarıyla engeller ve loglara yazar.

İzleme ve Jail Durumu Kontrolü

Fail2Ban durumunu sudo fail2ban-client status sshd ile görüntüleyin; engellenen IP’leri ve deneme sayılarını listeler. Engeli kaldırmak için sudo fail2ban-client set sshd unbanip IP_ADRESI kullanın. Loglar /var/log/fail2ban.log‘da tutulur. Bu araç, manuel müdahaleyi ortadan kaldırır ve sunucuyu proaktif korur. Örneğin, 5 dakikada 5 başarısız deneme sonrası IP 1 saat engellenir, bu da gerçek zamanlı savunma sağlar.

Fail2Ban entegrasyonu, SSH konfigürasyonuyla birleştiğinde katmanlı güvenlik oluşturur. Düzenli güncellemelerle sudo apt upgrade fail2ban yaparak en son filtreleri kullanın.

Gelişmiş Güvenlik Önlemleri ve En İyi Uygulamalar

Temel ayarların ötesinde, SSH portunu varsayılan 22’den değiştirin: Port 2222 ekleyin ve firewall’da güncelleyin. UFW kullanıyorsanız sudo ufw allow 2222/tcp ve sudo ufw delete allow 22/tcp. Ayrıca, PermitRootLogin no ile root girişini yasaklayın; sudo ile yönetici erişimi sağlayın.

Firewall ve Log Yönetimi

UFW veya iptables ile yalnızca güvenilir IP’lere erişim verin: sudo ufw allow from GUVENILIR_IP to any port 2222 proto tcp. Log rotasyonu için rsyslog’u optimize edin ve sudo journalctl -u ssh -f ile systemd loglarını izleyin. Bu adımlar, deneme limitlerini destekleyerek trafiği filtreler ve erken uyarı sağlar. Haftalık log incelemeleri, anormal pattern’leri tespit eder.

Bu bütünleşik yaklaşım, Ubuntu Server’ınızı brute-force saldırılarına karşı dayanıklı kılar. Uygulama sonrası performans düşüşü minimaldir ve güvenlik seviyesi önemli ölçüde yükselir.

Sonuç olarak, Ubuntu Server’da SSH login attempt limit ayarları, sistem bütünlüğünü korumak için temel bir adımdır. Yukarıdaki konfigürasyon ve Fail2Ban entegrasyonuyla, sunucunuzu etkili bir şekilde koruyabilirsiniz. Düzenli testler ve güncellemelerle bu ayarları sürdürün; güvenlik, sürekli bir süreçtir. Bu rehberi uygulayarak, olası tehditleri proaktif olarak bertaraf edin ve operasyonel verimliliği artırın.

Yazar: Editör
İçerik: 608 kelime
Okuma Süresi: 5 dakika
Zaman: 3 ay önce
Yayım: 14-03-2026
Güncelleme: 14-03-2026