Hoe Fail2Ban installeren en configureren op Linux

9 min lezen - 14 mei 2026

hero section cover
Inhoudsopgave
  • Hoe Fail2Ban op Linux te installeren en configureren
  • Vereisten
  • Fail2Ban installeren op Ubuntu/Debian
  • Jails configureren
  • Testen en monitoren
  • Geavanceerde configuratie
Delen

Stapsgewijze handleiding voor het installeren, configureren en testen van Fail2Ban op Ubuntu-, Debian- en RHEL-gebaseerde Linux-servers.

Hoe Fail2Ban op Linux te installeren en configureren

Fail2Ban controleert uw serverlogs op verdachte activiteiten en blokkeert automatisch overtredende IP-adressen door uw firewallregels bij te werken. Het stopt brute-force-aanvallen, vermindert logruis en draait na configuratie stil op de achtergrond. Deze handleiding behandelt de installatie op Ubuntu/Debian, de basisconfiguratie, het instellen van de jail en een paar geavanceerde opties die de moeite waard zijn om te kennen.

Vereisten

Fail2Ban draait op de meeste Linux-distributies: Ubuntu, Debian, AlmaLinux, CentOS, RHEL, Rocky Linux en Fedora. U hebt het volgende nodig:

  • Python 3 geïnstalleerd op het systeem
  • Root- of sudo-toegang voor het installeren van pakketten en het aanpassen van de firewall
  • Een actieve firewall (iptables, nftables, ufw of firewalld)
  • Logbestanden die mislukte inlogpogingen vastleggen (/var/log/auth.log op Debian-gebaseerde systemen, /var/log/secure op RHEL-gebaseerde systemen)

Schakel op RHEL-gebaseerde systemen eerst de EPEL-repository in. Controleer voordat u Fail2Ban installeert of uw firewall actief is met ufw status of systemctl status firewalld.

Fail2Ban installeren op Ubuntu/Debian

Werk uw pakketten bij en installeer Fail2Ban:

sudo apt update && sudo apt upgrade -y
sudo apt install fail2ban

Schakel de service in zodat deze bij het opstarten wordt gestart, en start deze vervolgens:

sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Kopieer de standaardconfiguratie naar een lokaal overschrijvingsbestand. Bewerk altijd jail.local, niet jail.conf, zodat pakketupdates uw instellingen niet overschrijven:

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

Controleer of alles werkt:

sudo systemctl status fail2ban
sudo fail2ban-client status

Het eerste commando zou "Active: active (running)" moeten weergeven. Het tweede geeft een overzicht van je actieve jails. Controleer of Fail2Ban bij het opstarten is ingeschakeld met sudo systemctl is-enabled fail2ban.

Jails configureren

Standaardinstellingen

Open /etc/fail2ban/jail.local en pas de [DEFAULT] sectie aan. Deze instellingen zijn van toepassing op alle jails, tenzij ze worden overschreven:

ParameterAanbevolen waardeWat het doet
bantime3600Blokkeert een IP-adres gedurende 1 uur
findtime600Telt mislukkingen binnen een tijdsbestek van 10 minuten
maxretry3 tot 5Fouten voordat een ban in werking treedt
ignoreip127.0.0.1/8 ::1IP's die nooit worden geblokkeerd

Voeg je eigen beheer-IP toe ignoreip zodat u zichzelf niet buitensluit. Voorbeeld: ignoreip = 127.0.0.1/8 ::1 203.0.113.50.

SSH-beveiliging

Schakel de SSH-jail in jail.local:

[sshd]
enabled = true

Controleer of logpath naar het juiste logbestand voor uw distributie verwijst. Als u SSH naar een niet-standaard poort (bijv. 2222) hebt verplaatst, pas dan de port parameter dienovereenkomstig aan.

Webserverbeveiliging

Schakel de jail in die overeenkomt met uw webserver:

  • Nginx: [nginx-http-auth] bij mislukte authenticatie, [nginx-botsearch] voor kwaadaardige bots
  • Apache: [apache-auth] voor authenticatie, [apache-badbots] voor bots

Recidive Jail

De [recidive] jail vangt IP's op die steeds weer worden geblokkeerd in andere jails en past een langere straf toe, doorgaans een week (604.800 seconden). Dit is handig voor hardnekkige aanvallers die hun aanpak afwisselen.

Laad na het aanbrengen van wijzigingen opnieuw:

