Wéi installéiere Fail2ban op Rocky Linux an AlmaLinux


Geschriwwen am Python, Fail2ban ass e gratis an Open-Source Intrusion Prevention System (IPS) deen de Server géint brute-force Attacke schützt.

No enger spezifizéierter Zuel vu falsche Passwuertversuche gëtt dem Client seng IP Adress fir eng spezifizéierter Period Zougang zum System verbueden oder bis de Systemadministrator et deblockéiert. Op dës Manéier ass de System vu widderholl brute-force Attacke vun engem eenzegen Host geschützt.

[Dir kënnt och gären hunn: Wéi sécheren an Harden OpenSSH Server]

Fail2ban ass héich konfiguréierbar a kann ageriicht ginn fir eng Onmass vu Servicer wéi SSH, vsftpd, Apache a Webmin ze sécheren.

An dësem Guide konzentréiere mir eis op wéi Dir Fail2ban op Rocky Linux an AlmaLinux installéiere kënnt an konfiguréieren.

Schrëtt 1: Gitt sécher datt Firewalld leeft

Par défaut kënnt Rocky mat Firewalld lafen. Wéi och ëmmer, wann dëst net de Fall op Ärem System ass, start Firewalld andeems Dir ausféiert:

$ sudo systemctl start firewalld

Dann aktivéiert et fir op Bootzäit unzefänken:

$ sudo systemctl enable firewalld

Da kontrolléiert de Status vu Firewalld

$ sudo systemctl status firewalld

Zousätzlech kënnt Dir all d'Firewalld-Regele bestätegen, déi momentan ëmgesat ginn mam Kommando:

$ sudo firewall-cmd --list-all

Schrëtt 2: Installéiert EPEL am Rocky Linux

Als Ufuerderung fir d'Installatioun vu fail2ban an aner erfuerderlech Packagen, musst Dir den EPEL Repository installéieren, deen zousätzlech héichqualitativ Packagen fir RHEL-baséiert Verdeelungen ubitt.

$ sudo dnf install epel-release

Schrëtt 3: Installéiert Fail2ban am Rocky Linux

Mat EPEL installéiert, fuert weider an installéiert fail2ban an de fail2ban-firewalld Package.

$ sudo dnf install fail2ban fail2ban-firewalld

Dëst installéiert de fail2ban Server an de Firewalld Komponent zesumme mat aner Ofhängegkeeten.

Mat der Installatioun vu fail2ban fäerdeg, start de fail2ban Service.

$ sudo systemctl start fail2ban

An aktivéiert et op Startzäit unzefänken.

$ sudo systemctl enable fail2ban

Dir kënnt de Status vum fail2ban Service verifizéieren andeems Dir de Kommando ausféiert:

$ sudo systemctl status fail2ban

D'Ausgab ass eng Bestätegung datt Fail2ban leeft wéi mir et erwaarden.

Schrëtt 4: Fail2ban a Rocky Linux konfiguréieren

Fir weider ze goen, musse mir fail2ban konfiguréieren fir datt et funktionnéiert wéi virgesinn. Idealerweis wäerte mir d'Haaptkonfiguratiounsdatei änneren - /etc/fail2ban/jail.conf. Allerdéngs ass dëst decouragéiert. Als Léisung kopéiert den Inhalt vun der jail.conf Konfiguratiounsdatei op jail.local Datei.

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

Elo, öffnen d'jail.local Datei mat Ärem gewënschte Editor.

$ sudo vim /etc/fail2ban/jail.local

Ënnert der [DEFAULT] Sektioun, gitt sécher datt Dir déi folgend Astellungen hutt wéi se erscheinen.

bantime = 1h
findtime = 1h
maxretry = 5

