IPS eller inntrengingsforebyggende 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 inntrengingsdeteksjonssystem gjør, forhindrer det også nettverket fra ondsinnede angrep. Det kan forhindre at nettverket er brute-force, DOS (benektelse av service), DDOS (distribuert tjenesteavnektelse), utnyttelser, 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 programvare for forebygging av inntrengninger, for å legge til et sikkerhetslag mot forskjellige brute force -angrep.
Hvordan Fail2Ban fungerer
Fail2Ban leser loggfilene (e.g. /var/log/apache/error_log) og får de fornærmende IP -ene som prøver for mange mislykkede passord eller søker etter utnyttelse. I utgangspunktet oppdaterer Fail2Ban brannmurregler for å blokkere forskjellige IP -er på serveren. Fail2Ban gir også filtre som vi kan bruke til en bestemt tjeneste (e.g., apache, ssh, etc.).
Installere fail2ban
Fail2Ban kommer ikke forhåndsinstallert på Ubuntu, så før vi bruker den, må vi installere det.
ubuntu@ubuntu: ~ $ sudo apt -get update -y
ubuntu@ubuntu: ~ $ sudo apt-get install fail2ban
Etter å ha installert Fail2Ban, start og aktiver Fail2BAN -tjenesten ved hjelp av kommandolinjen.
ubuntu@ubuntu: ~ $ sudo systemctl start fail2ban
ubuntu@ubuntu: ~ $ sudo systemctl enable fail2ban
Sjekk nå statusen til Fail2BAN -tjenesten for å bekrefte om den startet eller ikke.
ubuntu@ubuntu: ~ $ sudo systemctl status fail2ban
Konfigurere fail2ban for ssh
Vi kan konfigurere fail2ban ved å endre/etc/fail2ban/fengsel.Conf -fil. Før du endrer det, ta en sikkerhetskopi av denne filen.
ubuntu@ubuntu: ~ $ sudo cp/etc/fail2ban/fengsel.Conf/etc/fail2ban/fengsel.lokal
Nå vil vi konfigurere Fail2BAN for å forhindre SSHD -tjeneste fra ondsinnede innganger. Åpne/etc/fail2ban/fengsel.Lokal fil i favorittredigereren din.
ubuntu@ubuntu: ~ $ sudo nano/etc/fail2ban/fengsel.lokal
Gå til [misligholde] Seksjon og skriv inn konfigurasjonsparametere under [misligholde] seksjon.
[MISLIGHOLDE]
Ignoreip = 127.0.0.1/8 192.168.18.10/32
Bantime = 300
Maxretry = 2
FindTime = 600
ignorere er listen over CIDR -maske, IP -adresse eller DNS -vert atskilt med et romkarakter. Legg til dine pålitelige IP -er i denne listen, og disse IP -ene vil bli hvitelistet og vil ikke bli blokkert av Fail2Ban selv om de utfører et brute force -angrep på serveren.
Bantime er tiden en IP vil bli blokkert etter å ha gjort en bestemt mengde mislykkede forsøk på serveren.
Maxretry er antall maksimale mislykkede forsøk, hvoretter en IP er blokkert av Fail2Ban i en bestemt periode.
FindTime er tiden hvor en vert gjør Maxretry mislykkede forsøk, det vil bli blokkert.
Etter å ha konfigurert parametrene ovenfor, vil vi nå konfigurere tjenesten som reglene ovenfor kommer til å gjelde. Som standard har Fail2Ban forhåndsdefinerte filtre for forskjellige tjenester, så vi trenger ikke å legge inn noen spesifikke oppføringer for tjenester. Vi aktiverer eller deaktiverer bare forskjellige tjenester i konfigurasjonsfilen. Åpne/etc/fail2ban/fengsel.Lokal fil i favorittredigereren din.
ubuntu@ubuntu: ~ $ sudo nano/etc/fail2ban/fengsel.lokal
Finn [sshd] Seksjon i filen og skriv inn følgende parametere i seksjonen.
[sshd]
Aktiver = sant
port = ssh
Filter = SSHD
Logpath =/var/log/autor.Logg
Maxretry = 3
aktivert definerer om denne tjenesten er beskyttet av Fail2Ban eller ikke. Hvis aktivert er sann, blir tjenesten beskyttet; Ellers blir den ikke beskyttet.
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.
Logsti Definerer banen til logger, Fail2Ban vil overvåke for å beskytte tjenesten mot forskjellige angrep. For SSH -tjeneste kan autentiseringslogger finnes på/var/log/autor.Logg, så Fail2Ban vil overvåke denne loggfilen og oppdatere brannmuren ved å oppdage mislykkede påloggingsforsøk.
Maxretry Definerer antall mislykkede påloggingsforsøk før du blir blokkert av Fail2Ban.
Etter å ha brukt ovennevnte konfigurasjon for fail2ban, må du starte tjenesten for å lagre endringer på nytt for å lagre endringer.
ubuntu@ubuntu: ~ $ sudo SystemCTL RESTART FAIL2BAN.service
ubuntu@ubuntu: ~ $ 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.
ubuntu@ubuntu: ~ $ cat/var/log/fail2ban.Logg
Vi kan se at etter mislykkede påloggingsforsøk har IP -en blitt blokkert av Fail2Ban.
Vi kan få en liste over alle tjenestene som Fail2Ban er aktivert for ved å bruke følgende kommando.
ubuntu@ubuntu: ~ $ sudo fail2ban-client status
Figuren ovenfor viser at vi bare har aktivert Fail2Ban for SSHD -tjeneste. Vi kan få ytterligere informasjon om SSHD -tjenesten ved å spesifisere tjenestenavnet i kommandoen ovenfor.
ubuntu@ubuntu: ~ $ sudo fail2ban-client status sshd
FAIL2BAN UNBAN automatisk den utestengte IP -adressen etter bantime, men vi kan når som helst for å bruke en hvilken som helst IP ved å bruke kommandolinjen. Dette vil gi mer kontroll over mislykkede2ban. Bruk følgende kommando for å fjerne IP -adressen.
ubuntu@ubuntu: ~ $ sudo fail2ban-client set sshd unbanip 192.168.43.35
Hvis du prøver å fjerne en IP -adresse som ikke er blokkert av Fail2Ban, vil den bare fortelle deg at IP ikke er blokkert.
ubuntu@ubuntu: ~ $ sudo fail2ban-client set sshd unbanip 192.168.43.35
Konklusjon
For en systemadministrator eller en sikkerhetsingeniør er det en stor utfordring å opprettholde servernes sikkerhet. Hvis serveren din blir beskyttet av passordet, ikke av offentlig og privat nøkkelpar, er serveren din mer sårbar for angripere av brute force. 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 for å beskytte serveren vår mot forskjellige angrep. Vi kan også bruke Fail2Ban for å beskytte andre tjenester som Apache, Nginx, etc.