BITEP.NET - Web Hostingdə Yenilikçi Həllər!

Ubuntu 24.04 serverdə Fail2ban ilə SSH brute-force hücumlarından qorunma

11 Apr, 2026 admin

Ubuntu 24.04 server internetə açıqdırsa, bir müddət sonra SSH loglarında eyni mənzərəni görəcəksiniz: botlar və avtomatik skriptlər davamlı olaraq giriş cəhdləri edir. SSH key istifadə etsəniz belə, bu cəhdlər log-ları doldurur və əlavə risk yaradır. Bu nöqtədə ən praktik müdafiələrdən biri Fail2ban quraşdırmaqdır.

Fail2ban log fayllarını izləyir, çox sayda uğursuz giriş cəhdi görəndə həmin IP ünvanını müvəqqəti bloklayır. Bu məqalədə Ubuntu 24.04 serverdə Fail2ban-ın necə quraşdırıldığını, SSH üçün necə aktiv edildiyini, əsas parametrlərin necə tənzimləndiyini və işlədiyinin necə yoxlandığını addım-addım göstərəcəyəm.

Fail2ban nə edir?

Fail2ban uğursuz autentifikasiya cəhdələrini log-lardan oxuyur və müəyyən limit aşılarsa firewall qaydası əlavə edib həmin IP-ni bloklayır. Yəni o, birbaşa parolu gücləndirmir, amma brute-force cəhdlərinin sürətini və effektini kəskin azaldır.

  • SSH brute-force cəhdələrini zəiflədir
  • müəyyən müddətlik IP ban tətbiq edir
  • log əsaslı işləyir
  • istəsəniz başqa servislər üçün də aktiv etmək mümkündür

Vacib qeyd: Fail2ban təkbaşına tam təhlükəsizlik həlli deyil. SSH key, güclü konfiqurasiya və firewall ilə birlikdə istifadə olunanda mənalı nəticə verir.

Bu tutorial kim üçündür?

  • Ubuntu 24.04 VPS və ya dedicated server istifadəçiləri
  • SSH girişini sərtləşdirmək istəyən adminlər
  • internetə açıq serverlərdə brute-force riskini azaltmaq istəyənlər

Başlamazdan əvvəl nə hazır olmalıdır?

  • Ubuntu 24.04 server
  • sudo səlahiyyətli istifadəçi
  • SSH ilə serverə giriş
  • mümkünsə artıq SSH key əsaslı giriş

Addım 1: Fail2ban quraşdırın

sudo apt update
sudo apt install fail2ban -y

Quraşdırmadan sonra xidmətin vəziyyətini yoxlaya bilərsiniz:

systemctl status fail2ban.service

Bəzi hallarda servis quraşdırıldıqdan sonra avtomatik aktiv olmaya bilər. Bu normaldır, əvvəl konfiqurasiyanı tənzimləmək daha yaxşıdır.

Addım 2: Default config-i birbaşa dəyişməyin

Fail2ban-da əsas default fayl /etc/fail2ban/jail.conf olur. Amma praktik yanaşma onu birbaşa edit etmək deyil. Çünki paket update-lərində dəyişə bilər. Bunun əvəzinə local override yaradın:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Sonra local config-i açın:

sudo nano /etc/fail2ban/jail.local

Addım 3: Əsas parametrləri tənzimləyin

[DEFAULT] bölməsində ən vacib parametrlər bunlardır:

bantime = 10m
findtime = 10m
maxretry = 5
  • bantime — IP nə qədər müddət bloklansın
  • findtime — neçə dəqiqəlik pəncərədə cəhdlər sayılsın
  • maxretry — neçə uğursuz cəhddən sonra ban tətbiq olunsun

Praktik başlanğıc üçün bunlar uyğundur. Daha sərt qayda istəyirsinizsə, məsələn:

bantime = 1h
findtime = 10m
maxretry = 3

Amma çox sərt dəyərlər qoyanda özünüzü də bloklama riskiniz artır.

Addım 4: SSH jail-ini aktiv edin

SSH üçün bölməni tapın və aktiv olduğunu yoxlayın:

[sshd]
enabled = true

Müasir Ubuntu sistemlərində bu çox vaxt kifayətdir. Əgər SSH fərqli portda işləyirsə və ya xüsusi log yolu varsa, onu da ayrıca göstərmək lazım ola bilər.

Addım 5: Servisi enable və start edin

sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Sonra yenidən status yoxlayın:

sudo systemctl status fail2ban

Burada active (running) görməlisiniz.

Addım 6: Fail2ban-ın SSH üçün işlədiyini yoxlayın

Aktiv jail-ləri yoxlamaq üçün:

sudo fail2ban-client status

SSH jail detalı üçün:

sudo fail2ban-client status sshd

Burada adətən bunları görəcəksiniz:

  • hazırda neçə IP izlənir
  • neçə IP ban olunub
  • hansı log faylı izlənir

Addım 7: Əgər UFW istifadə edirsinizsə

Fail2ban əsasən firewall qaydaları üzərindən işlədiyi üçün serverdə UFW və ya iptables/nftables məntiqi düzgün olmalıdır. UFW aktivdirsə, SSH girişinə onsuz da icazə verildiyini təsdiqləyin:

sudo ufw allow OpenSSH
sudo ufw status

Əsas fikir budur: normal girişə icazə qalır, amma çoxlu uğursuz cəhd edən IP-lər əlavə qaydalarla müvəqqəti bloklanır.

Tipik praktik konfiqurasiya

Əgər internetə açıq VPS istifadə edirsinizsə, belə bir baza profil kifayət qədər praktikdir:

[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5

[sshd]
enabled = true

Əgər artıq SSH key istifadə edir və password login-i söndürmüsünüzsə, bu kombinasiya daha yaxşı nəticə verir.

Ən çox rast gəlinən problemlər

1. Fail2ban işə düşmür

Çox vaxt səbəb config sintaksisidir. Journal loglarına baxın:

sudo journalctl -u fail2ban --no-pager -n 50

2. SSH jail görünmür

enabled = true unudulub və ya config override düzgün yerdə yazılmayıb.

3. Ban olunur, amma təsir etmir

Firewall backend və ya log yolu uyğunsuz ola bilər. Xüsusilə custom SSH setup-larda bunu yoxlamaq lazımdır.

4. Öz IP-nizi blokladınız

Çox sərt maxretry istifadə etmisinizsə və test zamanı səhv parol yazmısınızsa, bu ola bilər. Ona görə dəyişiklikləri edəndə mövcud sessiyanı bağlamamaq ağıllıdır.

Fail2ban-ı daha faydalı edən əlavə addımlar

  • SSH key istifadə edin
  • password login-i söndürün
  • root login-i bağlayın
  • UFW aktiv edin
  • vacib servislər üçün ayrıca jail-lər qurun

Yəni Fail2ban tək həll deyil, amma yaxşı layered security hissəsidir.

Nəticə

Ubuntu 24.04 serverdə Fail2ban quraşdırmaq SSH brute-force cəhdələrinə qarşı ən praktik və az xərcli müdafiələrdən biridir. Quraşdırması sürətlidir, gündəlik idarəsi sadədir və xüsusilə internetə açıq VPS-lərdə dərhal fayda verir. Əgər serverinizdə hələ aktiv deyilsə, bunu UFW və SSH key ilə birlikdə ən yaxın təhlükəsizlik addımlarınızdan biri kimi götürmək məntiqlidir.

Bir cavab yazın

Sizin e-poçt ünvanınız dərc edilməyəcəkdir. Gərəkli sahələr * ilə işarələnmişdir