Fail2Ban configureren

 In Danteck IT diensten blog

Fail2ban voor Linux configurerenFail2ban configureren

Je kent het vast wel als je een VPS hebt draaien met een webserver, die vervelende brute force aanvallen. In dit artikel: hoe jij je hiertegen kan beschermen door middel van Fail2ban. Fail2Ban werkt in combinatie met een Firewall. Het jij nog geen geconfigureerde Firewall bekijk dan dit artikel eerst.

Fail2ban wat is dat?

Fail2ban is een software pakket dat de server logs in de gaten houdt. Fail2ban kijkt naar de logs en zoekt de gefaalde inlog pogingen op. Als er x aantal keer is ingelogd zet Fail2ban het bijbehorende IP adres in de blok lijst door middel van iptables of firewalld.

Fail2ban configureren

Voorbereiding:

  • Zorg voor een geconfigureerde Firewall die ingeschakeld is
  • Zorg ervoor dat de repositories bijgewerkt zijn (yum update -y)
  • Zorg ervoor dat je weet wat voor software pakketten er draaien op je server
  • Zorg ervoor dat je weet waar de logs staan

In mijn configuratie draai ik de volgende server in combinatie met DirectAdmin:

  • Dovecot mailserver
  • Exim mailserver
  • SSH server
  • ProFTP server

Stap 1: Installeren van Fail2Ban

Fail2Ban is niet beschikbaar in de standaard repositories. We moeten daarom eerst een repository toevoegen dat doen we via het volgende commando.

sudo yum install epel-release

Daarna voeren we het volgende commando in om Fail2ban te installeren

yum install fail2ban

Fail2ban installeren op CentOS

Toets bij de vraag op y om Fail2ban te installeren.

Stap 2: Fail2ban aanzetten

Nu Fail2ban op de server zit, is het tijd om een aantal zaken te configureren. We moeten eerst zorgen dat Fail2ban ook meekomt met het opstarten van de server. Dat kan via het volgende commando:

sudo systemctl enable fail2ban

Met het commando hebben we ervoor gezorgd dat Fail2ban nu ook opstart met het systeem.

Stap 3: Fail2Ban configureren

Fail2ban werkt met een configuratiebestand. In dat bestand staat waar Fail2ban de logs kan vinden en in moet kijken. We moeten nu een aantal zaken configureren.

We gaan eerst naar de directory waar het configuratiebestand staat

cd /etc/fail2ban

We kopiëren nu eerst het configuratiebestand jail.conf naar jail.local. Het hoofdbestand jail.conf kan worden bijgewerkt door (yum update -y). We willen niet dat het configuratiebestand leeg is na een update.

We kopiëren het configuratiebestand met het volgende commando

cp jail.conf jail.local

Nu is het tijd om het bestand te bewerken. Ik gebruik zelf altijd de vi editor om te bewerken, uiteraard kun je ook je favoriete tekst bewerker pakken.

vi jail.local

Standaard staat fail2ban ingesteld om na 5x verkeerd in te loggen (binnen 10 minuten) om je te blokkeren. Indien gewenst kun je dit aan het begin veranderen bij [DEFAULT]. SSH wordt al standaard gemonitord, hiervoor hoef je dus fail2ban niet meer te configureren.

Als je nu iets naar beneden gaat kom je alle servers tegen, in mijn geval draai ik ProFTPd. Het logbestand in combinatie met DirectAdmin staat op /var/log/proftpd/auth.log

Zorg ervoor om fail2ban in te schakelen voor proftpd dat de eerste regel enabled = true is.

Fail2ban

Mijn configuratie voor Fail2ban voor Exim en Dovecot zijn als volgt:

Exim Dovecot

Na het bewerken sla het bestand op en ga terug naar de cli.

Stap 4. Testen en verifiëren

Het is nu tijd om te testen we gaan eerst Fail2ban opstarten door

sudo systemctl restart fail2ban.service

Als je configuratie geslaagd is kun je nu eens kijken in de iptables of firewalld afhankelijk van je configuratie

iptables -L -n

fail2ban chain

Je ziet nu dat Fail2ban chains heeft aangemaakt. Iedereen die meer dan 5x probeert in te loggen komt in een chain te staan die een blokkade oplegt.

Je zou als laatste stap even kunnen controleren of je via FTP echt 5x kan inloggen. Houd ook, als je DirectAdmin draait de logs in de gaten. Heb je nog een Brute Force aanval dan moet je er nog even dieper in duiken.

Recommended Posts