säkerhet

Hur man ställer in en IPS (Fail2ban) för att skydda mot olika attacker

Hur man ställer in en IPS (Fail2ban) för att skydda mot olika attacker

IPS eller Intrusion Prevention System är en teknik som används i nätverkssäkerhet för att undersöka nätverkstrafik och förhindra olika attacker genom att upptäcka skadliga ingångar. Förutom att bara upptäcka skadliga ingångar som Intrusion Detection System gör det, förhindrar det också nätverket från skadliga attacker. Det kan förhindra nätverket från brute-force, DoS (Denial of Service), DDoS (Distribuerad Denial of Service), Exploits, maskar, virus och andra vanliga attacker. IPS placeras precis bakom brandväggen och de kan skicka larm, släppa skadliga paket och blockera förolämpande IP-adresser. I denna handledning kommer vi att använda Fail2ban, som är ett Intrusion Prevention Software-paket, för att lägga till ett säkerhetslager mot olika brute force-attacker.

Hur Fail2ban fungerar

Fail2ban läser loggfilerna (t.ex.g. / var / log / apache / error_log) och får de stötande IP-adresserna som försöker för många misslyckade lösenord eller söker efter exploateringar. I grund och botten uppdaterar Fail2ban brandväggsregler för att blockera olika IP-adresser på servern. Fail2ban tillhandahåller också filter som vi kan använda för en viss tjänst (t.ex.g., apache, ssh, etc.).

Installerar Fail2ban

Fail2ban kommer inte förinstallerat på Ubuntu, så innan vi använder det måste vi installera det.

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

Efter installation av Fail2ban, starta och aktivera Fail2ban-tjänsten med hjälp av kommandoraden.

[e-postskyddad]: ~ $ sudo systemctl start fail2ban
[e-postskyddad]: ~ $ sudo systemctl aktivera fail2ban


Kontrollera nu statusen för fail2ban-tjänsten för att bekräfta om den startade eller inte.

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

Konfigurera Fail2ban för SSH

Vi kan konfigurera Fail2ban genom att ändra / etc / fail2ban / jail.conf-fil. Ta en säkerhetskopia av den här filen innan du ändrar den.

[e-postskyddad]: ~ $ sudo cp / etc / fail2ban / fängelse.conf / etc / fail2ban / fängelse.lokal

Nu konfigurerar vi Fail2ban för att förhindra att sshd-tjänsten skadliga ingångar. Öppna / etc / fail2ban / fängelse.lokal fil i din favoritredigerare.

[e-postskyddad]: ~ $ sudo nano / etc / fail2ban / fängelse.lokal

Gå till [standard] avsnitt och ange konfigurationsparametrar under [standard] sektion.

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

ignorera är listan över cidr-mask, ip-adress eller DNS-värd åtskilda av ett mellanslagstecken. Lägg till dina betrodda IP-adresser i den här listan, så kommer dessa IP-adresser att vara vitlistade och kommer inte att blockeras av fail2ban även om de utför en brute force-attack på servern.

bantime är tiden då en IP kommer att blockeras efter att ha gjort en viss mängd misslyckade försök till servern.

maxretry är antalet maximala misslyckade försök, varefter en IP blockeras av fail2ban under en viss tid.

hitta tid är den tid under vilken en värd gör det maxretry misslyckade försök kommer det att blockeras.

Efter att ha konfigurerat ovanstående parametrar konfigurerar vi nu den tjänst som ovanstående regler ska gälla för. Som standard har Fail2ban fördefinierade filter för olika tjänster, så vi behöver inte ange några specifika poster för tjänster. Vi aktiverar eller inaktiverar bara olika tjänster i konfigurationsfilen. Öppna / etc / fail2ban / fängelse.lokal fil i din favoritredigerare.

[e-postskyddad]: ~ $ sudo nano / etc / fail2ban / fängelse.lokal

Hitta [sshd] i filen och ange följande parametrar i avsnittet.

