Jannah-tema Lisensen er ikke validert. Gå til siden for temaalternativer for å validere lisensen. Du trenger en enkelt lisens for hvert domenenavn.

Hvordan beskytte serveren din med Fail2Ban i Linux

Serversikkerhet er en toppprioritet for enhver bedrift eller organisasjon. Fail2Ban er et av de viktigste verktøyene i en systemadministrators verktøysett. Denne guiden forklarer hva Fail2Ban er og hvordan du kan beskytte serveren din med Fail2Ban i Linux mot angrep.

install-fail2ban-linux-00-featured-image-800x400.jpg Slik beskytter du serveren din med Fail2Ban i Linux
Hva er Fail2Ban?

Fail2Ban er et verktøy for å forhindre inntrenging som overvåker loggfiler og blokkerer IP-adresser som viser tegn på ondsinnet aktivitet. Den gjør dette ved å lage "filtre" som samsvarer med visse mønstre i loggfiler og utfører handlinger, som å blokkere den fornærmende IP-adressen.

Hvorfor bruke Fail2Ban i Linux?

Det er flere grunner til å bruke Fail2Ban i Linux. kan være:

  • Det sparer deg tid ved automatisk å blokkere ondsinnede IP-adresser.
  • Bidra til å sikre serveren din ved å redusere sjansene for at et angrep lykkes.
  • Det gir deg trygghet å vite at serveren din blir overvåket og beskyttet.

Installer Fail2Ban i Linux

Som standard er Fail2Ban tilgjengelig i Ubuntu-repositoriene. Installer den med apt.

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

install-fail2ban-linux-01-installing-fail2ban.png Slik beskytter du serveren din med Fail2Ban i Linux

Fail2Ban vil sette sin tjeneste i bakgrunnen, 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

Bekreft at Fail2Ban kjører med følgende kommando:

sudo systemctl status fail2ban

Du vil se en utgang som ligner på bildet nedenfor.

install-fail2ban-linux-02-systemd-service-status.png Slik beskytter du serveren din med Fail2Ban i Linux

Konfigurer Fail2Ban i Linux

Katalogen "/etc/fail2ban" inneholder konfigurasjonsfilene for Fail2Ban. Som standard kommer Fail2Ban med en "jail.conf"-fil som inneholder innstillinger som vil bli brukt på alle tjenester.

install-fail2ban-linux-03-program-etc-directory.png Slik beskytter du serveren din med Fail2Ban i Linux

Det er imidlertid en god praksis å lage en lokal "jail.local"-fil og overstyre innstillingene i "jail.conf", siden alle endringer du gjør i "jail.conf" vil gå tapt hver gang programvaren oppdateres.

Du kan opprette "jail.local"-filen din med følgende kommandoer:

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

Åpne jail.local-filen for å redigere den:

sudo nano /etc/fail2ban/jail.local

install-fail2ban-linux-04-jail-local-file.png Slik beskytter du serveren din med Fail2Ban i Linux

Godt å vite: lær Slik aktiverer du passordløse SSH-pålogginger på LINUX.

Utforsk filen jail.local

Du vil se en lignende utgang som vist nedenfor, og du kan bli overveldet av antall tilgjengelige alternativer. Men ikke bekymre deg, vi leder deg gjennom de viktigste alternativene.

install-fail2ban-linux-05-jail-local-crop-comment.png Slik sikrer du serveren din med Fail2Ban i Linux

Du vil se et ikon "#" på begynnelsen av linjen, noe som indikerer at det er en kommentar. Fail2Ban bruker disse for å forklare hva en bestemt innstilling gjør. Du kan aktivere noen innstillinger her ved å fjerne dette ikonet.

Seksjon inneholder "[MISLIGHOLDE]" om alternativer som gjelder alle fengsler. Dette er den generelle konfigurasjonen av Fail2Ban. Følgende skjermbilde viser et eksempel.

Les også:  apt, dnf og pacman: Viktige forskjeller mellom Linux-pakkebehandlere

install-fail2ban-linux-06-jail-local-bantime-crop.png Slik beskytter du serveren din med Fail2Ban i Linux

Det er også andre seksjoner som starter med tjenestenavnet. Dette fengselet gjelder en spesifikk tjeneste på toppen av verdens fengsler.

For eksempel er det en seksjon for et fengsel "sshd". Denne delen inneholder alternativene for sshd-tjenesten.

install-fail2ban-linux-07-jail-local-sshd-crop.png Slik sikrer du serveren din med Fail2Ban i Linux

Tips: Du kan også lære mer om serverherding på Sikre SSH-serveren din.

Aktiver Autoban-funksjonen

Gå til innstilling "bantime = 1tog fjern koden "#" på begynnelsen av linjen for å aktivere det. Denne linjen angir hvor lang tid det vil ta for Fail2Ban å deaktivere IP-adressen. Standardenheten er XNUMX time. Du kan også bruke andre enheter, for eksempel minutter (M) eller dager (D) eller til og med uker (w).

install-fail2ban-linux-08-enable-bantime-length.png Slik beskytter du serveren din med Fail2Ban i Linux

