Fail2Ban er en glimrende mulighed for at afvise brute force-angreb på din server

fail2ban

En af de mest almindelige angrebsvektorer mod servere er brute force login forsøg. Det er her angribere forsøger at få adgang til din server ved at prøve uendelige kombinationer af brugernavne og adgangskoder.

Til denne slags problemer Den hurtigste og mest effektive løsning er at begrænse antallet af forsøg og blokere adgangen til brugeren eller den pågældende IP for en vis tid. Det er også vigtigt at vide, at til dette er der også open source-applikationer, der er specielt designet til at forsvare sig mod denne type angreb.

I dagens indlæg, Jeg vil introducere dig, en kaldes Fail2Ban. Oprindeligt udviklet af Cyril Jaquier i 2004, Fail2Ban er en softwareramme til forebyggelse af indtrængen, der beskytter servere mod brute force-angreb.

Om Fail2ban

Fail2ban scanner logfiler (/ var / log / apache / error_log) og forbyder IP'er, der viser ondsindet aktivitet, som for mange defekte adgangskoder og søgning efter sårbarheder osv.

Generelt, Fail2Ban bruges til at opdatere firewallreglerne for at afvise IP-adresser i et bestemt tidsrum, selvom enhver anden vilkårlig handling (f.eks. at sende en e-mail) også kan konfigureres.

Installation af Fail2Ban på Linux

Fail2Ban findes i de fleste af lagrene i de vigtigste Linux-distributioner og mere specifikt i de mest brugte til brug på servere, såsom CentOS, RHEL og Ubuntu.

I tilfælde af Ubuntu skal du bare skrive følgende til installation:

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

Mens det er tilfældet med Centos og RHEL, skal de skrive følgende:

yum install epel-release
yum install fail2ban fail2ban-systemd

Hvis du har SELinux, er det vigtigt at opdatere politikkerne med:

yum update -y selinux-policy*

Når dette er gjort, bør de vide på egen hånd, at Fail2Ban-konfigurationsfilerne er i /etc/fail2ban.

Konfigurationen af Fail2Ban er hovedsageligt opdelt i to nøglefiler; disse er fail2ban.conf og jail.conf. fail2ban.conf er den større Fail2Ban-konfigurationsfil, hvor du kan konfigurere indstillinger som:

  • Logniveauet.
  • Den fil, der skal logges ind.
  • Processstikket-filen.
  • Filen pid.

jail.conf er hvor du konfigurerer indstillinger som:

  • Konfigurationen af ​​de tjenester, der skal forsvares.
  • Hvor lang tid at forbyde, hvis de skulle blive angrebet.
  • E-mail-adressen til at sende rapporter.
  • Handlingen, der skal udføres, når et angreb opdages.
  • Et foruddefineret sæt indstillinger, såsom SSH.

konfiguration

Nu skal vi gå videre til konfigurationsdelen, Den første ting vi skal gøre er at sikkerhedskopiere vores jail.conf fil med:

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

Og vi fortsætter med at redigere nu med nano:

nano /etc/fail2ban/jail.local

Inde går vi til [Standard] sektionen, hvor vi kan foretage nogle justeringer.

Her i "ingoreip" -delen er de IP-adresser, der vil blive udeladt og de vil blive fuldstændig ignoreret af Fail2Ban, det er dybest set serverens IP (den lokale) og de andre, som du mener bør ignoreres.

Derfra og ud de andre IP'er, der har mislykket adgang, vil være bundet af forbudet og vent på det antal sekunder, som det vil blive forbudt (som standard er det 3600 sekunder), og at fail2ban kun virker efter 6 mislykkede forsøg

Efter den generelle konfiguration vil vi nu angive tjenesten. Fail2Ban har allerede nogle foruddefinerede filtre til forskellige tjenester. Så gør bare nogle tilpasninger. Her er et eksempel:

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

Med de relevante ændringer foretaget, bliver du endelig nødt til at genindlæse Fail2Ban ved at køre:

service fail2ban reload
systemctl enable firewalld
systemctl start firewalld

Når det er gjort, lad os tage et hurtigt tjek for at se, at Fail2Ban kører:

sudo fail2ban-client status

Fjern en IP-adresse

Nu hvor vi har forbudt en IP, hvad nu hvis vi vil ophæve en IP? For at gøre det kan vi igen bruge fail2ban-client og bede den om at ophæve en specifik IP, som i eksemplet nedenfor.

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

Hvor "xxx ...." Det er den IP-adresse, du angiver.


Tilføj som foretrukken kilde