Sikkerhet

Hvordan sette opp en IPS (Fail2ban) for å beskytte mot forskjellige angrep

Hvordan sette opp en IPS (Fail2ban) for å beskytte mot forskjellige angrep

IPS eller Intrusion Prevention System er en teknologi som brukes i nettverkssikkerhet for å undersøke nettverkstrafikk og forhindre forskjellige angrep ved å oppdage ondsinnede innganger. Bortsett fra bare å oppdage ondsinnede innganger som Intrusion Detection System gjør, forhindrer det også nettverket fra ondsinnede angrep. Det kan forhindre nettverket fra brute-force, DoS (Denial of Service), DDoS (Distribuert Denial of Service), Exploits, ormer, virus og andre vanlige angrep. IPS er plassert like bak brannmuren, og de kan sende alarmer, slippe ondsinnede pakker og blokkere krenkende IP-adresser. I denne opplæringen vil vi bruke Fail2ban, som er en programvarepakke for inntrenging, for å legge til et sikkerhetslag mot forskjellige brute force-angrep.

Hvordan fungerer Fail2ban

Fail2ban leser loggfilene (f.eks.g. / var / log / apache / error_log) og får de fornærmende IP-ene som prøver for mange mislykkede passord eller søker utnyttelser. I utgangspunktet oppdaterer Fail2ban brannmurregler for å blokkere forskjellige IP-er på serveren. Fail2ban tilbyr også filtre som vi kan bruke til en bestemt tjeneste (f.eks.g., apache, ssh, etc.).

Installerer Fail2ban

Fail2ban kommer ikke forhåndsinstallert på Ubuntu, så før vi bruker den, må vi installere den.

[e-postbeskyttet]: ~ $ sudo apt-get update -y
[e-postbeskyttet]: ~ $ sudo apt-get install fail2ban

Etter å ha installert Fail2ban, start og aktiver Fail2ban-tjenesten ved hjelp av kommandolinjen.

[e-postbeskyttet]: ~ $ sudo systemctl start fail2ban
[e-postbeskyttet]: ~ $ sudo systemctl aktiver fail2ban


Sjekk nå statusen for fail2ban-tjenesten for å bekrefte om den startet eller ikke.

[e-postbeskyttet]: ~ $ sudo systemctl status fail2ban

Konfigurere Fail2ban for SSH

Vi kan konfigurere Fail2ban ved å endre / etc / fail2ban / jail.conf-fil. Ta en sikkerhetskopi av denne filen før du endrer den.

[e-postbeskyttet]: ~ $ sudo cp / etc / fail2ban / fengsel.conf / etc / fail2ban / fengsel.lokal

Nå vil vi konfigurere Fail2ban for å forhindre sshd-tjenesten fra ondsinnede innganger. Åpne / etc / fail2ban / fengsel.lokal fil i favorittredigereren din.

[e-postbeskyttet]: ~ $ sudo nano / etc / fail2ban / fengsel.lokal

Gå til [misligholde] seksjon og skriv inn konfigurasjonsparametere under [misligholde] seksjon.

[MISLIGHOLDE]
ignorip = 127.0.0.1/8 192.168.18.10/32
bantime = 300
maxretry = 2
findtime = 600

ignorip er listen over cidr-maske, ip-adresse eller DNS-vert atskilt med mellomromstegn. Legg til de pålitelige IP-ene dine i denne listen, og disse IP-ene blir godkjent og vil ikke bli blokkert av fail2ban, selv om de utfører et voldsomt angrep på serveren.

bantime er tiden en IP vil bli blokkert etter å ha gjort en spesifikk mengde mislykkede forsøk på serveren.

maxretry er antall maksimale mislykkede forsøk, hvorpå en IP blir blokkert av fail2ban i en bestemt periode.

findtime er hvor lang tid det går hvis en vert gjør det maxretry mislykkede forsøk, vil den bli blokkert.

Etter å ha konfigurert parametrene ovenfor, vil vi nå konfigurere tjenesten som de ovennevnte reglene skal gjelde for. Som standard har Fail2ban forhåndsdefinerte filtre for forskjellige tjenester, så vi trenger ikke å oppgi noen spesifikke oppføringer for tjenester. Vi aktiverer eller deaktiverer bare forskjellige tjenester i konfigurasjonsfilen. Åpne / etc / fail2ban / fengsel.lokal fil i favorittredigereren din.

[e-postbeskyttet]: ~ $ sudo nano / etc / fail2ban / fengsel.lokal

Finn [sshd] -delen i filen og skriv inn følgende parametere i seksjonen.