Du kan øke eller redusere denne verdien etter eget ønske. Du kan for eksempel endre denne verdien til 30 meter for å redusere blokkeringstiden til 30 minutter.

install-fail2ban-linux-09-reduce-bantime-length.png Slik beskytter du serveren din med Fail2Ban i Linux

Endre standardlengden på påloggingsvinduet

De neste innstillingene er "maxretry" og "findtime". De begrenser antallet påloggingsforsøk en angriper kan gjøre før Fail2Ban blokkerer IP-adressen deres.

Standardverdiene for "maxretry" og "findtime" er 5 og 10 m. Hvis en IP ikke klarer å autentisere fem ganger i løpet av ti minutter, vil Fail2Ban blokkere den i varigheten spesifisert av bantime-innstillingen.

install-fail2ban-linux-10-maximum-login-attempts.png Slik beskytter du serveren din med Fail2Ban i Linux

Du kan endre disse verdiene til hva du vil. For eksempel kan du sette "maxretry" til 3 og "findtime" til 5m: Fail2Ban vil deaktivere en IP-adresse hvis den ikke klarer å autentisere tre ganger i løpet av fem minutter.

install-fail2ban-linux-11-reduce-maximum-login-attempts.png Slik beskytter du serveren din med Fail2Ban i Linux

Aktiver Fail2Ban-varslingsfunksjonen i Linux

Følgende innstillinger er destemail, sendernavn og mta. Disse innstillingene er hva Fail2Ban vil bruke til å konfigurere e-postvarsler.

  • E-postinnstilling er e-postadressen som programmet vil sende varslene til.
  • Avsenderens navn er navnet som vises i Fra-feltet i e-postvarslingen.
  • mta er e-postoverføringsagenten som Fail2Ban vil bruke til å sende e-poster. mta standard er sendmail , men du kan endre den til noe annet som mail.

Hvis du ønsker å motta e-postvarsler, må du fjerne kommentarene til disse linjene og angi de riktige verdiene som vist.

install-fail2ban-linux-12-email-settings.png Slik beskytter du serveren din med Fail2Ban i Linux

Når et forbud oppstår, vil du motta en e-postmelding med detaljer om forbudet som vist.

install-fail2ban-linux-13-sample-mail-notification.png Slik beskytter du serveren din med Fail2Ban i Linux

Lag tilpassede blokkbestillinger

Den neste innstillingen er "action_=." Dette spesifiserer handlingen som Fail2ban tar når den blokkerer en IP-adresse. Standard er å bruke iptables for å blokkere IP-en til "bantime" utløper.

Du kan også bruke andre prosedyrer, som vist nedenfor. Denne opplæringen holder seg til standardinnstillingen for enkelhets skyld.

  • action_mw: Sender et e-postvarsel når en IP-adresse er blokkert, sammen med relevant WHOIS-informasjon.
  • action_mwl: Sender et e-postvarsel når en IP-adresse er blokkert, sammen med relevant WHOIS-informasjon og loggfiloppføringer som førte til blokkeringen.
  • action_xarf: Sender et X-ARF e-postvarsel når en IP-adresse er blokkert sammen med loggfiloppføringene som utløste blokkeringen.
Les også:  Viktige ting du bør vite før du bruker Linux for første gang

Mange andre prosedyrer er tilgjengelige, men det er umulig å dekke dem alle i denne opplæringen. du kan Les om alle tilgjengelige prosedyrer I Fail2ban dokumentasjon.

install-fail2ban-linux-14-fail2ban-action-lists.png Slik beskytter du serveren din med Fail2Ban i Linux

Aktiver konfigurasjon for tjenesten

Bortsett fra å konfigurere standardoppførselen til Fail2ban, er det også mulig å bruke forhåndslagde filterfiler for noen populære Internett-tjenester. Dette er små filer skrevet av utviklere for å søke etter spesifikke loggutganger for en bestemt server.

For eksempel inneholder "apache-shellshock.conf"-filen alle nødvendige innstillinger for å la Fail2ban se etter eventuelle ondsinnede forsøk på å generere en shellshock-feil.

install-fail2ban-linux-15-sample-filter-file.png Slik beskytter du serveren din med Fail2Ban i Linux

Du kan finne alle tilgjengelige filterfiler for systemet ditt ved å liste opp katalogen "/etc/fail2ban/filter.d":

ls /etc/fail2ban/filter.d

install-fail2ban-linux-16-list-all-filter-files.png Slik beskytter du serveren din med Fail2Ban i Linux

Når du kjenner filtrene du vil bruke, be Fail2ban om å laste dem under oppstart ved å åpne filen "jail.local":

sudo nano /etc/fail2ban/jail.local

Opprett en plass i "jail.local" hvor du kan aktivere de nye filtrene dine. Jeg lager min egen mellom kommentartittelen og [INCLUDES]-blokken.

install-fail2ban-linux-17-create-new-space.png Slik beskytter du serveren din med Fail2Ban i Linux

Legg til filtrene du vil aktivere. Følgende er for eksempel en kodebit jeg bruker i konfigurasjonen min:

