Hur man använder Snort Intrusion Detection System på Linux

0
162
Shutterstock/RussieseO

Kör Snort på Linux och skydda ditt nätverk med trafikanalys och hotdetektering i realtid. Säkerhet är allt, och Snort är i världsklass. Denna gris kan bara rädda din bacon.

Vad är fnys?

Snort är ett av de mest kända och mest använda nätverksintrångssystemen (NIDS). Det har kallats ett av de viktigaste open source-projekten genom tiderna. Ursprungligen utvecklat av Sourcefire, har det underhållits av Cisco Talos Security Intelligence and Research Group sedan Cisco förvärvade Sourcefire 2013.

Snort analyserar nätverkstrafik i realtid och flaggar upp misstänkt aktivitet. I synnerhet letar det efter allt som kan indikera obehöriga åtkomstförsök och andra attacker på nätverket. En omfattande uppsättning regler definierar vad som räknas som & # 8220; misstänkt & # 8221; och vad Snort ska göra om en regel utlöses.

På samma sätt som antivirus- och anti-malware-paket förlitar sig på uppdaterade virussignaturdefinitioner för att kunna identifiera och skydda dig från de senaste hoten, uppdateras Snorts regler och skickas ut ofta så att Snort alltid är fungerar med sin optimala effektivitet.

Snortreglerna

Det finns tre uppsättningar regler:

    < li> Community-regler: Dessa är fritt tillgängliga regeluppsättningar, skapade av Snort-användargruppen.
  • Registrerade regler: Dessa regeluppsättningar tillhandahålls av Talos. De är också tillgängliga, men du måste registrera dig för att få dem. Registreringen är gratis och tar bara ett ögonblick. Du får en personlig oinkod som du måste inkludera i nedladdningsförfrågan.
  • Prenumerationsregler: Dessa är samma regler som de registrerade reglerna. Prenumeranter får dock reglerna ungefär en månad innan de släpps som gratis regeluppsättningar för registrerade användare. I skrivande stund börjar 12-månadersabonnemang vid 29 USD för personligt bruk och 399 USD för företagsanvändning.

Installera snort

Vid en tidpunkt var installationen av Snort en lång manuell process. Det var inte svårt, men det var många steg och det var lätt att missa ett. De stora Linux-distributionerna har gjort saker enklare genom att göra Snort tillgängligt från sina programvaruförråd.

Annons

Versionerna i förvaren ligger ibland efter den senaste versionen som finns på Snort-webbplatsen. Om du vill kan du ladda ner och installera från källan. Så länge du har de senaste reglerna, spelar det ingen roll för mycket om din fnys inte är den senaste och bästa & # 8212; så länge den inte är gammal.

För att undersöka den här artikeln installerade vi Snort på Ubuntu 20.04, Fedora 32 och Manjaro 20.0.1.

För att installera Snort på Ubuntu, använd detta kommando:

sudo apt-get install snort < p>

När installationen fortsätter kommer du att få några frågor. Du hittar svaren på dessa genom att använda kommandot ip addr innan du startar installationen eller i ett separat terminalfönster.

ip addr

Notera ditt nätverksgränssnittsnamn. På denna forskningsdator är det enp0s3.

Titta också på din IP-adress. Den här datorn har en IP-adress 192.168.1.24. Det extra & # 8220;/24 & # 8221; är klasslös inter-domän routing (CIDR) notation. Detta berättar om nätverksadressområdet. Det betyder att detta nätverk har en undernätmask på 255.255.255.0, som har tre ledande uppsättningar med åtta bitar (och 3 x 8 = 24). Du behöver inte oroa dig för mycket för det, bara spela in vad din IP-adress råkar inkludera CIDR-notationen. Du måste ange detta som svar på en av frågorna, med IP-adressens sista oktett ändrad till noll. I vårt exempel är detta 192.168.1.0/24.

Tryck på & # 8220; Tab & # 8221; för att markera & # 8220; OK & # 8221; och tryck på & # 8220; Enter. & # 8221;

Annonsering

Skriv in namnet på nätverksgränssnittsnamnet och tryck på & # 8220; Tab & # 8221; för att markera & # 8220; OK & # 8221; och tryck på & # 8220; Enter. & # 8221;

Skriv nätverksadressområdet i CIDR-format, tryck på & # 8220; Tab & # 8221; för att markera & # 8220; OK & # 8221; och tryck på & # 8220; Enter. & # 8221;

För att installera Snort på Fedora måste du använda två kommandon:

rpm -Uvh https://forensics.cert.org/cert-forensics-tools-release-32.rpm

sudo dnf install snort

På Manjaro är kommandot vi behöver inte den vanliga pacman, det är pamac. Och vi behöver inte använda sudo:

pamac installerar snort

När du frågas om du vill bygga Snort från AUR (Arch User Repository) trycker du på & # 8220; Y & # 8221; och tryck på & # 8220; Enter. & # 8221; Vi vill inte redigera byggfilerna, så svara på den frågan genom att trycka på & # 8220; N & # 8221; och trycker på & # 8220; Enter. & # 8221; Tryck på & # 8220; Y & # 8221; och tryck på & # 8220; Enter & # 8221; när du frågas om transaktionen ska tillämpas.

Du kommer att bli ombedd att ange ditt lösenord.

Versionerna av Snort som installerades var:

  • Ubuntu : 2.9.7.0
  • Fedora : 2.9.16.1
  • Manjaro : 2.9.16.1

Du kan kontrollera din version med:

snort –version

Konfigurera snort

< p> Det finns några steg att slutföra innan vi kan köra Snort. Vi måste redigera & # 8220; snort.conf & # 8221; fil.

sudo gedit /etc/snort/snort.conf

