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.
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.
Du vil se en utgang som ligner på bildet nedenfor.
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.
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:
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.
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.
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).
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.
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.
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.
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.
Når et forbud oppstår, vil du motta en e-postmelding med detaljer om forbudet som vist.
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.
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.
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.
Du kan finne alle tilgjengelige filterfiler for systemet ditt ved å liste opp katalogen "/etc/fail2ban/filter.d":
ls /etc/fail2ban/filter.d
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.
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]
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.
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.
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.
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.