Bescherm je webservices tegen Brute-Force Aanvallen met Fail2Ban en UFW
VPS Hosting

Bescherm je webservices tegen Brute-Force Aanvallen met Fail2Ban en UFW

Security VPN VPS how-to

Wanneer je een webservice of GUI (bijvoorbeeld voor een VPN, adminpaneel of intern dashboard) via het internet aanbiedt, is het belangrijk deze te beschermen tegen brute-force aanvallen. In dit artikel laten we zien hoe je Fail2Ban instelt in combinatie met UFW om mislukte loginpogingen automatisch te blokkeren.


Wat je nodig hebt

  • Een server met root-toegang
  • Een webdienst (GUI) die logs genereert van loginpogingen (bijv. wg-easy, adminpaneel)
  • Ubuntu / Debian of vergelijkbare Linux-distributie

Stap 1 – Installeer Fail2Ban

Open een terminal op je server en voer uit:


sudo apt update
sudo apt -y install fail2ban ufw
sudo systemctl enable --now fail2ban
sudo systemctl enable ufw
sudo ufw allow 80
sudo ufw allow 443

Stap 2 – Creëer een Jail voor je Web-GUI

Maak een custom configuratie aan voor Fail2Ban:


sudo vim /etc/fail2ban/jail.d/webservice.conf


Plak het volgende voorbeeld (pas logpath aan naar de log van jouw web-GUI of NGINX):


[webservice-auth]
enabled  = true
port     = http,https
filter   = webgui-auth
logpath  = /var/log/nginx/access.log
maxretry = 5
bantime  = 3600
findtime = 600
action = ufw

Toelichting:

  • maxretry: aantal mislukte pogingen voordat een IP wordt geblokkeerd
  • bantime: hoe lang (in seconden) het IP wordt geblokkeerd
  • logpath: pad naar het logbestand waarin mislukte loginpogingen staan
  • action = ufw: zorgt dat Fail2Ban het IP daadwerkelijk blokkeert via UFW

Stap 3 – Maak een Filter aan

Fail2Ban gebruikt filters om verdachte loginpogingen te herkennen. Maak een filter aan:


sudo vim /etc/fail2ban/filter.d/webservice.conf

Voor NGINX-logs kun je bijvoorbeeld een simpele regex gebruiken:


[Definition]
failregex = ^ - .*"POST /api/session HTTP/.*" 401
ignoreregex =

Dit blokkeert IP’s die 401 Unauthorized foutmeldingen genereren. Pas aan voor je specifieke web-GUI als deze andere logregels gebruikt.


Stap 4 – Herstart Fail2Ban


sudo systemctl restart fail2ban
sudo fail2ban-client status webservice-auth

Hiermee controleer je of de jail actief is en welke IP’s eventueel geblokkeerd zijn.



Extra Beveiligingstips

  • Gebruik sterke, unieke wachtwoorden voor je web-GUI.
  • Zet de GUI achter HTTPS (bijv. NGINX + Let’s Encrypt).
  • Overweeg IP-whitelisting als de dienst slechts door enkele apparaten gebruikt wordt.
  • Controleer regelmatig de logs en Fail2Ban-statistieken.

Samenvatting

Met Fail2Ban + UFW kun je eenvoudig automatische bescherming toevoegen tegen brute-force aanvallen op je web-GUI. In combinatie met HTTPS en sterke wachtwoorden zorgt dit voor een veiligere setup voor adminpanelen, VPN-GUIs of interne dashboards.


Problemen of vragen?

Lukt het niet of kom je er nog steeds niet uit? Ons supportteam helpt je graag verder.

E-mail: info@netbela.com

Portal: Stel je vraag rechtstreeks via een supportticket in het Netbela Portal.

Ben je geïnteresseerd in een eigen VPS om zelf aan de slag te gaan met bijvoorbeeld een VPN-server? Bekijk al onze VPS-pakketten hier en kies het pakket dat bij jou past.

Tom
Expert bij Netbela

Hoi! Ik ben Tom. Klaar om jouw infrastructuur naar een hoger niveau te tillen? Ik denk graag met je mee over de beste setup!

Chat nu op WhatsApp →