Alle servere som er tilgjengelige fra Internett risikerer angrep av skadelig programvare. For eksempel, hvis du har et program som er tilgjengelig fra det offentlige nettverket, kan angripere bruke brutale forsøk på å få tilgang til applikasjonen.
Fail2ban er et verktøy som hjelper til med å beskytte Linux-maskinen din mot brutale krefter og andre automatiserte angrep ved å overvåke tjenesteloggene for skadelig aktivitet. Den bruker vanlige uttrykk for å skanne loggfiler. Alle oppføringer som samsvarer med mønstrene telles, og når antallet når en viss forhåndsdefinert terskel, forbyder Fail2ban den krenkende IP-en ved hjelp av systembrannmuren i en bestemt periode. Når forbudstiden utløper, fjernes IP-adressen fra forbudslisten.
Denne artikkelen forklarer hvordan du installerer og konfigurerer Fail2ban på Debian 10.
Installere Fail2ban på Debian #
Fail2ban-pakken er inkludert i standard Debian 10-depotene. For å installere den, kjør følgende kommando som root eller bruker med sudo-rettigheter:
sudo apt oppdatering
sudo apt installere fail2ban
Når Fail2ban-tjenesten er fullført, starter den automatisk. Du kan bekrefte det ved å sjekke statusen til tjenesten:
sudo systemctl status fail2ban
Utgangen vil se slik ut:
● fail2ban.service - Fail2Ban Service Loaded: loaded (/ lib / systemd / system / fail2ban.service; aktivert; leverandør forhåndsinnstilling: aktivert) Aktiv: aktiv (kjører) siden ons 2021-03-10 18:57:32 UTC; For 47 år siden ..
Det er det. På dette tidspunktet har du Fail2Ban som kjører på Debian-serveren din.
Fail2ban-konfigurasjon #
Standard Fail2ban-installasjon leveres med to konfigurasjonsfiler, / etc / fail2ban / fengsel.konf
og / etc / fail2ban / fengsel.d / standard-debian.konf
. Du bør ikke endre disse filene, da de kan bli overskrevet når pakken oppdateres.
Fail2ban leser konfigurasjonsfilene i følgende rekkefølge. Hver .lokal
filen overstyrer innstillingene fra .konf
fil:
/ etc / fail2ban / fengsel.konf
/ etc / fail2ban / fengsel.d / *.konf
/ etc / fail2ban / fengsel.lokal
/ etc / fail2ban / fengsel.d / *.lokal
Den enkleste måten å konfigurere Fail2ban på er å kopiere fengsel.konf
til fengsel.lokal
og endre .lokal
fil. Mer avanserte brukere kan bygge en .lokal
konfigurasjonsfil fra bunnen av. De .lokal
filen trenger ikke å inkludere alle innstillinger fra den tilsvarende .konf
filen, bare de du vil overstyre.
Lage en .lokal
konfigurasjonsfilen ved å kopiere standardinnstillingen fengsel.konf
fil:
sudo cp / etc / fail2ban / fengsel.conf, local
For å begynne å konfigurere Fail2ban-serveren åpen, fengsel.lokal
fil med teksteditoren din:
sudo nano / etc / fail2ban / fengsel.lokal
Filen inneholder kommentarer som beskriver hva hvert konfigurasjonsalternativ gjør. I dette eksemplet endrer vi grunninnstillingene.
Hviteliste IP-adresser #
IP-adresser, IP-områder eller verter du vil ekskludere fra å forby, kan legges til ignorip
direktivet. Her bør du legge til din lokale PC-IP-adresse og alle andre maskiner du vil hviteliste.
Fjern kommentar fra linjen som begynner med ignorip
og legg til IP-adressene dine atskilt med mellomrom:
ignorip = 127.0.0.1/8 :: 1 123.123.123.123 192.168.1.0/24
Utesteng innstillinger #
bantime
, findtime
, og maxretry
alternativer angir forbudstid og forbudsvilkår.
bantime
er varigheten IP er utestengt for. Når det ikke er angitt noe suffiks, er det standard sekunder. Som standard er bantime
verdien er satt til 10 minutter. De fleste brukere foretrekker å angi lengre forbudstid. Endre verdien etter eget ønske:
bantime = 1 d
For å utestenge IP-en permanent, bruk et negativt tall.
findtime
er varigheten mellom antall feil før et forbud er satt. For eksempel hvis Fail2ban er satt til å forby en IP etter fem feil (maxretry
, se nedenfor), må disse feilene oppstå i findtime
varighet.
findtime = 10m
maxretry
er antall feil før en IP er utestengt. Standardverdien er satt til fem, noe som skal være bra for de fleste brukere.
maxretry = 5
E-postvarsler #
Fail2ban kan sende e-postvarsler når en IP er utestengt. For å motta e-post, må du ha en SMTP installert på serveren din og endre standardhandlingen, som bare forbyr IP-en til % (action_mw) s
, som vist under:
handling =% (action_mw) s
% (action_mw) s
forbyr den krenkende IP-adressen og sender en e-post med en whois-rapport. Hvis du vil inkludere de aktuelle loggene i e-posten, setter du handlingen til % (action_mwl) s
.
Du kan også endre e-postadressene for sending og mottak:
/ etc / fail2ban / fengsel.lokaldestemail = admin @ linuxize.com avsender = root @ linuxize.com
Fail2ban fengsler #
Fail2ban bruker begrepet fengsler. Et fengsel beskriver en tjeneste og inkluderer filtre og handlinger. Loggoppføringer som samsvarer med søkemønsteret telles, og når en forhåndsdefinert betingelse er oppfylt, utføres de tilsvarende handlingene.
Fail2ban leveres med et antall fengsler for forskjellige tjenester. Du kan også lage dine egne fengselskonfigurasjoner. Som standard er bare ssh-fengsel aktivert.
For å aktivere et fengsel, må du legge til aktivert = sann
etter fengselstittelen. Følgende eksempel viser hvordan du aktiverer postfix fengsel:
[postfix] aktivert = true port = smtp, ssmtp filter = postfix logpath = / var / log / mail.Logg
Innstillingene vi diskuterte i forrige avsnitt, kan angis per fengsel. Her er et eksempel:
/ etc / fail2ban / fengsel.lokal[sshd] aktivert = true maxretry = 3 findtime = 1d bantime = 4w ignoreip = 127.0.0.1/8 11.22.33.44
Filtrene er plassert i / etc / fail2ban / filter.d
katalog, lagret i en fil med samme navn som fengselet. Hvis du har et tilpasset oppsett og erfaring med vanlige uttrykk, kan du finjustere filtrene.
Hver gang konfigurasjonsfilen endres, må Fail2ban-tjenesten startes på nytt for at endringene skal tre i kraft:
sudo systemctl start fail2ban på nytt
Fail2ban Client #
Fail2ban sendes med et kommandolinjeverktøy som heter fail2ban-klient
som du kan bruke til å samhandle med Fail2ban-tjenesten.
For å se alle tilgjengelige alternativer, påkaller du kommandoen med -h
alternativ:
fail2ban-klient -h
Dette verktøyet kan brukes til å forby / unban IP-adresser, endre innstillinger, starte tjenesten på nytt og mer. Her er noen eksempler:
Få den nåværende statusen til serveren:
sudo fail2ban-klientstatus
Sjekk fengselsstatus:
sudo fail2ban-klientstatus sshd
Unban en IP:
sudo fail2ban-klient satt sshd unbanip 11.22.33.44
Forby en IP:
sudo fail2ban-klient satt sshd banip 11.22.33.44
Konklusjon #
Vi har vist deg hvordan du installerer og konfigurerer Fail2ban på Debian 10.
For mer informasjon om dette emnet, besøk Fail2ban-dokumentasjonen .
Hvis du har spørsmål, er du velkommen til å legge igjen en kommentar nedenfor.