Slik konfigurerer du Fail2ban for å beskytte Linux-serveren din

Siste oppdatering: 3 september 2026
Forfatter: TecnoDigital
  • Implementering av et dynamisk IP-blokkeringssystem basert på analyse av tilgangslogger.
  • Bruk av .local-konfigurasjonsfiler for å forhindre tap av innstillinger under systemoppdateringer.
  • Flerkanalsbeskyttelsesfunksjon for kritiske tjenester som SSH, webservere, databaser og FTP.
  • Sanntidsadministrasjon av utestengelser og opphevinger ved hjelp av kommandolinjeverktøyet fail2ban-client.

IT-profesjonell jobber med en bærbar PC i et moderne datasenter, ideelt for å introdusere serversikkerhet.

Å ha en Linux-server eksponert til nettverket er i hovedsak som å sende ut en magnet for roboter. Hvis du ikke har konfigurert noen sikkerhetstiltak, har du sannsynligvis allerede tusenvis av mislykkede innloggingsforsøk i loggene dine. Det finnes automatiserte maskiner som stadig prøver brukernavn- og passordkombinasjoner for å prøve å ta kontroll over maskinen din. brute force angrep.

Det er her Fail2ban kommer inn i bildet, et verktøy som fungerer som en utrettelig vaktbikkje. Det er ikke en brannmur i strengeste forstand, men snarere analyserer systemloggene Og når den oppdager at noen prøver å tvinge seg inn, smeller den døren i ansiktet på dem ved å blokkere IP-adressen deres med verktøy som iptables eller nftables. La oss se hvordan du finjusterer den for å gjøre serveren din til en skikkelig tøff nøtt å knekke.

Hva er egentlig Fail2ban, og hvordan fungerer det?

Enkelt sagt er Fail2ban en daemon som kontinuerlig overvåker loggfilene til tjenestene dine. Når den finner mistenkelige mønstre som samsvarer med forhåndsdefinerte regler, foretar den anrop. filtreDen begynner å telle feil. Hvis en IP-adresse når grensen for tillatte forsøk innen en viss tid, utfører programmet en handlingsom vanligvis innebærer å legge til den IP-adressen på brannmurens svarteliste.

Disse konfigurasjonene er organisert i det som kalles fengsler eller fengslerEt jail er i bunn og grunn et sett med regler som gjelder for en spesifikk tjeneste (som SSH, Apache eller MySQL). På denne måten kan du ha en veldig streng policy for ekstern tilgang og en mer tillatende en for webserveren, noe som sikrer at inntrengere er blokkert automatisk uten at du må sjekke loggene manuelt hvert femte minutt.

  Slik administrerer du smarte stikkontakter lokalt: Tasmota vs. Local Tuya

Symbol på et cyberangrep med en person som holder en hackermaske ved siden av Linux-serverrack.

Installasjon i henhold til din Linux-distribusjon

Avhengig av hvilket system du bruker, varierer kommandoen for å installere den litt, men den er vanligvis tilgjengelig i nesten alle offisielle arkiver.

  • På Ubuntu og Debian: Det er veldig enkelt, du må bare løpe sudo apt update etterfulgt av sudo apt install fail2ban.
  • På Rocky Linux eller AlmaLinux: Siden dette er Enterprise-distribusjoner, må du først aktivere EPEL-repositoriet med sudo dnf install epel-release og installer deretter pakken med sudo dnf install fail2ban fail2ban-firewalld.
  • I Alpine Linux: Bruk APK-behandleren med sudo apk add fail2ban Og siden den bruker OpenRC, må du aktivere den med sudo rc-update add fail2ban default og start det med sudo rc-service fail2ban start.

Profesjonell detalj av serverrack i et datasenter med blå belysning, som representerer serverinfrastrukturen.

Hovedkonfigurasjon: Hemmeligheten bak .local-filen

En veldig vanlig feil er å redigere filen direkte. jail.confIkke gjør det! Den filen kan bli overskrevet når du oppdaterer systemet. Den gylne regelen er å lage en kopi som heter fengsel.lokalAlle parametere du legger til i denne andre filen vil prioriteres over originalen, og endringene dine vil bli overskrevet. trygg fra oppdateringer.

