Slik installerer og bruker du Fail2ban for Linux -serversikkerhet

I alle typer organisasjoner uavhengig av typen informasjon som brukes eller antall brukere som tilhører den, må vi alltid som personell i systemene eller IT -området sikre at sikkerhet er en hovedfaktor i den, men når en eller flere administreres . flere servere.

Når vi snakker om servere med Linux -distribusjoner, tror vi mange ganger at de er unntatt fra angrep, men i en online verden som ofte endres er det ikke lenger et sikkert system, og enhver distribusjon utsettes for angrep fra skadelig programvare, virus, DDOS -angrep og mange mer. Som administratorer eller brukere med tilgang til hendelser og serverlogger, er det normalt å oppdage påloggingsforsøk med brute force, webflom, exploiters -søk og andre trusler som på en eller annen måte kan sette integriteten og tilgjengeligheten av informasjon.

Derfor er det nødvendig å bruke verktøy som gir oss de beste sikkerhetsalternativene og -alternativene; Og tenker på det Solvetic vil forklare hvordan vi bruker Fail2ban til å oppdage og sikre Linux -operativsystemene våre.

Hva er Fail2ban?Fail2ban er utviklet som en programvare for forebygging av inntrengning, som analyserer serverloggfiler som / var / log / apache / error_log og dermed forbyr IP -adresser som inneholder ondsinnede tegn, med tanke på for mange feil i passord, sårbarhetssøk osv. .

Som hovedregel brukes Fail2Ban til å oppdatere brannmurreglene slik at den avviser IP -adresser i en bestemt tidsperiode, men du kan også konfigurere en annen regel som kan sette sikkerheten til systemet i fare. Selv om Fail2Ban kan redusere frekvensen av mislykkede autentiseringsforsøk i systemet, er det ideelt at autentiseringsmetodene ikke er svake. For dette kan vi konfigurere tjenestene til å bruke bare to faktorer eller offentlige / private autentiseringsmekanismer for å beskytte tjenestene i Linux.

Krav for å bruke Fail2ban
Den eneste avhengigheten vi trenger for å bruke Fail2ban vil være Python, avhengig av ønsket versjon vil det være følgende:

  • Fail2ban gren 0.9.x: Python> = 2.6 eller Python> = 3.2
  • Fail2ban gren 0.8.x: Python> = 2.4
Eventuelt kan Fail2ban kreve følgende elementer:
  • Netfilter / Iptables
  • Shorewall
  • TCP Wrapper
  • Mail script
  • Ipset

Fail2ban -funksjoner
Den nåværende versjonen av Fail2ban er 0.9.x som tilbyr oss funksjoner som:

  • Python-baserte handlinger.
  • Databasestøtte.
  • Flerlinjeanalyse i filtre.
  • Tilpasset dato og klokkeslett for filtre.
  • Tidssone -gjenkjenning som standard.
  • Tidsavbrudd i forbudskommandoer.
  • Gjenkjenningssett i loggfiler.
  • Python3 + støtte
  • Klient / serverarkitektur.
  • Multitråd.
  • Meget konfigurerbar ved bruk av delte konfigurasjonsfiler.
  • Den bruker Netfilter / Iptables som standard, men det vil også være mulig å bruke TCP Wrapper og mange andre tilgjengelige brannmurer.
  • Det lar deg håndtere flere tjenester samtidig som sshd, apache, vsftp og mer.
  • Kjør kommandoer når et mønster oppdages for den samme IP -adressen mer enn X ganger for å utestenge den adressen.

1. Slik installerer du Fail2ban på Linux

MerkI dette tilfellet bruker vi CentOS 7

Trinn 1
For å installere Fail2ban skal vi utføre følgende kommandoer i rekkefølgen:

Oppdater systemet

 yum oppdatering

Installer EPEL -depotene
 yum installer epel-release

Vi skriver inn bokstaven y for å bekrefte nedlasting og installasjon av EPEL -depotet.

Steg 2
Deretter installerer vi Fail2ban ved å utføre:

 yum installer fail2ban 

Trinn 3
Etter denne analysen vil vi se at alle avhengighetene til Fail2ban vil bli installert. Vi godtar nedlasting og installasjon av Fail2ban.

Trinn 4
Ved bruk av Debian eller Ubuntu må vi utføre følgende:

 apt-get update && apt-get upgrade -y apt-get install fail2ban
Eventuelt kan vi aktivere e -poststøtte for e -postvarsler ved å installere sendmail som følger:

CentOS / RHEL

 yum installer sendmail

Debian / Ubuntu

 apt-get install sendmail-bin sendmail

Trinn 5
Etter dette skal vi aktivere Fail2ban og Sendmail ved å bruke følgende kommandoer:

 systemctl start fail2ban systemctl aktiver fail2ban systemctl start sendmail systemctl aktiver sendmail

2. Slik konfigurerer du Fail2ban på Linux


Som standard bruker Fail2ban .conf -filene i / etc / fail2ban / katalogen; som du får tilgang til først, men disse kan erstattes av .local -filer i den samme katalogen.

