Driftsättning av Linuxservrar och SSH på djupet · Lektion

Intrångsdetektering och -förebyggande

Konfigurera system för intrångsdetektering (IDS) som Fail2Ban och förstå principerna bakom system för intrångsförebyggande (IPS) för att aktivt försvara servern.

Lektion 3 av 411 steg

Intrångsdetektering och -förebyggande är en gratis lektion i Driftsättning av Linuxservrar och SSH på djupet på CoddyKit. Detta är lektion 3 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Driftsättning av Linuxservrar och SSH på djupet, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Driftsättning av Linuxservrar och SSH på djupet innehåller totalt 4 lektioner.

Bortom brandväggar: aktivt försvar

Välkomna till den sista lektionen om serversäkerhet! Vi har gått igenom brandväggar och granskningar, som är avgörande för förebyggande skydd. Men vad händer om en beslutsam angripare försöker kringgå dessa försvar?

I den här lektionen introduceras Intrusion Detection Systems (IDS) och Intrusion Prevention Systems (IPS). Dessa verktyg ger ett extra lager av aktivt försvar och hjälper Er att upptäcka och stoppa skadlig aktivitet på servern.

Vad är ett IDS?

Ett Intrusion Detection System (IDS) fungerar ungefär som en säkerhetsvakt som hela tiden håller utkik efter misstänkt aktivitet. Det övervakar serverns nätverkstrafik eller systemloggar efter mönster som tyder på en attack.

  • Passiv övervakning: Ett IDS upptäcker hot och varnar Er.
  • Ingen blockering: Det blockerar eller förhindrar inte aktivt intrånget. Dess uppgift är enbart att meddela Er.
  • Exempel: Verktyg som Snort eller Suricata kan fungera som nätverksbaserade IDS och analysera inkommande och utgående data.

Vad är ett IPS?

Ett Intrusion Prevention System (IPS) tar IDS-konceptet ett steg längre. I stället för att bara varna ingriper ett IPS aktivt för att stoppa upptäckta hot.

  • Aktivt skydd: Det kan automatiskt blockera skadliga IP-adresser, avsluta misstänkta anslutningar eller släppa skadliga paket.
  • Fokus på förebyggande: Målet är att förhindra att intrånget lyckas i realtid.
  • Fail2Ban: Ett populärt exempel på ett värdbaserat IPS, som vi fokuserar på i dag.

Introduktion till Fail2Ban

Fail2Ban är ett kraftfullt, open source-baserat värdbaserat IPS. Det fungerar genom att söka igenom loggfiler (till exempel för SSH, webbservrar eller e-postservrar) efter upprepade misslyckade inloggningsförsök eller andra misstänkta mönster.

När Fail2Ban upptäcker för många misslyckade försök från en och samma IP-adress inom en angiven tidsperiod uppdaterar det automatiskt serverns brandväggsregler för att tillfälligt eller permanent blockera IP-adressen.

Så fungerar Fail2Ban

Fail2Ban bygger på tre centrala koncept:

  • Filter: Reguljära uttryck som definierar mönster att leta efter i loggfiler (t.ex. 'failed password for root').
  • Jails: En jail kombinerar ett filter med en åtgärd. Den anger vilken loggfil som ska övervakas, vilket filter som ska användas och vilken åtgärd som ska utföras när filtrets villkor uppfylls.
  • Åtgärder: Kommandon som körs när en IP-adress blockeras. De ändrar vanligtvis brandväggsregler (som iptables eller ufw) för att blockera käll-IP:n.

Installera Fail2Ban

Fail2Ban finns i standardförråden för de flesta Linux-distributioner. Låt oss installera det på ett Debian-baserat system (som Ubuntu).

Uppdatera först paketlistan och installera sedan paketet fail2ban:

sudo apt update
sudo apt install fail2ban

Grundläggande konfiguration: jail.local

Fail2Bans huvudsakliga konfigurationsfil är /etc/fail2ban/jail.conf. Ni bör dock aldrig redigera den här filen direkt, eftersom den kan skrivas över vid uppdateringar.

Skapa i stället en kopia med namnet /etc/fail2ban/jail.local och gör Era ändringar där. Den här filen åsidosätter inställningarna i jail.conf.