Annons < br>

Leta reda på raden som läser & # 8220; ipvar HOME_NET någon & # 8221; och redigera den för att ersätta & # 8220; någon & # 8221; med CIDR-noteringsadressområdet i ditt nätverk.

Spara dina ändringar och stäng filen.

Uppdatera snortreglerna

För att se till att din kopia av Snort ger maximal nivå av skydd, uppdatera reglerna till den senaste versionen. Detta säkerställer att Snort har tillgång till den senaste uppsättningen av attackdefinitioner och skyddsåtgärder.

Om du har registrerat och fått din egen oinkod kan du använda följande kommando för att ladda ner regeluppsättningen för registrerade användare. På sidan för nedladdning av Snort listas de tillgängliga regeluppsättningarna, inklusive den gruppuppsättning som du inte behöver registrera dig för.

Ladda ner regeluppsättningen för den version av Snort du har installerat. Vi laddar ner 2.9.8.3-versionen, som är närmast 2.9.7.0-versionen av Snort som fanns i Ubuntu-arkivet.

wget https://www.snort.org/rules/snortrules-snapshot-2983.tar.gz?oinkcode=< din oink-kod går här & gt; -O snortrules-snapshot-2983.tar.gz

När nedladdningen är slutför, använd det här kommandot för att extrahera reglerna och installera dem i & # 8220;/etc/snort/regler & # 8221; katalog.

sudo tar -xvzf snortrules-snapshot-2983.tar.gc -C/etc/snort/rules

Promiskuöst läge

Nätverksgränssnittskort ignorerar vanligtvis trafik som inte är avsedd för deras IP-adress. Vi vill att Snort upptäcker misstänkt nätverkstrafik adresserad till vilken enhet som helst i nätverket, inte bara nätverkstrafik som råkar skickas till den dator som Snort är installerad på.

Annons

För att få Snort-datorns nätverksgränssnitt att lyssna på all nätverkstrafik, måste vi ställa in det i promiskuöst läge. Följande kommando kommer att få nätverksgränssnittet enp0s3 att fungera i promiskuöst läge. Ersätt enp0s3 med namnet på nätverksgränssnittet du använder på din dator.

sudo ip länk ange enp0s3 promisc på

Om du kör Snort i en virtuell maskin, kom också ihåg att justera inställningarna i din hypervisor för det virtuella nätverkskortet som används av din virtuella maskin. I VirtualBox måste du till exempel gå till Inställningar & gt; Nätverk & gt; Avancerat och ändra & # 8220; Promiskuöst läge & # 8221; rullgardinsmeny till & # 8220; Tillåt allt. & # 8221;

RELATERAD: Hur man använder ip-kommandot på Linux

Kör snort

Du kan nu starta Snort. Kommandoformatet är:

sudo snort -d -l/var/log/snort/-h 192.168.1.0/24 -A console -c /etc/snort/snort.conf

Ersätt ditt eget IP-nätverk i stället för 192.168.1.0/24.

De kommandoradsalternativ som används i det här kommandot är:

  • -d: Filtrerar bort applikationslagerpaketen.
  • -l/var/log/snort /: Ställer in loggkatalog.
  • -h 192.168.1.0/24: Detta ställer inte in hemnätverket, som sattes i & # 8220; snort.conf & # 8221; fil. Med det här värdet inställt på samma värde som hemnätverket är loggarna strukturerade så att innehåll från misstänkta fjärrdatorer loggas in i kataloger uppkallade efter varje fjärrdator.
  • -En konsol: Skickar varningar till konsolfönstret.
  • -c /etc/snort/snort.conf: Indikerar vilken Snort-konfigurationsfil som ska användas.

Snort rullar mycket utdata i terminalfönstret och går sedan över till ett analysläge. Om det inte ser någon misstänkt aktivitet, kommer du inte att se mer skärmutdata.

Från en annan dator började vi generera skadlig aktivitet som riktades direkt mot vår testdator, som körde Snort.

Snort identifierar nätverkstrafiken som potentiellt skadlig, skickar varningar till konsolfönstret och skriver poster i loggarna.

Annons

Attacker klassificerade som & # 8220; Informationsläckor & # 8221; attacker visar att ett försök har gjorts att förhöra din dator för information som kan hjälpa en angripare. Detta indikerar förmodligen att någon utför rekognosering på ditt system.

Attacker klassificerade som & # 8220; Denial of Service & # 8221; attacker visar ett försök att översvämma din dator med falsk nätverkstrafik. Attacken försöker överväldiga din dator så att den inte kan fortsätta att tillhandahålla sina tjänster.

För att verifiera att promiskuöst läge fungerar korrekt och att vi skyddar hela nätverksadressområdet kommer vi att avfyra skadlig trafik på en annan dator och se om Snort upptäcker det.

< img src = "http://www.cloudsavvyit.com/pagespeed_static/1.JiBnMqyl6S.gif" />

Aktiviteten upptäcks och rapporteras, och vi kan se att denna attack riktades mot en annan dator med en IP-adress 192.168.1.26. Snort övervakar hela adressområdet för detta nätverk.

Nästa steg

För att bibehålla sin vaksamhet behöver Snort upp till- datumregler. Du kan skriva ett litet skript och lägga kommandona för att ladda ner och installera reglerna i det och ställa in ett cron-jobb för att automatisera processen genom att anropa skriptet regelbundet. Pullpork-skriptet är ett färdigt manus som är utformat för att göra just det om du inte vill skriva ditt eget.

Snort har inte ett front-end eller ett grafiskt användargränssnitt. Tredjepartsprojekt har skapat flera och du kanske vill undersöka några av dem, till exempel Snorby och Squil.