# Kommentarer: bruk '#' for kommentarlinjer og ';' (etter et mellomrom) for innebygde kommentarer [sshd] aktivert = sant [nginx-bad-request] aktivert = sant [bitwarden] aktivert = sant [INCLUDES]

install-fail2ban-linux-18-add-new-filter-modules.png Slik beskytter du serveren din med Fail2Ban i Linux

Når du er ferdig, lagre og lukk filen. Start fail2ban på nytt for å bruke endringene.

sudo systemctl restart fail2ban

Test konfigurasjonen din

Nå som du har konfigurert Fail2Ban i Linux, er det på tide å teste det.

Den enkleste måten å teste konfigurasjonen på er å prøve å logge på med feil passord flere ganger i rask rekkefølge. Du kan bruke en SSH-tilkobling for å gjøre dette.

På avhendingsmaskinen, prøv å SSH inn i Fail2ban-serveren ved å bruke "admin"-brukernavnet. Erstatt "din_server_ip_adresse" med den faktiske IP-adressen til din Fail2ban-server.

ssh admin@din_server_ip_adresse

Skriv inn et tilfeldig passord når du blir bedt om det, og gjenta det flere ganger. Etter flere forsøk vil du se en melding om at serveren avviste tilkoblingsforsøket ditt.

install-fail2ban-linux-19-login-fail-attempt.png Slik beskytter du serveren din med Fail2Ban i Linux

Bortsett fra å bruke ssh, kan du også teste andre filterfiler i Fail2ban ved å kjøre Fail Status. I mitt tilfelle bruker jeg "nginx-bad-request"-filteret som oppdager om en vert oversvømmer serveren med ugyldige forespørsler.

Les også:  Funksjoner som gjør GNOME egnet for både nye og erfarne Linux-brukere

install-fail2ban-linux-20-nginx-bad-request-filter.png Slik beskytter du serveren din med Fail2Ban i Linux

Når du vet dette, kan du teste denne funksjonen ved å sende tomme forespørsler til webserveren din med vilje ved å bruke curl:

curl -H "User-Agent:" -H "Vert:" https://yourwebsite.com -v

install-fail2ban-linux-21-curl-bad-request.png Slik beskytter du serveren din med Fail2Ban i Linux

Sjekker Fail2Ban-rutiner i Linux

Til slutt, kjør følgende kommando på Fail2ban-serveren for å bekrefte at fail2ban har lagt til de nødvendige reglene til iptables.

grep-kommandoen filtrerer utdataene fra iptables-kommandoen. Alternativet -S forteller iptables å skrive ut reglene i et format som er lett å analysere.

sudo iptables -S | grep f2b

Du vil se en utgang som ligner på bildet nedenfor. Argumentet "–reject-with icmp-port-unreachable" forteller iptables å sende en ICMP-port unreachable-melding til klienten når den prøver å koble til. Du kan også se IP-adressene til enheter som serveren har blokkert.

install-fail2ban-linux-22-blocked-ip-address-fail2ban.png Slik beskytter du serveren din med Fail2Ban i Linux

Tips: Du bør også bruke SELinux for å sikre Linux-serveren din.

ofte stilte spørsmål

Q1: Hvorfor får jeg et tomt e-postvarsel når Fail2ban blokkerer en IP-adresse?
Svar: Hvis du mottar et tomt e-postvarsel, er det mulig at du ikke har konfigurert e-postserveren riktig. Sjekk konfigurasjonen av e-postserveren og sørg for at den kan sende e-post.

Q2: Hvordan kan jeg fjerne blokkeringen av en IP-adresse?
Svar: Først, finn fengselet der IP-adressen for øyeblikket er blokkert: sudo fail2ban-klientstatus , opphev blokkeringen av IP-adressen ved å kjøre følgende: sudo fail2ban-client set usann .

Q3: Hvordan viser jeg fail2ban-loggfilen?
Svar: Det kan være lurt å se fail2ban-loggfilen for å feilsøke problemer eller finne ut hvorfor IP-adressen ble blokkert. Filen "/var/log/fail2ban.log" inneholder alle logger generert av fail2ban. Bruk cat-kommandoen for å vise fail2ban-loggfilen: cat /var/log/fail2ban.log.

Q4: Jeg har aktivert flere filterfiler. Hvorfor fungerer de ikke alle sammen?
Svar: Dette problemet oppstår mest sannsynlig fordi et filter overskriver en annen fil som gikk foran den. En måte å fikse dette på er å lage din egen filterfil ved å kombinere flere filtre sammen.

Q5: Vil Fail2ban beskytte serveren min mot et DoS-angrep?
Svar: Ja og nei. For det meste vil Fail2ban kunne blokkere enhver IP som sender ugyldige forespørsler til serveren din. En av de største begrensningene til dette programmet er imidlertid at det ikke kan handle på hendelser som ikke produserer en loggoppføring. Som sådan er det fortsatt viktig å sikre Linux-serveren ved å bruke andre verktøy for disse formene for angrep.

Gå til toppknappen