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.