Kennisbank › Inbraakdetectie › Fail2Ban configureren en beheren op Linux
inbraakdetectie starter 26 August 2026

Fail2Ban configureren en beheren op Linux

Fail2Ban configureren en beheren op Linux

Fail2Ban configureren en beheren op Linux

Dit artikel legt uit hoe Fail2Ban werkt, hoe u het configureert en hoe u veelvoorkomende beheercommando's gebruikt. Gericht op beheerders die een Linux-server beveiligen tegen brute force-aanvallen.

Vereisten

- Linux-server met root-toegang of sudo-rechten - Fail2Ban versie 0.11.x of 1.x (controleer met `fail2ban-client --version`) - Een actieve firewall: `ufw`, `iptables` of `nftables` - Toegang tot logbestanden in `/var/log/` (standaard op Debian/Ubuntu)

Stappen

1. Controleer de Fail2Ban-versie

fail2ban-client --version

Fail2Ban 1.x is de huidige stabiele release. Versie 0.11.x wordt nog ondersteund maar ontvangt geen nieuwe functies meer. De commando's in dit artikel werken op beide versies.

2. Controleer of de server draait

fail2ban-client ping

De server moet antwoorden met `PONG`. Als u `Fail2Ban is not running` ziet, start de service dan met:

sudo systemctl start fail2ban

3. Bekijk de status van een jail

Een jail is een regelset die bepaalt welk logbestand wordt gevolgd, welke patronen worden gezocht en welke actie wordt ondernomen bij herhaalde mislukte pogingen. De standaard SSH-jail heet `sshd`.

fail2ban-client status sshd

Dit toont het aantal momenteel gebande IP-adressen, de totale bans en de actieve firewallregels.

4. Voeg handmatig een IP-adres toe aan een jail

sudo fail2ban-client set sshd banip 203.0.113.25

Dit blokkeert het IP-adres onmiddellijk, zonder te wachten op de drempelwaarde. Gebruik dit voor IP-adressen waarvan u zeker weet dat ze kwaadwillig zijn.

5. Verwijder een IP-adres uit een jail

sudo fail2ban-client set sshd unbanip 203.0.113.25

Dit verwijdert het IP-adres direct uit de blokkadetabel en heft de firewallregel op. Handig bij valse positieven of na het oplossen van een probleem.

6. Test een reguliere expressie met fail2ban-regex

fail2ban-regex /var/log/auth.log 'sshd.<em>Failed password.</em>from <HOST>'

Dit test of de `failregex`-patronen in uw filterconfiguratie daadwerkelijk overeenkomen met regels in uw logbestand. Vervang `` door het IP-adres dat u wilt matchen. Het commando toont hoeveel regels zijn herkend en welke niet.

7. Configureer een jail in jail.local

Maak een lokaal configuratiebestand aan dat de standaardwaarden overschrijft:

sudo nano /etc/fail2ban/jail.local

Voeg dit toe voor een SSH-jail met aangepaste drempels:

[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1h

- `maxretry`: aantal mislukte pogingen voordat een ban wordt opgelegd - `findtime`: tijdsvenster waarbinnen de pogingen moeten plaatsvinden - `bantime`: duur van de blokkade in seconden (of met achtervoegsel zoals `1h`)

Herstart Fail2Ban na configuratiewijzigingen:

sudo systemctl restart fail2ban

8. Bekijk de firewallregels die Fail2Ban beheert

sudo iptables -L f2b-sshd -n

Dit toont de actieve Fail2Ban-firewallregels voor de sshd-jail. De keten `f2b-sshd` bevat alle gebande IP-adressen. Bij `nftables` gebruikt u `sudo nft list ruleset` en filtert u op `f2b-`.

Verificatie

Controleer of Fail2Ban correct functioneert:

sudo fail2ban-client status

Dit toont alle actieve jails. Per jail ziet u het aantal gebande IP-adressen. Om te bevestigen dat een specifiek IP-adres is geblokkeerd:

sudo fail2ban-client status sshd | grep "Banned IP list"

Een lege lijst betekent dat er geen IP-adressen zijn geblokkeerd. Dat is normaal op een goed beveiligde server.

Veelgestelde problemen

Fail2Ban start niet na een configuratiewijziging

Controleer de configuratie op syntaxfouten:

sudo fail2ban-client -t

Dit test alle configuratiebestanden en toont eventuele fouten. Veelvoorkomende oorzaak: een ontbrekende `[DEFAULT]`-sectie of een ongeldig `bantime`-formaat.

IP-adressen worden niet geblokkeerd ondanks mislukte pogingen

Controleer of de juiste logfile wordt gevolgd. Op systemen met systemd-journald moet u mogelijk de jail aanpassen:

[sshd]
backend = systemd

Test daarna of de logregels worden herkend:

sudo fail2ban-regex systemd[sshd] 'sshd.*Failed password'

Fail2Ban blokkeert legitieme gebruikers

Verhoog `maxretry` of verlaag `findtime` in `jail.local`. U kunt ook een whitelist instellen:

[DEFAULT]
ignoreip = 127.0.0.1/8 192.168.1.0/24

Dit voorkomt dat IP-adressen uit deze ranges worden geblokkeerd. Let op: `ignoreip` geldt voor alle jails. De server zelf draait zelden als root, wat de impact van een kwetsbaarheid in Fail2Ban beperkt — maar een foutieve `ignoreip`-configuratie kan een hele subnet uitsluiten van beveiliging.

Fail2Ban leest logbestanden zoals `/var/log/auth.log` en activeert firewallregels via `fail2ban-server`, terwijl `fail2ban-client` de configuratie-interface biedt via een socketverbinding. Die scheiding tussen server en client houdt het systeem stabiel, maar betekent ook dat u altijd beide processen moet controleren wanneer u wijzigingen doorvoert — een server die draait met een verouderde configuratie is net zo gevaarlijk als een server die niet draait.

← Terug naar kennisbank
← Terug naar kennisbank