Loosst eis d'Attributer definéieren:

  • D'Bantime-Direktiv spezifizéiert d'Dauer vun der Zäit datt e Client no gescheiterten Authentifikatiounsversich verbannt gëtt.
  • D'Findtime-Direktiv ass d'Dauer oder d'Period an där fail2ban berécksiichtegt wann Dir widderholl falsch Passwuertversuche berücksichtegt.
  • De maxretry-Parameter ass déi maximal Unzuel u falsche Passwuertversuche ier de Remote Client blockéiert gëtt fir den Zougang zum Server ze kréien. Hei gëtt de Client no 5 Authentifikatiounsfehler gespaart.

Par défaut funktionnéiert fail2ban mat iptables. Allerdéngs ass dëst zugonschte vun der Firewalld ofgeschaaft ginn. Mir mussen fail2ban konfiguréieren fir niewent Firewalld ze schaffen anstatt iptables.

Also lafen mam Kommando:

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

Fir d'Ännerungen z'applizéieren, restart fail2ban:

$ sudo systemctl restart fail2ban

Schrëtt 5: SSH Service mat Fail2ban ofsécheren

Par défaut blockéiert fail2ban keen Fernhost bis Dir de Prisongskonfiguratioun fir e Service aktivéiert deen Dir wëllt sécheren. D'Gefängniskonfiguratioun gëtt am /etc/fail2ban/jail.d Wee spezifizéiert a wäert d'Konfiguratioun iwwerschreiden, déi an der jail.local Datei spezifizéiert ass.

An dësem Beispill erstellen mir eng Prisongskonfiguratiounsdatei fir den SSH Service ze schützen. Dofir erstellt d'SSH Prisongsdatei.

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

Als nächst, Paste déi folgend Zeilen:

[sshd]
enabled = true

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

An der Konfiguratioun uewendriwwer gëtt e Fernhost verbannt fir 1 Dag op de System ze kommen no 3 gescheitert SSH Login Versich. Späichert d'Ännerungen a restart de fail2ban Service.

$ sudo systemctl restart fail2ban

Als nächst verifizéiert de Prisongskonfiguratiounsstatus mat dem fail2ban-client Kommandozeil Utility.

$ sudo fail2ban-client status

Vun der Ausgab kënne mir gesinn datt mir 1 Prisong fir e Service genannt 'sshd' konfiguréiert hunn.

Zousätzlech kënnt Dir de maxretry Wäert vum sshd Prisong bestätegen andeems Dir d'Optioun kréien.

$ sudo fail2ban-client get sshd maxretry

3

De Wäert gedréckt 3 soll mat deem wat Dir an der sshd.local Datei uginn hutt.

Schrëtt 6: Testen Fail2ban Configuratioun

Nodeems Dir fail2ban opgeriicht hutt an eng Prisongskonfiguratiounsdatei fir den SSH Service erstallt hutt, maache mir en Testlaf a simuléiere 3 gescheitert Login andeems Dir e falscht Passwuert fir all Passwuertprompt spezifizéiert.

Also gitt op e Remote Linux System a probéiert Iech mat dem falsche Passwuert unzemellen. No 3 gescheitert Versich gëtt d'Verbindung erofgelooss an all spéider Versuch fir nei ze konnektéieren gëtt blockéiert bis d'Verbuetdauer eriwwer ass.

Fir Abléck iwwer de blockéierte Client Systemer ze sammelen, kontrolléiert de Prisongsstatus.

$ sudo fail2ban-client status sshd

Fir de Client aus dem Prisong ze verbannen oder ze läschen, fuert de Kommando aus:

$ sudo fail2ban-client unban 192.168.2.102

Nach eng Kéier, kontrolléiert de Prisongsstatus fir sécherzestellen datt de Client net an der verbuedener IP Lëscht abegraff ass.

$ sudo fail2ban-client status sshd

Wéi mir gesinn hunn, ass Fail2ban e ganz nëtzlecht Tool fir Intruder ze verhënneren, déi Äre Linux System verletzen. Et funktionnéiert a Verbindung mat Firewalld fir Clientsystemer fir eng spezifizéierter Dauer ze verbidden no enger spezifescher Zuel vu gescheiterte Loginversich. Dobäi gëtt et eng extra Schicht vu Schutz fir Äre Linux Server.