Jannah tema Licensen er ikke valideret. Gå til siden med temaindstillinger for at validere licensen. Du skal bruge en enkelt licens for hvert domænenavn.

Sådan beskytter du din server med Fail2Ban i Linux

Sikring af din server er en topprioritet for enhver virksomhed eller organisation. Fail2Ban er et af de vigtigste værktøjer i en systemadministrators værktøjskasse. Denne guide forklarer, hvad Fail2Ban er, og hvordan du kan beskytte din server mod angreb ved hjælp af Fail2Ban på din Linux-maskine.

install-fail2ban-linux-00-featured-image-800x400.jpg Sådan beskytter du din server med Fail2Ban i Linux
Hvad er Fail2Ban?

Fail2Ban er et værktøj til forebyggelse af indtrængen, der overvåger logfiler og blokerer IP-adresser, der viser tegn på ondsindet aktivitet. Det gør det ved at oprette "filtre", der matcher bestemte mønstre i logfiler og udføre handlinger, såsom at blokere den problematiske IP-adresse.

Hvorfor bruge Fail2Ban i Linux?

Der er flere grunde til at bruge Fail2Ban i Linux. De kan:

  • Sparer dig tid ved automatisk at blokere ondsindede IP-adresser.
  • Hjælper med at sikre din server ved at reducere chancerne for et vellykket angreb.
  • Det giver dig ro i sindet, velvidende at din server er overvåget og beskyttet.

Installation af Fail2Ban på Linux

Som standard er Fail2Ban tilgængelig i Ubuntu-repositorierne. Installer det ved hjælp af apt.

sudo add-apt-repository univers sudo apt update && sudo apt install fail2ban -y

install-fail2ban-linux-01-installing-fail2ban.png Sådan beskytter du din server med Fail2Ban i Linux

Fail2Ban vil indstille sin tjeneste til at køre i baggrunden, men systemd vil deaktivere den som standard. Du kan starte og aktivere den med følgende kommandoer:

sudo systemctl start fail2ban sudo systemctl aktiver fail2ban

Bekræft at Fail2Ban kører ved hjælp af følgende kommando:

sudo systemctl status fail2ban

Du vil se et output svarende til billedet nedenfor.

install-fail2ban-linux-02-systemd-service-status.png Sådan beskytter du din server med Fail2Ban i Linux

Konfiguration af Fail2Ban i Linux

Mappen /etc/fail2ban indeholder konfigurationsfilerne til Fail2Ban. Som standard leveres Fail2Ban med en "jail.conf"-fil, der indeholder indstillinger, der vil blive anvendt på alle tjenester.

install-fail2ban-linux-03-program-etc-directory.png Sådan beskytter du din server med Fail2Ban i Linux

Det er dog god praksis at oprette en lokal "jail.local"-fil og tilsidesætte indstillingerne i "jail.conf", da eventuelle ændringer, du foretager i "jail.conf", vil gå tabt, når softwaren opdateres.

Du kan oprette din egen "jail.local"-fil ved hjælp af følgende kommandoer:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Åbn jail.local-filen til redigering:

sudo nano /etc/fail2ban/jail.local

install-fail2ban-linux-04-jail-local-file.png Sådan beskytter du din server med Fail2Ban i Linux

Godt at vide: Lær Sådan aktiverer du adgangskodefri SSH-login på Linux.

Udforsk jail.local-filen

Du vil se et lignende resultat som vist nedenfor, og du vil måske blive overvældet af antallet af tilgængelige muligheder. Men bare rolig, vi vil gennemgå de vigtigste.

install-fail2ban-linux-05-jail-local-crop-comment.png Sådan sikrer du din server med Fail2Ban i Linux

Du vil se ikonet "#" i starten af linjen, hvilket angiver at det er en kommentar. Fail2Ban bruger dette til at forklare, hvad en bestemt indstilling gør. Du kan aktivere nogle indstillinger her ved at fjerne denne kode.

