Hoe Fail2ban te installeren en te gebruiken voor Linux-serverbeveiliging

In alle soorten organisaties, ongeacht het type informatie dat wordt gebruikt of het aantal gebruikers dat erbij hoort, moeten we er altijd als personeel in het systeem of IT-gebied voor zorgen dat beveiliging een primaire factor is, maar wanneer een of meer wordt beheerd meer servers.

Als we het hebben over servers met Linux-distributies, denken we vaak dat ze zijn vrijgesteld van aanvallen, maar in een vaak veranderende online wereld is er geen veilig systeem meer en wordt elke distributie blootgesteld aan aanvallen door malware, virussen, DDOS-aanvallen en vele meer. Als beheerders of gebruikers met toegang tot gebeurtenissen en serverlogboeken, is het normaal om brute force-inlogpogingen, webfloods, zoekacties van uitbuiters en andere bedreigingen te detecteren die op de een of andere manier de integriteit en beschikbaarheid van informatie kunnen schaden.

Daarom is het noodzakelijk om gebruik te maken van tools die ons de beste beveiligingsopties en alternatieven bieden; En als je erover nadenkt, zal Solvetic uitleggen hoe je Fail2ban kunt gebruiken om onze Linux-besturingssystemen te detecteren en te beveiligen.

Wat is Fail2ban?Fail2ban is ontwikkeld als inbraakpreventiesoftware, die serverlogbestanden zoals / var / log / apache / error_log analyseert en zo IP-adressen verbiedt die kwaadaardige tekens bevatten, rekening houdend met aspecten zoals te veel fouten in wachtwoorden, zoeken naar kwetsbaarheden, enz. .

Als algemene regel wordt Fail2Ban gebruikt om de firewallregels bij te werken, zodat het IP-adressen binnen een bepaalde periode weigert, maar u kunt ook een andere regel configureren die de veiligheid van het systeem in gevaar zou kunnen brengen. Hoewel Fail2Ban het aantal mislukte authenticatiepogingen binnen het systeem kan verminderen, is het ideaal dat de authenticatiemethoden niet zwak zijn. Hiervoor kunnen we de services configureren om slechts twee factoren of openbare / privé-authenticatiemechanismen te gebruiken om de services in Linux te beschermen.

Vereisten om Fail2ban te gebruiken
De enige afhankelijkheid die we nodig hebben om Fail2ban te gebruiken is Python, afhankelijk van de gewenste versie zal het de volgende zijn:

  • Fail2ban branch 0.9.x: Python> = 2.6 of Python> = 3.2
  • Fail2ban-tak 0.8.x: Python> = 2.4
Fail2ban kan optioneel de volgende items vereisen:
  • Netfilter / Iptables
  • Kustmuur
  • TCP-wrapper
  • Mailscript
  • Ipset

Fail2ban-functies
De huidige versie van Fail2ban is 0.9.x die ons functies biedt zoals:

  • Op Python gebaseerde acties.
  • Database-ondersteuning.
  • Multiline-analyse in filters.
  • Aangepaste datum- en tijdondersteuning voor filters.
  • Standaard tijdzoneherkenning.
  • Time-out in verbodsopdrachten.
  • Herkenningstekenset in logbestanden.
  • Python3 + ondersteuning
  • Client/server-architectuur.
  • Meerdraads.
  • Zeer configureerbaar door het gebruik van gesplitste configuratiebestanden.
  • Het gebruikt standaard Netfilter / Iptables, maar het zal ook mogelijk zijn om TCP Wrapper en vele andere beschikbare firewalls te gebruiken.
  • Hiermee kunnen meerdere services tegelijkertijd worden afgehandeld, zoals sshd, apache, vsftp en meer.
  • Voer opdrachten uit wanneer een patroon meer dan X keer wordt gedetecteerd voor hetzelfde IP-adres om dat adres te bannen.

1. Hoe Fail2ban op Linux te installeren

OpmerkingVoor dit geval gebruiken we CentOS 7

Stap 1
Om Fail2ban te installeren gaan we de volgende commando's in hun volgorde uitvoeren:

Update het systeem

 jammie update

Installeer de EPEL-repository's
 yum installeer epel-release

We voeren de letter y in om de download en installatie van de EPEL-repository te bevestigen.

Stap 2
Vervolgens installeren we Fail2ban door het volgende uit te voeren:

 yum install fail2ban 

Stap 3
Na deze analyse zullen we zien dat alle afhankelijkheden van Fail2ban zullen worden geïnstalleerd. We accepteren de download en installatie van Fail2ban.

Stap 4
In het geval van gebruik van Debian of Ubuntu moeten we het volgende uitvoeren:

 apt-get update && apt-get upgrade -y apt-get install fail2ban
Optioneel kunnen we e-mailondersteuning inschakelen voor e-mailmeldingen door sendmail als volgt te installeren:

CentOS / RHEL

 yum installeer sendmail

Debian / Ubuntu

 apt-get install sendmail-bin sendmail

Stap 5
Hierna gaan we Fail2ban en Sendmail inschakelen met de volgende commando's:

 systemctl start fail2ban systemctl activeer fail2ban systemctl start sendmail systemctl activeer sendmail

2. Hoe Fail2ban op Linux te configureren


Fail2ban gebruikt standaard de .conf-bestanden die zich in de map / etc / fail2ban / bevinden; die u het eerst opent, maar deze kunnen worden vervangen door .local-bestanden die zich in dezelfde map bevinden.

Het .local-bestand hoeft dus niet alle instellingen in het .conf-bestand te bevatten, maar alleen de instellingen die we willen implementeren voor systeembeveiliging. Elke wijziging moet worden aangebracht in de .local-bestanden die zich niet in de .conf bevinden om te voorkomen dat de wijzigingen worden overschreven bij het bijwerken van het fail2ban-pakket.