Här är några viktiga globala inställningar som Ni kan konfigurera i jail.local:

  • bantime: Hur länge en IP-adress är blockerad (t.ex. 10m i 10 minuter).
  • findtime: Tidsfönstret under vilket misslyckade försök räknas (t.ex. 10m).
  • maxretry: Antalet misslyckade försök innan en IP-adress blockeras (t.ex. 5).

Aktivera SSH-skydd

Ett av de vanligaste användningsområdena för Fail2Ban är att skydda SSH mot brute force-attacker. I filen /etc/fail2ban/jail.local hittar Ni avsnitt för olika tjänster, så kallade ”jails”.

För att aktivera SSH-jailen behöver Ni vanligtvis bara ange enabled = true under avsnittet [sshd]. Ni kan även anpassa värdena för bantime, findtime och maxretry.

Starta om Fail2Ban efter redigeringen så att ändringarna börjar gälla:

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 1h

sudo systemctl restart fail2ban

Övervaka Fail2Ban

När Ni har konfigurerat och startat Fail2Ban vill Ni kontrollera dess status och se om det aktivt blockerar IP-adresser. Ni kan använda kommandot fail2ban-client för detta.

Kontrollera Fail2Bans övergripande status:

sudo systemctl status fail2ban

Snabbkontroll: Fail2Ban-konfiguration

Ni har konfigurerat Fail2Ban för att skydda SSH-tjänsten. Ni angav maxretry = 3 och bantime = 1h.

En angripare försöker logga in via SSH:

  1. Misslyckad inloggning kl. 10:00:00
  2. Misslyckad inloggning kl. 10:00:30
  3. Misslyckad inloggning kl. 10:01:00
  4. Misslyckad inloggning kl. 10:01:30

Om findtime är inställt på 10 minuter, vad händer med angriparens IP-adress?

Sammanfattning: IDS, IPS och Fail2Ban

Utmärkt arbete! Ni har lärt Er att lägga till ett aktivt försvarslager på servern:

  • IDS (Intrusion Detection System) upptäcker och varnar för misstänkt aktivitet.
  • IPS (Intrusion Prevention System) upptäcker, varnar och blockerar aktivt hot.
  • Fail2Ban är ett värdbaserat IPS som söker igenom loggar efter skadliga mönster och blockerar angripande IP-adresser genom att uppdatera brandväggsregler.
  • Ni har lärt Er att installera Fail2Ban, konfigurera globala inställningar i jail.local, aktivera specifika jails (som SSH) och övervaka dess status.

Genom att implementera Fail2Ban förbättrar Ni avsevärt serverns motståndskraft mot brute force-attacker och andra automatiserade hot. Fortsätt öva på dessa färdigheter för att bygga verkligt robusta och säkra system!

Gratis att börja

Lär dig Driftsättning av Linuxservrar och SSH på djupet med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
12
Lektioner
48

Vanliga frågor

Är lektionen ”Intrångsdetektering och -förebyggande” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Driftsättning av Linuxservrar och SSH på djupet, inklusive ”Intrångsdetektering och -förebyggande”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Driftsättning av Linuxservrar och SSH på djupet innehåller totalt 4 lektioner.

Vad lär jag mig i ”Intrångsdetektering och -förebyggande”?

Konfigurera system för intrångsdetektering (IDS) som Fail2Ban och förstå principerna bakom system för intrångsförebyggande (IPS) för att aktivt försvara servern. Ni övar på Driftsättning av Linuxservrar och SSH på djupet med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Driftsättning av Linuxservrar och SSH på djupet?

Du behöver inga förkunskaper. Utbildningen i Driftsättning av Linuxservrar och SSH på djupet på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”Intrångsdetektering och -förebyggande”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Driftsättning av Linuxservrar och SSH på djupet-lektionen?

Ja. Varje Driftsättning av Linuxservrar och SSH på djupet-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Säkerhetsgranskning av server
  2. Avancerade brandväggsregler (IPTables)
  3. Intrångsdetektering och -förebyggande
  4. Centraliserad loggning och SIEM-integration
← Tillbaka till Driftsättning av Linuxservrar och SSH på djupet