Kuinka asentaa Fail2ban Rocky Linuxiin ja AlmaLinuxiin


Pythonilla kirjoitettu Fail2ban on ilmainen ja avoimen lähdekoodin Intrusion Prevention System (IPS), joka suojaa palvelinta. raakoja hyökkäyksiä vastaan.

Tietyn määrän virheellisten salasanayritysten jälkeen asiakkaan IP-osoite estetään pääsemästä järjestelmään tietyksi ajaksi tai kunnes järjestelmänvalvoja poistaa sen eston. Tällä tavalla järjestelmä on suojattu toistuvilta raa'an voiman hyökkäyksiltä yhdeltä isännältä.

Fail2ban on erittäin konfiguroitavissa, ja se voidaan määrittää turvaamaan lukemattomia palveluita, kuten SSH, vsftpd, Apache. ja Webmin.

Tässä oppaassa keskitymme siihen, kuinka voit asentaa ja määrittää Fail2banin Rocky Linuxiin ja AlmaLinuxiin.

Vaihe 1: Varmista, että palomuuri on käynnissä

Oletusarvoisesti Rocky sisältää palomuurin. Jos näin ei kuitenkaan ole järjestelmässäsi, käynnistä Palomuuri suorittamalla:

sudo systemctl start firewalld

Ota sitten käyttöön se käynnistymään käynnistyksen yhteydessä:

sudo systemctl enable firewalld

Tarkista sitten palomuurin tila

sudo systemctl status firewalld

Lisäksi voit vahvistaa kaikki tällä hetkellä voimassa olevat palomuurin säännöt komennolla:

sudo firewall-cmd --list-all

Vaihe 2: Asenna EPEL Rocky Linuxiin

fail2ban- ja muiden tarvittavien pakettien asennuksen vaatimuksena sinun on asennettava EPEL-arkisto, joka tarjoaa korkealaatuisia lisäpaketteja RHEL-pohjaisille jakeluille.

sudo dnf install epel-release

Vaihe 3: Asenna Fail2ban Rocky Linuxiin

Kun EPEL on asennettu, jatka ja asenna paketti fail2ban ja fail2ban-firewalld.

sudo dnf install fail2ban fail2ban-firewalld

Tämä asentaa fail2ban-palvelimen ja palomuurikomponentin sekä muut riippuvuudet.

Kun fail2ban-asennus on valmis, käynnistä fail2ban-palvelu.

sudo systemctl start fail2ban

Ja ota se käyttöön käynnistyksen yhteydessä.

sudo systemctl enable fail2ban

Voit tarkistaa fail2ban-palvelun tilan suorittamalla komennon:

sudo systemctl status fail2ban

Tulos on vahvistus siitä, että Fail2ban toimii odotetulla tavalla.

Vaihe 4: Fail2banin määrittäminen Rocky Linuxissa

Jatkossa meidän on määritettävä fail2ban, jotta se toimisi tarkoitetulla tavalla. Ihannetapauksessa muokkaamme päämääritystiedostoa – /etc/fail2ban/jail.conf. Tämä on kuitenkin masentavaa. Kiertotapana kopioi jail.conf-määritystiedoston sisältö jail.local-tiedostoon.

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

Avaa nyt jail.local-tiedosto haluamallasi editorilla.

sudo vim /etc/fail2ban/jail.local

Varmista [OLETUS]-osiossa, että sinulla on seuraavat asetukset sellaisina kuin ne näkyvät.

bantime = 1h
findtime = 1h
maxretry = 5

Määrittelemme attribuutit:

  • bantime-direktiivi määrittelee ajan, jonka asiakas on estetty epäonnistuneiden todennusyritysten vuoksi.
  • findtime-direktiivi on kesto tai ajanjakso, jonka fail2ban ottaa huomioon harkitessaan toistuvia virheellisiä salasanayrityksiä.
  • Parametri maxretry on virheellisten salasanayritysten enimmäismäärä ennen kuin etäasiakkaalta estetään pääsy palvelimeen. Täällä asiakas lukitaan viiden todennusvirheen jälkeen.