[sshd]
aktiver = sann
port = ssh
filter = sshd
loggsti = / var / log / auth.Logg
maxretry = 3

aktivert definerer om denne tjenesten er beskyttet av fail2ban eller ikke. Hvis aktivert er sant, blir tjenesten beskyttet. ellers beskyttes den ikke.

havn definerer serviceport.

filter refererer til konfigurasjonsfilen fail2ban vil bruke. Som standard vil den bruke / etc / fail2ban / filter.d / sshd.conf-fil for ssh-tjeneste.

sti definerer stien til logger, fail2ban vil overvåke for å beskytte tjenesten mot forskjellige angrep. For ssh-tjeneste finner du autentiseringslogger på / var / log / auth.logg, så fail2ban vil overvåke denne loggfilen og vil oppdatere brannmuren ved å oppdage mislykkede påloggingsforsøk.

maxretry definerer antall mislykkede påloggingsforsøk før den blir blokkert av fail2ban.

Etter å ha brukt konfigurasjonen ovenfor for fail2ban, start tjenesten på nytt for å lagre endringene.

[e-postbeskyttet]: ~ $ sudo systemctl start fail2ban på nytt.service
[e-postbeskyttet]: ~ $ sudo systemctl status fail2ban.service

Testing Fail2ban

Vi har konfigurert fail2ban for å beskytte systemet vårt mot brute force-angrep på ssh-tjenesten. Nå vil vi gjøre mislykkede påloggingsforsøk på systemet vårt fra et annet system for å sjekke om fail2ban fungerer eller ikke. Etter å ha gjort noen mislykkede påloggingsforsøk nå, vil vi sjekke fail2ban-logger.

[e-postbeskyttet]: ~ $ cat / var / log / fail2ban.Logg

Vi kan se at etter mislykkede påloggingsforsøk har IP blitt blokkert av fail2ban.

Vi kan få en liste over alle tjenestene som fail2ban er aktivert for ved å bruke følgende kommando.

[e-postbeskyttet]: ~ $ sudo fail2ban-klientstatus


Ovenstående figur viser at vi bare har aktivert fail2ban for sshd-tjeneste. Vi kan få ytterligere informasjon om sshd-tjenesten ved å spesifisere tjenestenavnet i kommandoen ovenfor.

[e-postbeskyttet]: ~ $ sudo fail2ban-client status sshd

Fail2ban fjerner automatisk utestenging av den utestengte IP-adressen etter utløpstid, men vi kan når som helst fjerne utestenging av hvilken som helst IP ved hjelp av kommandolinjen. Dette vil gi mer kontroll over fail2ban. Bruk følgende kommando for å fjerne utestenging av IP-adressen.

[e-postbeskyttet]: ~ $ sudo fail2ban-klient satt sshd unbanip 192.168.43.35

Hvis du prøver å fjerne unban en IP-adresse som ikke er blokkert av fail2ban, vil den bare fortelle deg at IP ikke er blokkert.

[e-postbeskyttet]: ~ $ sudo fail2ban-klient sett sshd unbanip 192.168.43.35

Konklusjon

For en systemadministrator eller en sikkerhetsingeniør er det en stor utfordring å opprettholde sikkerheten til serverne. Hvis serveren din blir beskyttet av passordet, ikke av offentlig og privat nøkkelpar, er serveren din mer sårbar for brute force angripere. De kan komme inn i systemet ditt ved å bruke forskjellige passordkombinasjoner. Fail2ban er et verktøy som kan begrense angripere fra å starte forskjellige typer angrep, inkludert brute force-angrep og DDoS-angrep på serveren din. I denne opplæringen diskuterte vi hvordan vi kunne bruke Fail2ban til å beskytte serveren vår mot forskjellige angrep. Vi kan også bruke Fail2ban til å beskytte andre tjenester som apache, nginx, etc.

Hvordan vise FPS-teller i Linux-spill
Linux-spill fikk et stort press da Valve kunngjorde Linux-støtte for Steam-klient og spillene deres i 2012. Siden den gang har mange AAA- og indiespil...
Hvordan laste ned og spille Sid Meier's Civilization VI på Linux
Introduksjon til spillet Civilization 6 er et moderne syn på det klassiske konseptet som ble introdusert i serien av Age of Empires-spillene. Ideen va...
Hvordan installere og spille Doom på Linux
Introduksjon til Doom Doom-serien stammer fra 90-tallet etter utgivelsen av den originale Doom. Det ble en øyeblikkelig suksess, og fra den tiden og u...