Afsnittet indeholder "[MISLIGHOLDELSE]" Indstillinger anvendt på alle jails. Dette er den generelle konfiguration for Fail2Ban. Følgende skærmbillede viser et eksempel.

Læs også:  Hvorfor Linux bør bevæge sig væk fra disse 5 Windows-funktioner

install-fail2ban-linux-06-jail-local-bantime-crop.png Sådan beskytter du din server med Fail2Ban i Linux

Der er også andre afsnit, der begynder med tjenestenavnet. Dette fængsel gælder for en specifik tjeneste øverst i verdens fængsler.

For eksempel er der en sektion for fængsler. "sshd". Dette afsnit indeholder muligheder for sshd-tjenesten.

install-fail2ban-linux-07-jail-local-sshd-crop.png Sådan sikrer du din server med Fail2Ban i Linux

Tip: Du kan også lære mere om serverhærdning ved at: Sikring af din SSH-server.

Aktivér Autoban-funktionen

Gå til Indstillinger bantid = 1 time"Og fjern koden "#" I starten af linjen for at aktivere den. Denne linje angiver, hvor lang tid det vil tage for Fail2Ban at deaktivere IP-adressen. Standardenheden er én time. Du kan også bruge andre enheder, f.eks. minutter. (M) Eller dage (D) eller endda uger (v).

install-fail2ban-linux-08-enable-bantime-length.png Sådan beskytter du din server med Fail2Ban i Linux

Du kan øge eller mindske denne værdi, som du finder passende. Du kan f.eks. ændre denne værdi til 30 meter for at reducere blokeringens varighed til 30 minutter.

install-fail2ban-linux-09-reduce-bantime-length.png Sådan beskytter du din server med Fail2Ban i Linux

Ændr standardlængden på loginvinduet

De næste indstillinger er "maxretry" og "findtime". De bestemmer antallet af loginforsøg, en angriber kan foretage, før Fail2Ban udelukker deres IP-adresse.

Standardværdierne for "maxretry" og "findtime" er 5 og 10 m. Hvis en IP-adresse fejler i godkendelse fem gange inden for ti minutter, vil Fail2Ban udelukke den i den varighed, der er angivet af indstillingen for bantime.

install-fail2ban-linux-10-maximum-login-attempts.png Sådan beskytter du din server med Fail2Ban i Linux

Du kan ændre disse værdier til hvad som helst. For eksempel kan du indstille "maxretry" til 3 og "findtime" til 5m: Fail2Ban deaktiverer en IP-adresse, hvis godkendelsen mislykkes tre gange inden for fem minutter.

install-fail2ban-linux-11-reduce-maximum-login-attempts.png Sådan beskytter du din server med Fail2Ban i Linux

Aktivér Fail2Ban-notifikationsfunktionen i Linux

Følgende indstillinger er destemail, sendernavn og mta. Det er disse indstillinger, som Fail2Ban bruger til at konfigurere e-mail-notifikationer.

  • E-mail-indstillingen er den e-mailadresse, som programmet sender sine notifikationer til.
  • Afsenderens navn er det navn, der vises i feltet "Fra" i notifikationsmailen.
  • mta er den mailoverførselsagent, som Fail2Ban bruger til at sende e-mails. Standard-mta er sendmail, men du kan ændre den til noget andet som f.eks. mail.

Hvis du vil modtage e-mail-notifikationer, skal du fjerne kommentarfeltet fra disse linjer og indtaste de relevante værdier som vist.

install-fail2ban-linux-12-email-settings.png Sådan beskytter du din server med Fail2Ban i Linux

Når en udelukkelse finder sted, modtager du en e-mail-besked med detaljer om udelukkelsen som vist.

install-fail2ban-linux-13-sample-mail-notification.png Sådan beskytter du din server med Fail2Ban i Linux

Opret brugerdefinerede blokordrer

Den næste indstilling er "action_=". Dette angiver den handling, Fail2ban udfører, når den udelukker en IP-adresse. Standardhandlingen er at bruge iptables til at udelukke IP-adressen, indtil "bantime" udløber.

Du kan også bruge andre procedurer, som beskrevet nedenfor. Denne vejledning holder sig til standardindstillingen for enkelhedens skyld.

  • action_mw: Sender en e-mail-besked, når en IP-adresse er blokeret, sammen med de relevante WHOIS-oplysninger.
  • action_mwl: Sender en e-mail-besked, når en IP-adresse er udelukket, sammen med de relevante WHOIS-oplysninger og logfilposter, der førte til udelukkelsen.
  • action_xarf: Sender en e-mail-besked i X-ARF-format, når en IP-adresse er udelukket, sammen med logfilposter, der udløste udelukkelsen.
Læs også:  Sådan installeres og spiller du Steam-spil på Linux

Der findes mange andre procedurer, men det er umuligt at dække dem alle i denne vejledning. Du kan Læs om alle tilgængelige procedurer. I Fail2ban-dokumentationen.

install-fail2ban-linux-14-fail2ban-action-lists.png Sådan beskytter du din server med Fail2Ban i Linux

Aktivér tjenestekonfiguration

Udover at konfigurere Fail2bans standardadfærd er det også muligt at bruge prækonfigurerede "filterfiler" til nogle populære internettjenester. Disse er små filer skrevet af udviklere for at søge efter specifik logoutput for en bestemt server.

For eksempel indeholder filen "apache-shellshock.conf" alle de nødvendige indstillinger, der tillader Fail2ban at kontrollere for eventuelle ondsindede forsøg på at oprette en shellshock-fejl.

install-fail2ban-linux-15-sample-filter-file.png Sådan beskytter du din server med Fail2Ban i Linux

Du kan finde alle tilgængelige filterfiler til dit system ved at angive mappen “/etc/fail2ban/filter.d”:

ls /etc/fail2ban/filter.d

install-fail2ban-linux-16-list-all-filter-files.png Sådan beskytter du din server med Fail2Ban i Linux

Når du ved, hvilke filtre du vil bruge, skal du bede Fail2ban om at indlæse dem under opstart ved at åbne din "jail.local"-fil:

sudo nano /etc/fail2ban/jail.local

Opret et mellemrum i "jail.local", hvor du kan aktivere dine nye filtre. Jeg opretter mine mellem kommentaroverskriften og [INCLUDES]-blokken.

install-fail2ban-linux-17-create-new-space.png Sådan beskytter du din server med Fail2Ban i Linux

Tilføj de filtre, du vil aktivere. For eksempel, her er et uddrag, jeg bruger i min konfiguration:

# Kommentarer: brug '#' til kommentarlinjer og ';' (efter et mellemrum) til indlejrede kommentarer [sshd] enabled = true [nginx-bad-request] enabled = true [bitwarden] enabled = true [INCLUDES]

install-fail2ban-linux-18-add-new-filter-modules.png Sådan beskytter du din server med Fail2Ban i Linux

Når du er færdig, skal du gemme og lukke filen. Genstart fail2ban for at anvende ændringerne.

sudo systemctl genstart fail2ban

Test din konfiguration

Nu hvor du har konfigureret Fail2Ban på Linux, er det tid til at teste det.

Den nemmeste måde at teste din konfiguration på er at prøve at logge ind med en forkert adgangskode flere gange i hurtig rækkefølge. Du kan gøre dette ved hjælp af en SSH-forbindelse.

På bortskaffelsesenheden skal du prøve at SSH til din Fail2ban-server med brugernavnet "admin". Erstat "your_server_ip_address" med den faktiske IP-adresse på din Fail2ban-server.

ssh admin@din_server_ip_adresse