Stap 1
Hiervoor gaan we het bestaande bestand fail2ban.conf in fail2ban.local als volgt kopiëren:

 cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local

Stap 2
Nu is het mogelijk om de wijzigingen aan te brengen in het .local-bestand dat is gemaakt met een teksteditor, de waarden die we kunnen bewerken zijn:

Log niveauDit is het niveau waar de records worden opgeslagen. Daar hebben we opties zoals:

  • KRITIEK
  • FOUT
  • WAARSCHUWING
  • KENNISGEVING
  • INFO
  • DEBUG

logdoelDaar worden de acties vastgelegd in een specifiek bestand, de standaardwaarde is /var/log/fail2ban.log en de te gebruiken opties zijn:

  • STDOUT: Uitvoer van alle gegevens.
  • STDERR: Genereert een fout.
  • SYSLOG: op berichten gebaseerd logboek.
  • Bestand: Uitvoer naar een bestand

stopcontactHet is de map waarin het socketbestand zich zal bevinden.

PidbestandHet is de locatie van het pid-bestand.

3. Hoe Fail2ban jail.local op Linux te configureren


In Fail2ban is jail.conf een van de belangrijkste bestanden, die de jails of beschermingsmaatregelen definieert. Daar moet u de services definiëren waarvoor Fail2ban moet worden ingeschakeld.

Stap 1
We gaan een jail.local-bestand maken om de wijzigingen toe te kunnen passen, hiervoor voeren we uit:

 cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
We openen dit lokale bestand met behulp van de volgende syntaxis:
 nano /etc/fail2ban/jail.local
Daar lokaliseren we de backend-regel en bewerken we de standaardwaarde Auto naar systemd:

OpmerkingIn het geval van Ubuntu of Debian is deze wijziging niet nodig.

Stap 2
Het jail.local-bestand zal SSH standaard inschakelen voor Debian en Ubuntu, maar niet voor CentOS, dus als we SSH willen inschakelen, voegen we de regel enabled = true toe onder [sshd]:

4. Hoe verban- en herpogingstijden te configureren in Fail2ban Linux


Met Fail2ban kunnen we configureren op welke manier een IP-adres wordt geblokkeerd. Met dat doel; Hiervoor maakt Fail2ban gebruik van bantime, findtime en maxretry.

bantimeGeeft het aantal seconden aan waarin een IP-adres verbannen blijft (standaard 10 min).

ZoektijdHet is de hoeveelheid tijd tussen inlogpogingen, voordat de host wordt verwijderd. (standaard 10 minuten)

maxretryVerwijst naar het aantal pogingen dat moet worden gedaan voordat een verbod wordt toegepast. (standaard 3 pogingen).

5. Hoe IP-adressen op de witte lijst te configureren in Fail2ban Linux


Het is mogelijk om IP-adressen toe te voegen aan de Fail2ban whitelist (toegestaan). Om dit te doen, moeten we in het jail.local-bestand de volgende regel verwijderen:
 negeerip = 127.0.0.1/8 :: 1
Daar kunnen we de IP-adressen invoeren die genegeerd moeten worden. IP-adressen moeten worden gescheiden door spaties of komma's.

6. E-mailwaarschuwingen maken in Fail2ban Linux


Deze optie is ideaal als we meldingen willen ontvangen over elke wijziging of nieuws in de administratie. Om dit te doen moeten we het /etc/fail2ban/jail.local bestand bewerken, de opties zijn:

destemailenDit is het e-mailadres waarop de melding zal worden ontvangen.

Naam afzenderHet is de afzender die we zullen zien wanneer het bericht is ontvangen.

AfzenderGeeft het e-mailadres aan van waaruit Fail2ban de e-mails zal verzenden.

De standaard mta (mail transfer agent) is geconfigureerd met sendmail.

Om een ​​melding per e-mail te ontvangen, is het ook nodig om de instelling "Actie" in de volgende regel te wijzigen:

 Actie =% (actie_) s
Door de volgende configuratie:
 actie =% (action_mw) s actie =% (action_mwl) s
Verbied de host en verstuur e-mail met een whois-rapport
 % (action_mw) s

Het verbiedt de host, genereert whois-informatie en alle relevante informatie uit het logbestand

 % (action_mwl) s

7. Aanvullende Fail2ban Linux-configuraties


Als u een jail wilt configureren, moet deze zijn ingeschakeld in het bestand jail.local. De syntaxis is als volgt:
 [gevangenis]… ingeschakeld = waar
We kunnen de gevangenisstructuur voor SSHD zien. Fail2ban voegt automatisch de extra parameters toe.

Het zal ook mogelijk zijn om het filter in te schakelen waarmee het kan worden geïdentificeerd als een regel in het register een fout is. De filterwaarde is een verwijzing naar een bestand met de naam van de service gevolgd door .conf. We kunnen bijvoorbeeld

 /etc/fail2ban/filter.d/sshd.conf.
De te gebruiken syntaxis is:
 filter = dienst
Als we jails toevoegen, kunnen we de Fail2ban-client gebruiken om te zien welke er actief zijn op de server, hiervoor voeren we het volgende uit:
 fail2ban-clientstatus
Daar zullen ze worden ingezet terwijl we deze beperkingen creëren.

We kunnen zien hoe Fail2ban een praktisch hulpprogramma is om de beveiliging in Linux-distributies te vergroten door ongeautoriseerde toegang en alles met betrekking tot slechte praktijken die in de organisatie worden uitgevoerd, te vermijden.

wave wave wave wave wave