Så här installerar och konfigurerar du Fail2Ban på Linux

9 min läsning - 14 maj 2026

hero section cover
Innehållsförteckning
  • Hur man installerar och konfigurerar Fail2Ban på Linux
  • Förutsättningar
  • Installera Fail2Ban på Ubuntu/Debian
  • Konfigurera Jails
  • Testning och övervakning
  • Avancerad konfiguration
Dela

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.log på Debian-baserade system, /var/log/secure på 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 fail2ban

Aktivera tjänsten så att den startar vid uppstart, och starta den sedan:

sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Kopiera 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.local

Kontrollera att allt fungerar:

sudo systemctl status fail2ban
sudo fail2ban-client status

Det 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:

ParameterRekommenderat värdeVad den gör
bantime3600Blockerar en IP-adress i 1 timme
findtime600Räknar misslyckanden inom ett 10-minutersfönster
maxretry3 till 5fel innan en spärr aktiveras
ignoreip127.0.0.1/8 ::1IP-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 = true

Kontrollera 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 status

Testning 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 sshd

Se hur avstängningar sker i realtid:

tail -f /var/log/fail2ban.log

Om du av misstag blockerar en legitim IP-adress, avblockera den:

sudo fail2ban-client set sshd unbanip 203.0.113.50

Daglig övervakning

Granska spärrhistoriken genom att söka i loggen:

grep "Ban\|Unban" /var/log/fail2ban.log

Användbara administrationskommandon:

KommandoSyfte
fail2ban-client statusVisa alla aktiva jail
fail2ban-client bannedVisa 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 --allRensa 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-multiport

Starta 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.

background image
Håller din server tillbaka din tillväxt?

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 nu

Blogg

Utvalda denna vecka

Fler artiklar
Varför det är viktigt att ha en kraftfull och omättad VPS

Varfö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

Fler artiklar
background image

Har du frågor eller behöver du en anpassad lösning?

icon

Flexibla alternativ

icon

Global räckvidd

icon

Omedelbar driftsättning

icon

Flexibla alternativ

icon

Global räckvidd

icon

Omedelbar driftsättning