Indtast en tilfældig adgangskode, når du bliver bedt om det, og gentag den flere gange. Efter flere forsøg vil du se en besked om, at serveren afviste dit forsøg på at oprette forbindelse.

install-fail2ban-linux-19-login-fail-attempt.png Sådan beskytter du din server med Fail2Ban i Linux

Udover at bruge SSH kan du også teste andre filtreringsfunktioner i Fail2ban ved at køre filteret "failure condition". I mit tilfælde bruger jeg filteret "nginx-bad-request", som registrerer, om en vært oversvømmer serveren med dårlige anmodninger.

Læs også:  En anderledes brugeroplevelse gør Ubuntu til et uundværligt valg.

install-fail2ban-linux-20-nginx-bad-request-filter.png Sådan beskytter du din server med Fail2Ban i Linux

Med dette i tankerne kan du teste denne funktion ved bevidst at sende tomme anmodninger til din webserver ved hjælp af curl:

curl -H "Brugeragent:" -H "Vært:" https://dinhjemmeside.com -v

install-fail2ban-linux-21-curl-bad-request.png Sådan beskytter du din server med Fail2Ban i Linux

Kontrol af Fail2Ban-procedurer i Linux

Kør til sidst følgende kommando på Fail2ban-serveren for at bekræfte, at fail2ban har tilføjet de nødvendige regler til iptables.

Kommandoen grep filtrerer outputtet fra iptables-kommandoen. -S-indstillingen fortæller iptables, at reglerne skal udskrives i et format, der nemt kan parses.

sudo iptables -S | grep f2b

Du vil se output svarende til billedet nedenfor. Argumentet "-reject-with icmp-port-unreachable" fortæller iptables, at den skal sende en ICMP-port unreachable-meddelelse til klienten, når den forsøger at oprette forbindelse. Du kan også se IP-adresserne på de enheder, der er blokeret af serveren.

install-fail2ban-linux-22-blocked-ip-address-fail2ban.png Sådan beskytter du din server med Fail2Ban i Linux

Tip: Du bør også bruge SELinux til at sikre din Linux-server.

Ofte stillede spørgsmål

Q1: Hvorfor får jeg en tom e-mail-besked, når Fail2ban udelukker en IP-adresse?
Svar: Hvis du modtager en tom e-mail-besked, er det sandsynligt, at din mailserver ikke er konfigureret korrekt. Kontroller din mailservers konfiguration, og sørg for, at den kan sende e-mails.

Q2: Hvordan kan jeg fjerne blokeringen af en IP-adresse?
Svar: Find først det fængsel, hvor IP-adressen i øjeblikket er forbudt: sudo fail2ban-client status og ophæv derefter IP-adressens blokering ved at køre følgende: sudo fail2ban-client set uanstændig .

Q3: Hvordan kan jeg se fail2ban-logfilen?
Svar: Du kan muligvis se fail2ban-logfilen for at fejlfinde problemer eller for at finde ud af, hvorfor en IP-adresse blev blokeret. Filen "/var/log/fail2ban.log" indeholder alle logfiler, der er genereret af fail2ban. Brug kommandoen cat til at se fail2ban-logfilen: cat /var/log/fail2ban.log.

Q4: Jeg har aktiveret flere filterfiler. Hvorfor virker de ikke alle?
Svar: Dette problem skyldes højst sandsynligt, at et filter overskriver en anden fil, der er kommet forud. En måde at løse dette på er at oprette din egen filterfil ved at kombinere flere filtre.

Q5: Vil Fail2ban beskytte min server mod et DoS-angreb?
Svar: Ja og nej. For det meste vil Fail2ban være i stand til at blokere enhver IP-adresse, der sender ugyldige anmodninger til din server. En af de største begrænsninger ved dette program er dog, at det ikke kan fungere på hændelser, der ikke producerer en logpost. Derfor er det stadig vigtigt at sikre din Linux-server med andre værktøjer mod denne type angreb.

Gå til den øverste knap