[sshd]
aktivera = sant
port = ssh
filter = sshd
logpath = / var / log / auth.logga
maxretry = 3

aktiverad definierar om den här tjänsten skyddas av fail2ban eller inte. Om aktiverat är sant skyddas tjänsten. annars skyddas den inte.

hamn definierar tjänstport.

filtrera refererar till konfigurationsfilen som fail2ban kommer att använda. Som standard använder den / etc / fail2ban / filter.d / sshd.conf-fil för ssh-tjänst.

loggväg definierar vägen till loggar, fail2ban övervakar för att skydda tjänsten från olika attacker. För ssh-tjänsten kan autentiseringsloggar hittas på / var / log / auth.logg, så fail2ban övervakar den här loggfilen och uppdaterar brandväggen genom att upptäcka misslyckade inloggningsförsök.

maxretry definierar antalet misslyckade inloggningsförsök innan det blockeras av fail2ban.

Efter att ha tillämpat ovanstående konfiguration för fail2ban, starta om tjänsten för att spara ändringar.

[e-postskyddad]: ~ $ sudo systemctl starta om fail2ban.service
[e-postskyddad]: ~ $ sudo systemctl status fail2ban.service

Testar Fail2ban

Vi har konfigurerat fail2ban för att skydda vårt system mot brute force attacker på ssh service. Nu kommer vi att göra misslyckade inloggningsförsök på vårt system från ett annat system för att kontrollera om fail2ban fungerar eller inte. Efter att ha gjort några misslyckade inloggningsförsök nu kommer vi att kontrollera fail2ban-loggar.

[e-postskyddad]: ~ $ cat / var / log / fail2ban.logga

Vi kan se att efter misslyckade inloggningsförsök har IP: n blockerats av fail2ban.

Vi kan få en lista över alla tjänster som fail2ban är aktiverat för med hjälp av följande kommando.

[e-postskyddad]: ~ $ sudo fail2ban-client-status


Ovanstående figur visar att vi endast har aktiverat fail2ban för sshd-tjänsten. Vi kan få ytterligare information om sshd-tjänsten genom att ange tjänstenamnet i ovanstående kommando.

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

Fail2ban avblockerar automatiskt den förbjudna IP-adressen efter bantime, men vi kan avblockera vilken IP som helst när som helst med hjälp av kommandoraden. Detta ger mer kontroll över fail2ban. Använd följande kommando för att avblockera IP-adressen.

[e-postskyddad]: ~ $ sudo fail2ban-client set sshd unbanip 192.168.43.35

Om du försöker avblockera en IP-adress som inte blockeras av fail2ban, kommer den bara att berätta att IP-adressen inte är blockerad.

[e-postskyddad]: ~ $ sudo fail2ban-client set sshd unbanip 192.168.43.35

Slutsats

För en systemadministratör eller en säkerhetsingenjör är det en stor utmaning att upprätthålla servrarnas säkerhet. Om din server skyddas av lösenordet, inte av offentliga och privata nyckelpar, är din server mer sårbar för brute force angripare. De kan komma in i ditt system genom att använda olika lösenordskombinationer. Fail2ban är ett verktyg som kan begränsa angripare från att starta olika typer av attacker, inklusive brute force attacker och DDoS attacker på din server. I den här handledningen diskuterade vi hur vi kunde använda Fail2ban för att skydda vår server från olika attacker. Vi kan också använda Fail2ban för att skydda andra tjänster som apache, nginx, etc.

Vulkan för Linux-användare
Med varje ny generation grafikkort ser vi spelutvecklare driva gränserna för grafisk trohet och komma ett steg närmare fotorealism. Men trots all kred...
OpenTTD vs Simutrans
Att skapa din egen transportsimulering kan vara rolig, avkopplande och extremt lockande. Det är därför du måste se till att du testar så många spel so...
OpenTTD-handledning
OpenTTD är ett av de mest populära affärssimuleringsspelen där ute. I det här spelet måste du skapa en underbar transportaffär. Du kommer dock att bör...