linux:fail2ban
Table of Contents
fail2ban
context
dit document beschrijft de werking van fail2ban, een intrusion-prevention system (IPS) dat ip adressen blokkeert waarvan meermaals gefaalde aanmeldpogingen afkomstig zijn.
werking
fail2ban monitort logboeken van Linux services op gefaalde aanmeldpogingen. Zodra het aantal pogingen is overschreden, voegt fail2ban een firewall regel toe waardoor het ipdres voor bepaalde tijd wordt geblokkkeerd.
Zodra die tijd is verstreken, wordt de firewall regel automatisch verwijderd waardoor het adres wordt vrijgegeven en de host opnieuw kan aanmelden.
Het programma bestaat uit 3 componenten: server, client en configuratiebestanden
server
- fail2ban-server monitort de logboeken van Linux services op basis van filters.
Voor elke gefaalde of onrechtmatige aanmeldpoging bestaat er een reguliere expressie - op basis van het aantal gefaalde pogingen onderneemt de server actions die meestal neerkomen op een firewall regel toevoegen die verkeer vanaf die bepaalde host blokkeert (ban)
- voor elke service die wordt bewaakt, wordt een zgn jail aangemaakt, een combinatie van filters en actions.
- na bepaalde tijd wordt die firewall regel automatisch gewist zodat een host vrijgegeven (unban) wordt.
client
- fail2ban-client: configureert de server en kan ipadressen handmatig vrijgeven.
- meestbruikte commando's:
- status van faiL2ban
fail2ban-client status
- status van een specifieke jail:
fail2ban-client status sshd
- ip adres vrijgeven:
fail2ban-client unban 10.11.12.13
configuratiebestanden
/etc/fail2ban/
fail2ban.conf
- algemene programma werking
- bewaar je eigen instellingen in fail2ban.local zodat je instellingen niet overschreven worden bij eerstvolgende update. vb:
[Definition]
loglevel = DEBUG
logtarget = /var/log/fail2ban.log
filter.d
- deze directory bevat voor elke Linux service een .conf-bestand waarin de reguliere expressies staat voor een gefaalde aanmeldpoging.
actions.d
- voor elke firewall staat hier de specifieke syntax om een firewall regel toe te voegen om een ipadres te bannen en unbannen.
- bevat ook enkele bruikbare mail configuraties zodat een mail kan verstuurd worden zodra een ipadres is geblokkeerd.
jail.conf
- globale instellingen voor het vergrendelingsbeleid:
- maximaal aantal foutieve aanmeldpogingen
- hoelang wordt het ip adres geblokkeerd
- welke ipadressen moeten gewhitelist worden?
- bewaar je eigen instellingen in jail.local zodat je instellingen niet overschreven worden bij eerstvolgende update. vb:
[DEFAULT]
bantime = 30m
findtime = 10m
maxretry = 10
banaction = ufw
banaction_allports = ufw
jail.d
- een jail per service
- voorbeeld:
[sshd]
enabled = true
port = 12345
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 10 min
Great Fun
Als je fail2ban es lekker aan het werk wilt zetten:
- zet een Linux bakkie op het internet
- maak die bereikbaar op een standaard poort.
- zorg dat er enkel kan aangemeld worden met private/public key
- stel fail2ban in dattie gedurende 1 uur ip adressen blokkeert
- laat em een weekje ongemoeid en ga dan es door je logboek.
opvolgen
zie: fail2ban opvolgen
meer info
linux/fail2ban.txt · Last modified: 2024/11/16 18:14 by 127.0.0.1