sudo systemctl restart fail2ban
sudo fail2ban-client status

Testen en monitoren

Testen van blokkeringen

Test Fail2Ban voordat u er in de productieomgeving op vertrouwt. Probeer vanaf een externe machine (niet uw beheerders-IP) SSH-aanmeldingen totdat u maxretry. U zou geblokkeerd moeten worden. Controleer dit met:

sudo fail2ban-client status sshd

Bekijk in realtime hoe blokkeringen plaatsvinden:

tail -f /var/log/fail2ban.log

Als u per ongeluk een legitiem IP-adres blokkeert, kunt u de blokkering opheffen:

sudo fail2ban-client set sshd unbanip 203.0.113.50

Dagelijkse monitoring

Bekijk de blokkeringsgeschiedenis door het logbestand te doorzoeken met grep:

grep "Ban\|Unban" /var/log/fail2ban.log

Handige beheeropdrachten:

CommandoDoel
fail2ban-client statusAlle actieve jails weergeven
fail2ban-client bannedAlle momenteel geblokkeerde IP's weergeven
fail2ban-client set <jail> unbanip <IP>Een specifiek IP-adres deblokkeren
fail2ban-client unban --allAlle blokkades opheffen
fail2ban-client set <jail> banip <IP>Handmatig een IP-adres blokkeren

Verboden blijven bestaan na herstarts. Fail2Ban slaat ze op in een SQLite-database op /var/lib/fail2ban/fail2ban.sqlite3.

Geavanceerde configuratie

Overstappen naar nftables

nftables is de moderne vervanging voor iptables. Het verwerkt IPv4 en IPv6 in één enkel framework, schaalt beter met grote banlijsten en heeft ingebouwde snelheidsbeperking. Als u Ubuntu 22.04+, Debian 11+ of een recente distributie gebruikt, is dit de betere keuze.

Stel het in jail.local:

[DEFAULT]
banaction = nftables-multiport

Start Fail2Ban opnieuw op en controleer vervolgens met sudo nft list ruleset. U zou f2b-table en f2b-chain in de uitvoer zien. Blijf alleen bij iptables als u een ouder systeem gebruikt of als u compatibiliteitseisen heeft.

E-mailmeldingen

Standaard blokkeert Fail2Ban zonder melding. Om e-mailmeldingen te ontvangen, voeg je het volgende toe aan de [DEFAULT] sectie van jail.local:

[DEFAULT]
destemail = [email protected]
sender = [email protected]
mta = sendmail
action = %(action_mwl)s

De action_mwl actie verstuurt een e-mail met details over de blokkering, WHOIS-gegevens en de logregels die de blokkering hebben geactiveerd. Gebruik action_mw als u alleen WHOIS-gegevens wilt. U moet een mail transfer agent zoals sendmail geïnstalleerd hebben, of een SMTP-relay geconfigureerd via bijvoorbeeld msmtp.

Voor Slack- of Discord-meldingen maakt u een script dat een webhook verstuurt en koppelt u dit via een aangepast actiebestand in /etc/fail2ban/action.d/.

Als je op zoek bent naar een server met volledige root-toegang en onbeperkte bandbreedte om Fail2Ban te draaien, bekijk dan de dedicated servers van FDC.

background image
Staat uw server uw groei in de weg?

Moe van trage implementaties of bandbreedtelimieten? FDC Servers biedt direct dedicated vermogen, wereldwijd bereik en flexibele plannen voor elke schaalgrootte. Klaar om te upgraden?

Nu prestaties ontgrendelen

Blog

Uitgelicht deze week

Meer artikelen
Waarom het belangrijk is om een krachtige en unmetered VPS te hebben

Waarom het belangrijk is om een krachtige en unmetered VPS te hebben

Een unmetered VPS geeft flat-rate bandbreedte op een vaste poortsnelheid. Hoe het verschilt van bemeterde plannen, wanneer het loont en wat u moet controleren voordat u koopt.

7 min lezen - 9 mei 2025

Linux geheugenbeheer: Swap, OOM-moordenaar & Cgroepen

12 min lezen - 31 mei 2026

Meer artikelen
background image

Hebt u vragen of wilt u een oplossing op maat?

icon

Flexibele opties

icon

Wereldwijd bereik

icon

Directe inzet

icon

Flexibele opties

icon

Wereldwijd bereik

icon

Directe inzet