Kuidas installida Fail2Ban SSH kaitsmiseks saidil CentOS/RHEL 8


Fail2ban on tasuta avatud lähtekoodiga ja laialt kasutatav sissetungi vältimise tööriist, mis kontrollib logifaile IP-aadresside leidmiseks, mis näitavad pahatahtlikke märke, näiteks liiga palju paroolirikke ja palju muud, ning keelab need (värskendab tulemüüri reegleid IP-aadresside tagasilükkamiseks) . Vaikimisi tarnitakse filtrid erinevatele teenustele, sealhulgas sshd.

Selles artiklis selgitame, kuidas installida ja konfigureerida fail2ban, et kaitsta SSH-d ja parandada SSH-serveri turvalisust jõhkrate rünnakute vastu CentOS/RHEL 8-le.

Fail2bani installimine CentOS/RHEL 8-le

Pakett fail2ban pole ametlikes hoidlates, kuid see on saadaval EPEL-i hoidlas. Pärast oma süsteemi sisselogimist avage käsurea liides ja lubage oma süsteemis EPEL-hoidla, nagu näidatud.

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

Seejärel installige Fail2bani pakett, käivitades järgmise käsu.

# dnf install fail2ban

Fail2bani konfigureerimine SSH kaitsmiseks

Fail2bani konfiguratsioonifailid asuvad kataloogis/etc/fail2ban/ja filtrid salvestatakse kataloogi /etc/fail2ban/filter.d/ (sshd filtrifail on /etc/fail2ban/filter.d/sshd.conf) .

Fail2bani serveri üldine konfiguratsioonifail on /etc/fail2ban/jail.conf, kuid seda faili ei ole soovitatav otseselt muuta, sest tulevikus paketi uuendamise korral kirjutatakse see tõenäoliselt üle või täiustatakse.

Alternatiivina on soovitatav luua ja lisada oma konfiguratsioonid faili jail.local või eraldada failid .conf kataloogi /etc/fail2ban/jail.d/ alla. Pange tähele, et jail.local seadistatud konfiguratsiooniparameetrid alistavad kõik, mis on defineeritud jail.conf-is.

Selle artikli jaoks loome kataloogi/etc/fail2ban/kataloogi eraldi faili nimega jail.local, nagu näidatud.

# vi /etc/fail2ban/jail.local

Kui fail on avatud, kopeerige ja kleepige sinna järgmine konfiguratsioon. Jaotis [DEFAULT] sisaldab üldisi valikuid ja [sshd] sisaldab sshd vangla parameetreid.

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

[sshd] 
enabled = true

Selgitame lühidalt ülaltoodud konfiguratsioonis olevaid valikuid:

  • ignoreip: määrab keelatavate IP-aadresside või hostinimede loendi.
  • bantime: täpsustas sekundite arvu, milleks host on keelatud (st tegeliku keelamise kestus).
  • maxretry: määrab rikete arvu enne hosti keelamist.
  • findtime: fail2ban keelab hosti, kui see on viimase "findtime" sekundi jooksul genereerinud "maxretry".
  • keeldumine: tegevuse keelamine.
  • taustaprogramm: määrab logifaili muutmiseks kasutatud taustaprogrammi.

Seega tähendab ülaltoodud konfiguratsioon, kui IP on viimase 5 minuti jooksul 3 korda ebaõnnestunud, keelake see 6 tunniks ja eirake IP-aadressi 192.168.56.2.

Järgmisena käivitage ja lubage fail2ban-teenus praegu ning kontrollige järgmise käsu systemctl abil, kas see töötab ja töötab.

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

Ebaõnnestunud ja keelatud IP-aadressi jälgimine fail2ban-kliendi abil

Pärast fail2bani konfigureerimist sshd-i turvaliseks muutmiseks võite nurjunud ja keelatud IP-aadresse jälgida fail2ban-kliendi abil. Fail2bani serveri praeguse oleku kuvamiseks käivitage järgmine käsk.

# fail2ban-client status

Sshd vangla jälgimiseks käivitage.

# fail2ban-client status sshd

IP-aadressi tühistamiseks fail2banis (kõigis vanglates ja andmebaasis) käivitage järgmine käsk.

# fail2ban-client unban 192.168.56.1

Fail2bani kohta lisateabe saamiseks lugege järgmisi man-lehti.

# man jail.conf
# man fail2ban-client

See võtab selle juhendi kokku! Kui teil on selle teema kohta küsimusi või mõtteid, võtke meiega ühendust allpool oleva tagasisidevormi kaudu.