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.
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.
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:
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.
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.
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:
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.
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.
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).
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.
Æ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.
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.
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.
Når en udelukkelse finder sted, modtager du en e-mail-besked med detaljer om udelukkelsen som vist.
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.
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.
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.
Du kan finde alle tilgængelige filterfiler til dit system ved at angive mappen “/etc/fail2ban/filter.d”:
ls /etc/fail2ban/filter.d
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.
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]
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.
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.
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.
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.