Dermed trenger ikke .local -filen å inkludere alle innstillingene i .conf -filen, men bare de vi vil implementere for systemsikkerhet. Hver endring må gjøres i .local -filene som ikke er i .conf for å unngå å overskrive endringene ved oppdatering av fail2ban -pakken.

Trinn 1
For dette skal vi kopiere den eksisterende fail2ban.conf -filen til fail2ban.local slik:

 cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local

Steg 2
Nå vil det være mulig å gjøre endringene i .local -filen som er opprettet ved hjelp av et tekstredigeringsprogram, verdiene vi kan redigere er:

loglevelDette er nivået der postene lagres. Der har vi alternativer som:

  • KRITISK
  • FEIL
  • ADVARSEL
  • LEGGE MERKE TIL
  • INFO
  • DEBUG

logtargetDer blir handlingene registrert i en bestemt fil, standardverdien er /var/log/fail2ban.log og alternativene som skal brukes er:

  • STDOUT: Utdata av data.
  • STDERR: Genererer eventuelle feil.
  • SYSLOG: Meldingsbasert logg.
  • Fil: Utdata til en fil

stikkontaktDet er katalogen som socket -filen skal finnes i.

PidfileDet er plasseringen av pid -filen.

3. Hvordan konfigurere Fail2ban jail.local på Linux


I Fail2ban er en av de viktigste filene jail.conf, som definerer fengslene eller beskyttelsestiltakene. Der må du definere tjenestene som Fail2ban må være aktivert for.

Trinn 1
Vi skal lage en jail.local -fil for å kunne bruke endringene, for dette utfører vi:

 cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Vi får tilgang til denne lokale filen ved å bruke følgende syntaks:
 nano /etc/fail2ban/jail.local
Der finner vi backend -linjen og redigerer standardverdien Auto til systemd:

MerkNår det gjelder Ubuntu eller Debian, vil denne endringen ikke være nødvendig.

Steg 2
Jail.local -filen vil aktivere SSH som standard for Debian og Ubuntu, men ikke på CentOS, så hvis vi vil aktivere SSH, skal vi legge til linjen enabled = true under [sshd]:

4. Slik konfigurerer du ban- og forsøkstider i Fail2ban Linux


Med Fail2ban kan vi konfigurere måten en IP -adresse blokkeres på. For den grunnen; For dette bruker Fail2ban bantime, findtime og maxretry.

bantimeAngir antall sekunder en IP -adresse forblir utestengt (10 min som standard).

FindtimeDet er tiden mellom påloggingsforsøk, før verten blir fjernet. (standard 10 min)

maxretryRefererer til antall forsøk som må gjøres før et forbud påføres. (som standard 3 forsøk).

5. Slik konfigurerer du hvitlistede IP -adresser i Fail2ban Linux


Det er mulig å legge til IP -adresser på Fail2ban -godkjennelisten (tillatt). For å gjøre dette, i jail.local -filen må vi kommentere følgende linje:
 ignorip = 127.0.0.1/8 :: 1
Der kan vi legge inn IP -adressene som bør ignoreres. IP -adresser må skilles med mellomrom eller kommaer.

6. Hvordan lage e -postvarsler i Fail2ban Linux


Dette alternativet er ideelt hvis vi ønsker å motta varsler om endringer eller nyheter i postene. For å gjøre dette må vi redigere filen /etc/fail2ban/jail.local, alternativene er:

destemailDet er e -postadressen der varselet vil bli mottatt.

Avsenders navnDet er avsenderen vi vil se når meldingen er mottatt.

AvsenderAngir e -postadressen hvorfra Fail2ban sender e -postene.

Standard mta (e -postoverføringsagent) er konfigurert med sendmail.

For å motta et varsel via post, vil det også være nødvendig å endre innstillingen "Handling" på følgende linje:

 Handling =% (action_) s
Ved følgende konfigurasjon:
 action =% (action_mw) s action =% (action_mwl) s
Utesteng verten og send e -post med en whois -rapport
 % (action_mw) s

Det vil utestenge verten, generere whois -informasjon og all relevant informasjon fra loggfilen

 % (action_mwl) s

7. Ytterligere Fail2ban Linux -konfigurasjoner


Hvis du vil konfigurere et fengsel, må det være aktivert i jail.local -filen. Syntaksen er som følger:
 [fengsel] … aktivert = sant
Vi kan se fengselsstrukturen for SSHD. Fail2ban legger automatisk til tilleggsparametrene.

Det vil også være mulig å aktivere filteret som det kan identifiseres med hvis en linje i registeret er en feil. Filterverdien er en referanse til en fil med navnet på tjenesten etterfulgt av .conf. For eksempel kan vi bruke

 /etc/fail2ban/filter.d/sshd.conf.
Syntaksen som skal brukes er:
 filter = service
Når vi legger til fengsler, kan vi bruke Fail2ban -klienten til å se hvilke som er aktive på serveren, for dette utfører vi følgende:
 fail2ban-klientstatus
Der vil de bli distribuert når vi lager disse begrensningene.

Vi kan se hvordan Fail2ban er et praktisk verktøy for å øke sikkerheten i Linux -distribusjoner og unngå uautorisert tilgang og alt knyttet til dårlig praksis som utføres i organisasjonen.

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave