Hoe u uw server kunt beschermen met Fail2Ban in Linux

Serverbeveiliging is een topprioriteit voor elk bedrijf of elke organisatie. Fail2Ban is een van de belangrijkste tools in de toolkit van een systeembeheerder. Deze gids legt uit wat Fail2Ban is en hoe je je server met Fail2Ban in je Linux kunt beschermen tegen aanvallen.

Hoe u uw server kunt beschermen met Fail2Ban in Linux - %categories

Wat is Fail2Ban?

Fail2Ban is een tool voor inbraakpreventie die logbestanden bewaakt en IP-adressen blokkeert die tekenen van kwaadaardige activiteit vertonen. Het doet dit door "filters" te maken die overeenkomen met bepaalde patronen in logbestanden en acties uit te voeren, zoals het blokkeren van het overtredende IP-adres.

Waarom Fail2Ban gebruiken in Linux?

Er zijn verschillende redenen om Fail2Ban in Linux te gebruiken. misschien:

  • Het bespaart u tijd door kwaadwillende IP-adressen automatisch te blokkeren.
  • Help uw server te beveiligen door de kans op slagen van een aanval te verkleinen.
  • Het geeft u gemoedsrust wetende dat uw server wordt gecontroleerd en beschermd.

Installeer Fail2Ban onder Linux

Fail2Ban is standaard beschikbaar in de Ubuntu-repositories. Installeer het met behulp van apt.

sudo add-apt-repository universe sudo apt update && sudo apt install fail2ban -y

Hoe u uw server kunt beschermen met Fail2Ban in Linux - %categories

Fail2Ban zal zijn service op de achtergrond instellen, maar systemd zal deze standaard uitschakelen. U kunt het starten en inschakelen met de volgende opdrachten:

sudo systemctl start fail2ban sudo systemctl fail2ban inschakelen

Controleer of Fail2Ban actief is met de volgende opdracht:

sudo systemctl-status fail2ban

U ziet een uitvoer die lijkt op de onderstaande afbeelding.

Hoe u uw server kunt beschermen met Fail2Ban in Linux - %categories

Configureer Fail2Ban in Linux

De directory “/etc/fail2ban” bevat de configuratiebestanden voor Fail2Ban. Fail2Ban wordt standaard geleverd met een "jail.conf"-bestand dat instellingen bevat die op alle services worden toegepast.

Hoe u uw server kunt beschermen met Fail2Ban in Linux - %categories

Het is echter een goede gewoonte om een ​​lokaal "jail.local"-bestand te maken en de instellingen in "jail.conf" te overschrijven, aangezien alle wijzigingen die u aanbrengt in "jail.conf" verloren gaan wanneer de software wordt bijgewerkt.

U kunt uw "jail.local" -bestand maken met de volgende opdrachten:

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

Open het jail.local bestand om het te bewerken:

sudo nano /etc/fail2ban/jail.local

Hoe u uw server kunt beschermen met Fail2Ban in Linux - %categories

Goed om te weten: leren Hoe wachtwoordloze SSH-aanmeldingen op LINUX in te schakelen.

Verken het jail.local-bestand

U ziet een vergelijkbare uitvoer zoals hieronder weergegeven en u kunt overweldigd raken door het aantal beschikbare opties. Maar maak je geen zorgen, we nemen je mee door de belangrijkste opties.

Hoe u uw server kunt beschermen met Fail2Ban in Linux - %categories

U ziet een pictogram "#" aan het begin van de regel, wat aangeeft dat het een opmerking is. Fail2Ban gebruikt deze om uit te leggen wat een bepaalde instelling doet. U kunt hier enkele instellingen inschakelen door dit pictogram te verwijderen.

bevat sectie "[STANDAARD]" over opties die van toepassing zijn op alle gevangenissen. Dit is de algemene configuratie van Fail2Ban. De volgende schermafbeelding toont een voorbeeld.

Hoe u uw server kunt beschermen met Fail2Ban in Linux - %categories

Er zijn ook andere secties die beginnen met de servicenaam. Deze gevangenis is van toepassing op een specifieke dienst bovenop de gevangenissen van de wereld.

Lees ook:  Veilig bestanden overbrengen in Linux met behulp van SCP

Zo is er een gedeelte voor een gevangenis "ssd". Dit gedeelte bevat de opties voor de sshd-service.

Hoe u uw server kunt beschermen met Fail2Ban in Linux - %categories

Tip: U vindt ook meer informatie over serverhardening op Beveilig uw SSH-server.

Schakel de Autoban-functie in

Ga naar instelling “bantijd = 1 uuren verwijder de code "#" aan het begin van de regel om deze in te schakelen. Deze regel stelt in hoe lang het duurt voordat Fail2Ban het IP-adres uitschakelt. De standaardeenheid is XNUMX uur. U kunt ook andere eenheden gebruiken, zoals minuten (M) of dagen (D) of zelfs weken (w).

Hoe u uw server kunt beschermen met Fail2Ban in Linux - %categories

U kunt deze waarde naar eigen inzicht verhogen of verlagen. U kunt deze waarde bijvoorbeeld wijzigen in 30 meter om de blokduur te verkorten tot 30 minuten.

Hoe u uw server kunt beschermen met Fail2Ban in Linux - %categories

Wijzig de standaardlengte van het inlogvenster

De volgende instellingen zijn "maxretry" en "findtime". Ze beperken het aantal inlogpogingen dat een aanvaller kan doen voordat Fail2Ban hun IP-adres blokkeert.

De standaardwaarden voor "maxretry" en "findtime" zijn 5 en 10 m. Als een IP binnen tien minuten vijf keer niet kan worden geverifieerd, zal Fail2Ban het blokkeren voor de duur die is opgegeven door de bantime-instelling.

Hoe u uw server kunt beschermen met Fail2Ban in Linux - %categories

U kunt deze waarden wijzigen in wat u maar wilt. U kunt bijvoorbeeld "maxretry" instellen op 3 en "findtime" op 5m: Fail2Ban schakelt een IP-adres uit als het drie keer in vijf minuten niet kan worden geverifieerd.

Hoe u uw server kunt beschermen met Fail2Ban in Linux - %categories

Schakel de Fail2Ban-meldingsfunctie in Linux in

De volgende instellingen zijn destemail, afzendernaam en mta. Deze instellingen zijn wat Fail2Ban zal gebruiken om e-mailmeldingen te configureren.

  • E-mailinstelling is het e-mailadres waarnaar het programma zijn meldingen zal sturen.
  • De naam van de afzender is de naam die zal verschijnen in het veld Van van de notificatie-e-mail.
  • mta is de mail transfer agent die Fail2Ban zal gebruiken om e-mails te versturen. mta is standaard sendmail , maar u kunt dit wijzigen in iets anders, zoals mail.

Als u e-mailmeldingen wilt ontvangen, moet u deze regels verwijderen en de juiste waarden invoeren zoals weergegeven.

Hoe u uw server kunt beschermen met Fail2Ban in Linux - %categories

Wanneer er een verbanning plaatsvindt, ontvangt u een e-mailmelding met details over de verbanning zoals weergegeven.

Hoe u uw server kunt beschermen met Fail2Ban in Linux - %categories

Maak aangepaste blokorders

De volgende instelling is "action_=." Dit specificeert de actie die Fail2ban onderneemt wanneer het een IP-adres blokkeert. De standaard is om iptables te gebruiken om het IP-adres te blokkeren totdat de "bantime" verloopt.

U kunt ook andere procedures gebruiken, zoals hieronder weergegeven. Deze tutorial houdt omwille van de eenvoud vast aan de standaardinstelling.

  • actie_mw: Stuurt een e-mailmelding wanneer een IP-adres is geblokkeerd, samen met relevante WHOIS-informatie.
  • actie_mwl: Verzendt een e-mailmelding wanneer een IP-adres wordt geblokkeerd, samen met de relevante WHOIS-informatie en logbestandsvermeldingen die tot de blokkering hebben geleid.
  • actie_xarf: Verzendt een X-ARF e-mailmelding wanneer een IP-adres wordt geblokkeerd, samen met de vermeldingen in het logbestand die de blokkering hebben geactiveerd.
Lees ook:  Hoe Fedora Linux te updaten

Er zijn veel andere procedures beschikbaar, maar het is onmogelijk om ze allemaal in deze zelfstudie te behandelen. je kan Lees over alle beschikbare procedures In Fail2ban-documentatie.

Hoe u uw server kunt beschermen met Fail2Ban in Linux - %categories

Configuratie inschakelen voor de service

Naast het configureren van het standaardgedrag van Fail2ban, is het ook mogelijk om vooraf gemaakte filterbestanden te gebruiken voor sommige populaire internetservices. Dit zijn kleine bestanden die door ontwikkelaars zijn geschreven om te zoeken naar specifieke logoutputs voor een bepaalde server.

Het bestand "apache-shellshock.conf" bevat bijvoorbeeld alle benodigde instellingen om Fail2ban te laten controleren op kwaadaardige pogingen om een ​​shellshock-fout te genereren.

Hoe u uw server kunt beschermen met Fail2Ban in Linux - %categories

U kunt alle beschikbare filterbestanden voor uw systeem vinden door de map "/etc/fail2ban/filter.d" op te sommen:

ls /etc/fail2ban/filter.d

Hoe u uw server kunt beschermen met Fail2Ban in Linux - %categories

Als je eenmaal weet welke filters je wilt gebruiken, vertel Fail2ban dan om ze te laden tijdens het opstarten door je "jail.local" bestand te openen:

sudo nano /etc/fail2ban/jail.local

Maak een ruimte aan in "jail.local" waar u uw nieuwe filters kunt activeren. Ik maak mijn eigen tussen de opmerkingstitel en het blok [INCLUDES].

Hoe u uw server kunt beschermen met Fail2Ban in Linux - %categories

Voeg de filters toe die u wilt activeren. Het volgende is bijvoorbeeld een fragment dat ik gebruik in mijn configuratie:

