Fail2Ban et utmerket alternativ for å avvise brute force-angrep på serveren din

fail2ban

En av de vanligste angrepsvektorene mot servere er brute force-påloggingsforsøk. Dette er hvor angripere prøver å få tilgang til serveren din, og prøver uendelige kombinasjoner av brukernavn og passord.

For slike problemer den raskeste og mest effektive løsningen er å begrense antall forsøk og blokkere tilgang til brukeren eller IP-en for en viss tid. Det er også viktig å vite at det for dette også er åpen kildekode-applikasjoner spesielt designet for å forsvare seg mot denne typen angrep.

I dagens innlegg, Jeg vil introdusere deg en heter Fail2Ban. Opprinnelig utviklet av Cyril Jaquier i 2004, er Fail2Ban et programvarerammeverk for inntrenging som beskytter servere mot brute force-angrep.

Om Fail2ban

Fail2ban skanner loggfiler (/ var / log / apache / error_log) og forbyr IP-er som viser ondsinnet aktivitet, som for mange feilpassord og søke etter sårbarheter osv.

En generell Fail2Ban brukes til å oppdatere brannmurreglene for å avvise IP-adresser i en bestemt tid, selv om andre vilkårlige handlinger (for eksempel sende en e-post) også kan konfigureres.

Installere Fail2Ban på Linux

Fail2Ban finnes i de fleste repositoriene til de viktigste Linux-distribusjonene, og mer spesifikt i de mest brukte for bruk på servere, som CentOS, RHEL og Ubuntu.

I tilfelle Ubuntu, skriv bare inn følgende for installasjon:

sudo apt-get update && sudo apt-get install -y fail2ban

Mens det gjelder Centos og RHEL, må de skrive inn følgende:

yum install epel-release
yum install fail2ban fail2ban-systemd

Hvis du har SELinux, er det viktig å oppdatere retningslinjene med:

yum update -y selinux-policy*

Når dette er gjort, bør de vite i forgrunnen at Fail2Ban-konfigurasjonsfilene er i / etc / fail2ban.

Konfigurasjonen av Fail2Ban er hovedsakelig delt inn i to nøkkelfiler; disse er fail2ban.conf og jail.conf. fail2ban.confes den større Fail2Ban-konfigurasjonsfilen, hvor du kan konfigurere innstillinger som:

  • Loggnivået.
  • Filen du skal logge på.
  • Prosess-sokkelfilen.
  • Filen pid.

jail.conf er der du konfigurerer alternativer som:

  • Konfigurasjonen av tjenestene for å forsvare.
  • Hvor lenge å forby hvis de skulle bli angrepet.
  • E-postadressen for å sende rapporter.
  • Handlingen som skal utføres når et angrep oppdages.
  • Et forhåndsdefinert sett med innstillinger, for eksempel SSH.

Konfigurasjon

Nå skal vi gå videre til konfigurasjonsdelen, Det første vi skal gjøre er en sikkerhetskopi av vår jail.conf-fil med:

cp -pf /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Og vi fortsetter å redigere nå med nano:

nano /etc/fail2ban/jail.local

Inne går vi til [Standard] -delen der vi kan gjøre noen justeringer.

Her i "ingoreip" -delen er IP-adressene som blir utelatt og de vil bli fullstendig ignorert av Fail2Ban, det er i utgangspunktet serverens IP (den lokale) og de andre som du mener bør ignoreres.

Derfra og ut de andre IP-ene som har mislykket tilgang vil være nådd for å bli utestengt og vent på antall sekunder det vil bli utestengt (som standard er det 3600 sekunder) og at fail2ban bare virker etter 6 mislykkede forsøk

Etter den generelle konfigurasjonen vil vi nå indikere tjenesten. Fail2Ban har allerede noen forhåndsdefinerte filtre for forskjellige tjenester. Så bare gjør noen tilpasninger. Her er et eksempel:

[ssh] enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6

Når de relevante endringene er gjort, må du endelig laste inn Fail2Ban på nytt:

service fail2ban reload
systemctl enable firewalld
systemctl start firewalld

Når dette er gjort, la oss gjøre en rask sjekk for å se at Fail2Ban kjører:

sudo fail2ban-client status

Unban en IP

Nå som vi med suksess har utestengt en IP, hva om vi ønsker å oppheve en IP? For å gjøre det, kan vi igjen bruke fail2ban-klient og fortelle det å fjerne en spesifikk IP, som i eksemplet nedenfor.

sudo fail2ban-client set ssh unbanip xxx.xxx.xx.xx

Hvor "xxx ...." Det vil være IP-adressen du oppgir.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.