Kuinka asentaa Fail2Ban SSH: n suojaamiseksi CentOS/RHEL 8: een


Fail2ban on ilmainen, avoimen lähdekoodin ja laajalti käytetty tunkeutumisen estotyökalu, joka etsii lokitiedostoista IP-osoitteita, joissa näkyy haitallisia merkkejä, kuten liikaa salasanavirheitä, ja paljon muuta, ja se kieltää ne (päivittää palomuurisäännöt hylätäksesi IP-osoitteet) . Oletusarvoisesti se toimittaa suodattimia erilaisille palveluille, kuten sshd.

Tässä artikkelissa kerrotaan, kuinka fail2ban asennetaan ja määritetään suojaamaan SSH: ta ja parantamaan SSH-palvelimen tietoturvaa CentOS/RHEL 8: ta vastaan kohdistuvilta raakavoimilta.

Fail2banin asentaminen CentOS/RHEL 8: een

Fail2ban-paketti ei ole virallisissa arkistoissa, mutta se on saatavana EPEL-arkistosta. Kun olet kirjautunut järjestelmään, siirry komentoriviliittymään ja ota sitten käyttöön EPEL-arkisto järjestelmässäsi kuvan osoittamalla tavalla.

# dnf install epel-release
OR
# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Asenna sitten Fail2ban-paketti suorittamalla seuraava komento.

# dnf install fail2ban

Fail2banin määrittäminen SSH: n suojaamiseksi

Fail2ban-määritystiedostot sijaitsevat hakemistossa/etc/fail2ban/ja suodattimet tallennetaan hakemistoon /etc/fail2ban/filter.d/ (sshd: n suodatintiedosto on /etc/fail2ban/filter.d/sshd.conf) .

Fail2ban-palvelimen yleinen kokoonpanotiedosto on /etc/fail2ban/jail.conf, mutta tätä tiedostoa ei ole suositeltavaa muokata suoraan, koska se todennäköisesti kirjoitetaan päälle tai parannetaan pakettipäivityksen yhteydessä.

Vaihtoehtoisesti on suositeltavaa luoda ja lisätä kokoonpanosi jail.local-tiedostoon tai erillisiin .conf -tiedostoihin hakemiston /etc/fail2ban/jail.d/ alla. Huomaa, että jail.local-ohjelmassa määritetyt kokoonpanoparametrit korvaavat kaikki, jotka on määritelty jail.conf-tiedostossa.

Tätä artikkelia varten luomme erillisen tiedoston nimeltä jail.local hakemistoon/etc/fail2ban/kuten näytetään.

# vi /etc/fail2ban/jail.local

Kun tiedosto on auki, kopioi ja liitä seuraava kokoonpano siihen. [DEFAULT] -osio sisältää yleisiä vaihtoehtoja ja [sshd] sisältää sshd-vankilan parametrit.

[DEFAULT] 
ignoreip = 192.168.56.2/24
bantime  = 21600
findtime  = 300
maxretry = 3
banaction = iptables-multiport
backend = systemd

[sshd] 
enabled = true

Selitetään lyhyesti yllä olevan kokoonpanon vaihtoehdot:

  • ignoreip: määrittää IP-osoitteiden tai isäntänimien luettelon, jota ei tule kieltää.
  • bantime: määritti sekuntien lukumäärän, jolle isäntä on kielletty (ts. tosiasiallinen eston kesto).
  • maxretry: määrittää vikojen määrän ennen isännän kieltämistä.
  • findtime: fail2ban kieltää isännän, jos se on tuottanut "maxretry" viimeisten "findtime" sekuntien aikana.
  • kielto: toiminnan kieltäminen.
  • backend: määrittää taustan, jota käytetään lokitiedoston muokkaamiseen.

Yllä oleva kokoonpano tarkoittaa siis sitä, että jos IP on epäonnistunut 3 kertaa viimeisen 5 minuutin aikana, kieltää se 6 tunniksi ja ohittaa IP-osoitteen 192.168.56.2.

Käynnistä seuraavaksi fail2ban-palvelu nyt ja tarkista, onko se käynnissä, käyttämällä seuraavaa systemctl-komentoa.

# systemctl start fail2ban
# systemctl enable fail2ban
# systemctl status fail2ban

Epäonnistuneen ja kielletyn IP-osoitteen tarkkailu käyttämällä fail2ban-client -ohjelmaa

Kun olet määrittänyt fail2banin suojaamaan SSD: n, voit seurata epäonnistuneita ja kiellettyjä IP-osoitteita fail2ban-asiakasohjelmalla. Voit tarkastella fail2ban-palvelimen nykyistä tilaa suorittamalla seuraavan komennon.

# fail2ban-client status

Suorita seurataksesi SSD-vankilaa.

# fail2ban-client status sshd

Voit poistaa IP-osoitteen banaanin fail2banissa (kaikissa vankiloissa ja tietokannassa) suorittamalla seuraavan komennon.

# fail2ban-client unban 192.168.56.1

Lisätietoja fail2banista on seuraavilla man-sivuilla.

# man jail.conf
# man fail2ban-client

Se tiivistää tämän oppaan! Jos sinulla on kysyttävää tai ajatuksia, joita haluat jakaa tästä aiheesta, ota meihin yhteyttä alla olevan palautelomakkeen kautta.