For å begynne kan du klone den originale filen med sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local og åpne den deretter med favoritteditoren din, for eksempel nano eller vim. I seksjonen [MISLIGHOLDE] Det er her du definerer systemets generelle oppførsel:

  • bantid: El tiempo que la IP maliciosa se quedará en el congelador. Puede ser en segundos o usando ‘m’ para minutos (ej. 10m).
  • finnetid: Tidsintervallet Fail2ban sjekker etter feil i. Hvis noen feiler 5 ganger i løpet av en time, men søketiden er 10 minutter, vil de ikke bli utestengt.
  • maxretry: Antall mislykkede forsøk som er tillatt før systemet sier Nok og blokker IP-en.
  • ignorerip: Viktig for å unngå å utestenge deg selv. Her må du legge inn offentlig IP-adresse eller VPN-rekkevidden din.
  Slik får du tilgang til ruteren din og konfigurerer WiFi-en din trinn for trinn

Nærbilde av fiberoptiske nettverkskabler koblet til en bedriftsserver, som illustrerer nettverkstilkobling og sikkerhet.

Beskyttelse av spesifikke tjenester trinn for trinn

Når de generelle innstillingene er konfigurert, er det på tide å aktivere fengslene for tjenestene som angår deg mest. For at en beskyttelse skal fungere, må du angi enabled = true i sin respektive seksjon innenfor jail.local.

SSH-tilgang (det viktigste punktet)

Port 22 er målet nummer én. En robust konfigurasjon ville definere maxretry = 3 og en bantime = 3600 (én time). Fail2ban vil lese filen. /var/log/auth.log (på Debian/Ubuntu) eller / var / logg / sikker (på CentOS/RHEL) for å oppdage autentiseringsfeil og stenge tilgang for angriperen.

Webservere (Apache og Nginx)

Hvis du har et nettsted eller en nettbutikk, vil roboter prøve å få tilgang til sensitive ruter som f.eks. /wp-admin o /login.phpDu kan opprette egendefinerte filtre i /etc/fail2ban/filter.d/ for å oppdage disse mønstrene. For eksempel, for å Beskytt WordPress403-feil eller mislykkede forsøk overvåkes i wp-login.php, og blokkerer IP-adressen hvis den overskrider grensene som er satt i Apache- eller Nginx-jailbreaket.

Databaser og FTP

For MySQL kan du overvåke feilloggen for frasen Tilgang nektet for brukerNår det gjelder FTP (som ProFTPD), er det viktig å sørge for at logpath samsvar med den faktiske banen til loggene dine, for hvis Fail2ban ikke finner loggfilen, vil beskyttelsen rett og slett ikke fungere.

Avansert administrasjon med fail2ban-klient

Du trenger ikke alltid å redigere filer og starte tjenesten på nytt for å gjøre raske endringer. Kommandoen fail2ban-client Det lar deg administrere systemet på farten fra konsollen.

For å se hvilke fengsler som er aktive og hvor mange IP-adresser som er blokkert, bruk sudo fail2ban-client statusHvis du vil gå dypere inn i en tjeneste, for eksempel SSH, kjør sudo fail2ban-client status sshdVidere, hvis det ved en feiltakelse Du har blokkert en kollega Eller du kan raskt frigi IP-adressen selv med kommandoen sudo fail2ban-client set sshd unbanip IP_A_DESBLOQUEAR.

Vedlikehold og feilsøking

Hvis du legger merke til at Fail2ban ikke blokkerer som den skal, er det første stedet å se i verktøyets egen loggfil. /var/log/fail2ban.log. Ved hjelp av tail -f Du kan se i sanntid hvem som blir utestengt og hvorfor.

  Løsning for e-postsikkerhet: en avansert og komplett guide

Husk at Fail2ban lagrer låsestatusen i en SQLite-database i /var/lib/fail2ban/fail2ban.sqlite3Derfor, hvis du starter serveren på nytt, vil IP-adressene som ble utestengt bli opphevet. vil forbli blokkert inntil straffeperioden utløper. Når du gjør endringer i konfigurasjonsfiler, må du ikke glemme å bruke endringene med sudo systemctl restart fail2ban.

Implementering av dette verktøyet forvandler serveren din fra et enkelt mål til en automatisert festning, reduserer CPU-belastningen ved å forkaste ondsinnet trafikk på nettverkslaget og lar deg sove godt vel vitende om at roboter ikke vil kunne brute-force seg inn. Ved å kombinere bruken av .local-filer, administrasjon av spesifikke jails og konstant loggovervåking, oppnår du en forsvar i dybden viktig for enhver Linux-systemadministrator.