# Opmerkingen: gebruik '#' voor commentaarregels en ';' (na een spatie) voor inline commentaar [sshd] enabled = true [nginx-bad-request] enabled = true [bitwarden] enabled = true [INCLUDES]

Hoe u uw server kunt beschermen met Fail2Ban in Linux - %categories

Als u klaar bent, slaat u het bestand op en sluit u het. Start fail2ban opnieuw om de wijzigingen toe te passen.

sudo systemctl herstart fail2ban

Test uw configuratie

Nu je Fail2Ban in Linux hebt geconfigureerd, is het tijd om het te testen.

De eenvoudigste manier om uw configuratie te testen, is door meerdere keren snel achter elkaar in te loggen met het verkeerde wachtwoord. U kunt hiervoor een SSH-verbinding gebruiken.

Probeer op de verwijderingsmachine SSH naar uw Fail2ban-server te gebruiken met de gebruikersnaam "admin". Vervang "uw_server_ip_adres" door het daadwerkelijke IP-adres van uw Fail2ban-server.

ssh admin@uw_server_ip_adres

Voer een willekeurig wachtwoord in wanneer daarom wordt gevraagd en herhaal dit meerdere keren. Na verschillende pogingen ziet u een bericht dat de server uw verbindingspoging heeft afgewezen.

Hoe u uw server kunt beschermen met Fail2Ban in Linux - %categories

Naast het gebruik van ssh, kunt u ook andere filterbestanden in Fail2ban testen door Fail Status uit te voeren. In mijn geval gebruik ik het "nginx-bad-request"-filter dat detecteert of een host de server overspoelt met ongeldige verzoeken.

Lees ook:  Op Linux kunt u de populaire archiefbeheersoftware WinRAR installeren

Hoe u uw server kunt beschermen met Fail2Ban in Linux - %categories

Dit wetende, kunt u deze functie testen door opzettelijk lege verzoeken naar uw webserver te sturen met behulp van curl:

curl -H "User-Agent:" -H "Host:" https://uwwebsite.com -v

Hoe u uw server kunt beschermen met Fail2Ban in Linux - %categories

Fail2Ban-routines in Linux controleren

Voer ten slotte het volgende commando uit op de Fail2ban-server om te controleren of fail2ban de nodige regels aan iptables heeft toegevoegd.

De opdracht grep filtert de uitvoer van de opdracht iptables. De -S optie vertelt iptables om de regels af te drukken in een gemakkelijk te parseren formaat.

sudo iptables -S | grep f2b

U ziet een uitvoer die lijkt op de onderstaande afbeelding. Het argument “–reject-with icmp-port-unreachable” vertelt iptables om een ​​ICMP-poort onbereikbaar bericht naar de client te sturen wanneer het probeert verbinding te maken. U kunt ook de IP-adressen zien van apparaten die de server heeft geblokkeerd.

Hoe u uw server kunt beschermen met Fail2Ban in Linux - %categories

Tip: Je zou ook SELinux moeten gebruiken om je Linux server te beveiligen.

Veel Gestelde Vragen

V1: Waarom krijg ik een lege e-mailmelding wanneer Fail2ban een IP-adres blokkeert?
Antwoord: Als u een lege e-mailmelding ontvangt, heeft u waarschijnlijk uw mailserver niet correct geconfigureerd. Controleer de configuratie van uw mailserver en zorg ervoor dat deze e-mail kan verzenden.

V2: Hoe kan ik een IP-adres deblokkeren?
Antwoord: Zoek eerst de jail waar het IP-adres momenteel is geblokkeerd: sudo fail2ban-client status , deblokkeer vervolgens het IP-adres door het volgende uit te voeren: sudo fail2ban-client set onzuiver .

V3: Hoe bekijk ik het fail2ban-logbestand?
Antwoord: U kunt het fail2ban-logbestand bekijken om problemen op te lossen of om erachter te komen waarom het IP-adres wordt geblokkeerd. Het bestand “/var/log/fail2ban.log” bevat alle logs die door fail2ban zijn gegenereerd. Gebruik de cat-opdracht om het fail2ban-logbestand te bekijken: cat /var/log/fail2ban.log.

V4: Ik heb meerdere filterbestanden ingeschakeld. Waarom werken ze allemaal niet?
Antwoord: Dit probleem treedt hoogstwaarschijnlijk op omdat een filter een ander bestand overschrijft dat eraan voorafging. Een manier om dit op te lossen, is door uw eigen filterbestand te maken door verschillende filters samen te voegen.

V5: Beschermt Fail2ban mijn server tegen een DoS-aanval?
Antwoord: Ja en nee. Voor het grootste deel zal Fail2ban elk IP-adres kunnen blokkeren dat ongeldige verzoeken naar uw server stuurt. Een van de grootste beperkingen van dit programma is echter dat het niet kan reageren op gebeurtenissen die geen logboekinvoer opleveren. Als zodanig is het nog steeds belangrijk om uw Linux-server te beveiligen met andere tools voor deze vormen van aanvallen.

Dit vind je misschien ook leuk