Så här installerar och konfigurerar du Fail2Ban på Linux
9 min läsning - 14 maj 2026

Steg-för-steg-guide för installation, konfiguration och testning av Fail2Ban på Ubuntu-, Debian- och RHEL-baserade Linux-servrar.
Hur man installerar och konfigurerar Fail2Ban på Linux
Fail2Ban övervakar dina serverloggar för misstänkt aktivitet och blockerar automatiskt IP-adresser som bryter mot reglerna genom att uppdatera dina brandväggsregler. Det stoppar brute-force-attacker, minskar loggbruset och körs tyst i bakgrunden när det väl är konfigurerat. Denna guide täcker installation på Ubuntu/Debian, grundläggande konfiguration, inställning av jail och några avancerade alternativ som är värda att känna till.
Förutsättningar
Fail2Ban körs på de flesta Linux-distributioner: Ubuntu, Debian, AlmaLinux, CentOS, RHEL, Rocky Linux och Fedora. Du behöver:
- Python 3 installerat på systemet
- Root- eller sudo-åtkomst för paketinstallation och ändringar i brandväggen
- En aktiv brandvägg (iptables, nftables, ufw eller firewalld)
- Loggfiler som registrerar misslyckade inloggningsförsök (
/var/log/auth.logpå Debian-baserade system,/var/log/securepå RHEL-baserade)
På RHEL-baserade system, aktivera EPEL-repositoriet först. Innan du installerar Fail2Ban, kontrollera att din brandvägg körs med ufw status eller systemctl status firewalld.
Installera Fail2Ban på Ubuntu/Debian
Uppdatera dina paket och installera Fail2Ban:
sudo apt update && sudo apt upgrade -y
sudo apt install fail2banAktivera tjänsten så att den startar vid uppstart, och starta den sedan:
sudo systemctl enable fail2ban
sudo systemctl start fail2banKopiera standardkonfigurationen till en lokal överskrivningsfil. Redigera alltid jail.local, inte jail.conf, så att paketuppdateringar inte skriver över dina inställningar:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.localKontrollera att allt fungerar:
sudo systemctl status fail2ban
sudo fail2ban-client statusDet första kommandot ska visa "Active: active (running)". Det andra visar dina aktiva jail. Bekräfta att Fail2Ban är aktiverat vid uppstart med sudo systemctl is-enabled fail2ban.
Konfigurera Jails
Standardinställningar
Öppna /etc/fail2ban/jail.local och justera [DEFAULT] avsnittet. Dessa inställningar gäller för alla jails om de inte åsidosätts:
| Parameter | Rekommenderat värde | Vad den gör |
|---|---|---|
bantime | 3600 | Blockerar en IP-adress i 1 timme |
findtime | 600 | Räknar misslyckanden inom ett 10-minutersfönster |
maxretry | 3 till 5 | fel innan en spärr aktiveras |
ignoreip | 127.0.0.1/8 ::1 | IP-adresser som aldrig spärras |
Lägg till din egen administrations-IP till ignoreip så att du inte låser ute dig själv. Exempel: ignoreip = 127.0.0.1/8 ::1 203.0.113.50.
SSH-skydd
Aktivera SSH-fängelset i jail.local:
[sshd]
enabled = trueKontrollera att logpath pekar på rätt loggfil för din distribution. Om du har flyttat SSH till en icke-standardport (t.ex. 2222), uppdatera port parametern så att den stämmer överens.
Webbserver-skydd
Aktivera den jail som passar din webbserver:
- Nginx:
[nginx-http-auth]vid autentiseringsfel,[nginx-botsearch]för skadliga botar - Apache:
[apache-auth]för autentisering,[apache-badbots]för botar
Recidive Jail
Recidive [recidive] jail fångar upp IP-adresser som ständigt blir bannade i andra jails och tillämpar en längre straffperiod, vanligtvis en vecka (604 800 sekunder). Det är användbart för ihärdiga angripare som växlar mellan olika metoder.
Efter att ha gjort ändringar, ladda om:
sudo systemctl restart fail2ban
sudo fail2ban-client statusTestning och övervakning
Testa avstängningar
Testa Fail2Ban innan du använder det i produktion. Försök att logga in via SSH från en fjärrdator (inte din administratörs-IP) tills du överskrider maxretry. Du bör blockeras. Bekräfta med:
sudo fail2ban-client status sshdSe hur avstängningar sker i realtid:
tail -f /var/log/fail2ban.logOm du av misstag blockerar en legitim IP-adress, avblockera den:
sudo fail2ban-client set sshd unbanip 203.0.113.50Daglig övervakning
Granska spärrhistoriken genom att söka i loggen:
grep "Ban\|Unban" /var/log/fail2ban.logAnvändbara administrationskommandon:
| Kommando | Syfte |
|---|---|
fail2ban-client status | Visa alla aktiva jail |
fail2ban-client banned | Visa alla IP-adresser som för närvarande är blockerade |
fail2ban-client set <jail> unbanip <IP> | Häva spärren för en specifik IP-adress |
fail2ban-client unban --all | Rensa alla spärrar |
fail2ban-client set <jail> banip <IP> | Spärra en IP-adress manuellt |
Spärrar kvarstår vid omstart. Fail2Ban lagrar dem i en SQLite-databas på /var/lib/fail2ban/fail2ban.sqlite3.
Avancerad konfiguration
Byte till nftables
nftables är den moderna ersättaren för iptables. Den hanterar IPv4 och IPv6 i ett enda ramverk, skalar bättre med stora blockeringslistor och har inbyggd hastighetsbegränsning. Om du använder Ubuntu 22.04+, Debian 11+ eller någon nyare distribution är det det bättre valet.
Ställ in det i jail.local:
[DEFAULT]
banaction = nftables-multiportStarta om Fail2Ban och verifiera sedan med sudo nft list ruleset. Du bör se f2b-table och f2b-chain i utdata. Använd endast iptables om du använder ett äldre system eller har kompatibilitetskrav.
E-postaviseringar
Som standard blockerar Fail2Ban utan att meddela. För att få e-postaviseringar, lägg till följande i [DEFAULT] avsnittet i jail.local:
[DEFAULT]
destemail = [email protected]
sender = [email protected]
mta = sendmail
action = %(action_mwl)sÅtgärden action_mwl skickar ett e-postmeddelande med spärrinformation, WHOIS-data och de loggrader som utlöste spärren. Använd action_mw om du endast vill ha WHOIS-data. Du behöver ha en mail transfer agent som sendmail installerad, eller en SMTP-relä konfigurerad via något liknande msmtp.
För aviseringar via Slack eller Discord, skapa ett skript som skickar en webhook och koppla in det via en anpassad åtgärdsfil i /etc/fail2ban/action.d/.
Om du letar efter en server med fullständig root-åtkomst och obegränsad bandbredd för att köra Fail2Ban, kolla in FDC:s dedikerade servrar.

Trött på långsamma driftsättningar eller bandbreddsbegränsningar? FDC Servers erbjuder omedelbar dedikerad kraft, global räckvidd och flexibla planer som är byggda för alla skalor. Är du redo att uppgradera?
Lås upp prestanda nuVarför det är viktigt att ha en kraftfull och omättad VPS
En VPS utan mätning ger bandbredd till fast pris med en fast porthastighet. Hur det skiljer sig från uppmätta planer, när det lönar sig och vad du ska kontrollera innan du köper.
7 min läsning - 9 maj 2025
Linux minneshantering: Swap, OOM Killer & Cgroups
12 min läsning - 31 maj 2026

Har du frågor eller behöver du en anpassad lösning?
Flexibla alternativ
Global räckvidd
Omedelbar driftsättning
Flexibla alternativ
Global räckvidd
Omedelbar driftsättning