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.