Alle servere, der er tilgængelige fra Internettet, er i fare for malwareangreb. For eksempel, hvis du har en applikation, der er tilgængelig fra det offentlige netværk, kan angribere bruge voldsomme forsøg på at få adgang til applikationen.
Fail2ban er et værktøj, der hjælper med at beskytte din Linux-maskine mod brute-force og andre automatiserede angreb ved at overvåge servicelogfiler for ondsindet aktivitet. Det bruger regelmæssige udtryk til at scanne logfiler. Alle poster, der matcher mønstrene, tælles, og når deres antal når en bestemt foruddefineret tærskel, forbudte Fail2ban den krænkende IP ved hjælp af system firewall i en bestemt tidsperiode. Når forbudstiden udløber, fjernes IP-adressen fra forbudslisten.
Denne artikel forklarer, hvordan du installerer og konfigurerer Fail2ban på Debian 10.
Installation af Fail2ban på Debian #
Fail2ban-pakken er inkluderet i Debian 10-standardlagrene. For at installere det skal du køre følgende kommando som root eller bruger med sudo-privilegier:
sudo apt opdatering
sudo apt installere fail2ban
Når Fail2ban-tjenesten er afsluttet, starter den automatisk. Du kan bekræfte det ved at kontrollere status for tjenesten:
sudo systemctl status fail2ban
Outputtet ser sådan ud:
● fail2ban.service - Fail2Ban Service Loaded: loaded (/ lib / systemd / system / fail2ban.service; aktiveret; forudindstilling af leverandør: aktiveret) Aktiv: aktiv (kører) siden ons 2021-03-10 18:57:32 UTC; For 47'ere siden…
Det er det. På dette tidspunkt har du Fail2Ban kørt på din Debian-server.
Fail2ban-konfiguration #
Standard Fail2ban-installationen leveres med to konfigurationsfiler, / etc / fail2ban / fængsel.konf
og / etc / fail2ban / fængsel.d / standard-debian.konf
. Du bør ikke ændre disse filer, da de kan blive overskrevet, når pakken opdateres.
Fail2ban læser konfigurationsfilerne i følgende rækkefølge. Hver .lokal
fil tilsidesætter indstillingerne fra .konf
fil:
/ etc / fail2ban / fængsel.konf
/ etc / fail2ban / fængsel.d / *.konf
/ etc / fail2ban / fængsel.lokal
/ etc / fail2ban / fængsel.d / *.lokal
Den nemmeste måde at konfigurere Fail2ban på er at kopiere fængsel.konf
til fængsel.lokal
og ændre .lokal
fil. Mere avancerede brugere kan oprette en .lokal
konfigurationsfil fra bunden. Det .lokal
filen behøver ikke at omfatte alle indstillinger fra den tilsvarende .konf
fil, kun dem, du vil tilsidesætte.
Lave en .lokal
konfigurationsfil ved at kopiere standard fængsel.konf
fil:
sudo cp / etc / fail2ban / fængsel.conf, local
For at begynde at konfigurere Fail2ban-serveren åben skal fængsel.lokal
fil med din teksteditor:
sudo nano / etc / fail2ban / fængsel.lokal
Filen indeholder kommentarer, der beskriver, hvad hver konfigurationsindstilling gør. I dette eksempel ændrer vi de grundlæggende indstillinger.
Hvidliste IP-adresser #
IP-adresser, IP-intervaller eller værter, som du vil udelukke fra at forbyde, kan føjes til ignorere
direktiv. Her skal du tilføje din lokale pc-IP-adresse og alle andre maskiner, som du vil hvidliste.
Fjern kommentar til linjen startende med ignorere
og tilføj dine IP-adresser adskilt af mellemrum:
ignorere = 127.0.0.1/8 :: 1 123.123.123.123 192.168.1.0/24
Forbud indstillinger #
bantime
, findtime
, og maxretry
indstillinger indstiller forbudstid og forbudsvilkår.
bantime
er varigheden, hvor IP er forbudt. Når der ikke er angivet noget suffiks, er det som standard sekunder. Som standard er bantime
værdien er sat til 10 minutter. De fleste brugere foretrækker at indstille en længere forbudstid. Skift værdien efter eget valg:
bantime = 1 d
Brug et negativt tal for permanent at forbyde IP.
findtime
er varigheden mellem antallet af fejl inden et forbud er sat. For eksempel, hvis Fail2ban er indstillet til at forbyde en IP efter fem fejl (maxretry
, (se nedenfor), skal disse fejl opstå inden for findtime
varighed.
findtid = 10m
maxretry
er antallet af fejl, inden en IP er forbudt. Standardværdien er sat til fem, hvilket skal være fint for de fleste brugere.
maxretry = 5
E-mail-underretninger #
Fail2ban kan sende e-mail-alarmer, når en IP er blevet forbudt. For at modtage e-mails skal du have en SMTP installeret på din server og ændre standardhandlingen, som kun forbyder IP til % (action_mw) s
, som vist nedenfor:
handling =% (action_mw) s
% (action_mw) s
forbyder den krænkende IP og sender en e-mail med en whois-rapport. Hvis du vil medtage de relevante logfiler i e-mailen, skal du indstille handlingen til % (action_mwl) s
.
Du kan også ændre de afsendende og modtagende e-mail-adresser:
/ etc / fail2ban / fængsel.lokaldestemail = admin @ linuxize.com afsender = root @ linuxize.com
Fail2ban fængsler #
Fail2ban bruger begrebet fængsler. Et fængsel beskriver en tjeneste og inkluderer filtre og handlinger. Logposter, der matcher søgemønsteret, tælles, og når en foruddefineret betingelse er opfyldt, udføres de tilsvarende handlinger.
Fail2ban skibe med et antal fængsler for forskellige tjenester. Du kan også oprette dine egne fængselskonfigurationer. Som standard er kun ssh-fængslet aktiveret.
For at aktivere et fængsel skal du tilføje aktiveret = sandt
efter fængsels titel. Følgende eksempel viser, hvordan du aktiverer postfix-fængslet:
[postfix] aktiveret = sand port = smtp, ssmtp filter = postfix logpath = / var / log / mail.log
De indstillinger, vi diskuterede i det foregående afsnit, kan indstilles pr. Fængsel. Her er et eksempel:
/ etc / fail2ban / fængsel.lokal[sshd] enabled = true maxretry = 3 findtime = 1d bantime = 4w ignoreip = 127.0.0.1/8 11.22.33.44
Filtrene er placeret i / etc / fail2ban / filter.d
bibliotek, gemt i en fil med samme navn som fængslet. Hvis du har en brugerdefineret opsætning og erfaring med regulære udtryk, kan du finjustere filtrene.
Hver gang konfigurationsfilen ændres, skal Fail2ban-tjenesten genstartes for at ændringer kan træde i kraft:
sudo systemctl genstart fail2ban
Fail2ban klient #
Fail2ban sendes med et kommandolinjeværktøj navngivet fail2ban-klient
som du kan bruge til at interagere med Fail2ban-tjenesten.
For at se alle tilgængelige indstillinger skal du påkalde kommandoen med -h
mulighed:
fail2ban-klient -h
Dette værktøj kan bruges til at forbyde / fjerne banning af IP-adresser, ændre indstillinger, genstarte tjenesten og mere. Her er et par eksempler:
Få den aktuelle status på serveren:
sudo fail2ban-klient status
Kontroller fængselsstatus:
sudo fail2ban-klient status sshd
Fjern en IP-adresse:
sudo fail2ban-klient sæt sshd unbanip 11.22.33.44
Forbud en IP:
sudo fail2ban-klient sæt sshd banip 11.22.33.44
Konklusion #
Vi har vist dig, hvordan du installerer og konfigurerer Fail2ban på Debian 10.
For mere information om dette emne, besøg Fail2ban-dokumentationen .
Hvis du har spørgsmål, er du velkommen til at efterlade en kommentar nedenfor.