Fail2ban toimii oletuksena iptablesin kanssa. Tämä on kuitenkin poistettu käytöstä palomuurin hyväksi. Meidän on määritettävä fail2ban toimimaan palomuurin rinnalla iptablesin sijaan.

Suorita siis komennolla:

sudo mv /etc/fail2ban/jail.d/00-firewalld.conf /etc/fail2ban/jail.d/00-firewalld.local

Ota muutokset käyttöön käynnistämällä fail2ban uudelleen:

sudo systemctl restart fail2ban

Vaihe 5: SSH-palvelun suojaaminen Fail2banilla

Fail2ban ei oletuksena estä mitään etäisäntää ennen kuin otat käyttöön suojattavan palvelun vankilamääritykset. Vankilakokoonpano määritetään polussa /etc/fail2ban/jail.d, ja se ohittaa jail.local-tiedostossa määritetyt asetukset.

Tässä esimerkissä luomme jail-määritystiedoston SSH-palvelun suojaamiseksi. Luo siksi SSH-vankilatiedosto.

sudo vim /etc/fail2ban/jail.d/sshd.local

Liitä seuraavaksi seuraavat rivit:

[sshd]
enabled = true

Override the default global configuration
for specific jail sshd
bantime = 1d
maxretry = 3

Yllä olevissa määrityksissä etäisäntä estetään pääsemästä järjestelmään 1 päiväksi kolmen epäonnistuneen SSH-kirjautumisyrityksen jälkeen. Tallenna muutokset ja käynnistä fail2ban-palvelu uudelleen.

sudo systemctl restart fail2ban

Tarkista seuraavaksi vankilan määritystila fail2ban-client-komentorivityökalulla.

sudo fail2ban-client status

Tulosteesta voimme nähdä, että meillä on 1 vankila määritetty palvelulle nimeltä sshd.

Lisäksi voit vahvistaa sshd-vankilan maxretry-arvon käyttämällä get-vaihtoehtoa.

sudo fail2ban-client get sshd maxretry

3

Tulostetun arvon 3 tulee vastata sshd.local-tiedostossa määrittämääsi arvoa.

Vaihe 6: Fail2ban-määrityksen testaus

Fail2ban-asetuksen ja SSH-palvelun jail-määritystiedoston luomisen jälkeen suoritamme testiajon ja simuloimme 3 epäonnistunutta sisäänkirjautumista määrittämällä väärän salasanan jokaiselle salasanakehoteelle.

Siirry siis Linux-etäjärjestelmään ja yritä kirjautua sisään väärällä salasanalla. Kolmen epäonnistuneen yrityksen jälkeen yhteys katkeaa ja kaikki myöhemmät uudelleenyhteydenottoyritykset estetään, kunnes eston kesto umpeutuu.

Saadaksesi tietoa estetyistä asiakasjärjestelmistä, tarkista vankilan tila.

sudo fail2ban-client status sshd

Poistaaksesi kiellon tai poistaaksesi asiakkaan vankilasta, suorita komento:

sudo fail2ban-client unban 192.168.2.102

Tarkista vielä kerran vankilatila varmistaaksesi, ettei asiakas ole kiellettyjen IP-osoitteiden luettelossa.

sudo fail2ban-client status sshd

Kuten olemme nähneet, Fail2ban on erittäin hyödyllinen työkalu Linux-järjestelmääsi murtautuvien tunkeilijoiden torjumiseen. Se toimii yhdessä Firewalldin kanssa ja estää asiakasjärjestelmät tietyksi ajaksi tietyn määrän epäonnistuneiden kirjautumisyritysten jälkeen. Näin tehdessään se tarjoaa ylimääräisen suojakerroksen Linux-palvelimellesi.