Snort är ett intrångsdetekteringssystem med öppen källkod som du kan använda på dina Linuxsystem. Den här handledningen kommer att gå igenom den grundläggande konfigurationen av Snort IDS och lära dig hur du skapar regler för att upptäcka olika typer av aktiviteter i systemet.
För den här handledningen kommer vi att använda följande nätverk: 10.0.0.0.0/24. Redigera din /etc/snort/snort.conf-filen och ersätt ”any” bredvid $HOME_NET med din nätverksinformation enligt exemplet i skärmdumpen nedan:
Alternativt kan du också definiera specifika IP-adresser som ska övervakas, separerade med ett kommatecken emellan, enligt skärmdumpen nedan:
Nu sätter vi igång och kör det här kommandot på kommandoraden:
Var:
d= säger åt snort att visa data
l= bestämmer loggkatalogen
h= anger det nätverk som ska övervakas
A= instruerar snort att skriva ut varningar i konsolen
c= anger snort konfigurationsfilen
Låter oss starta en snabb genomsökning från en annan enhet med nmap:
Och låt oss se vad som händer i snort-konsolen:
Snort upptäckte skanningen, nu, också från en annan enhet, låt oss attackera med DoS med hjälp av hping3
Enheten som visar Snort upptäcker dålig trafik som visas här:
Då vi instruerade Snort att spara loggar kan vi läsa dem genom att köra:
Introduktion till Snort-regler
Snorts NIDS-modus fungerar baserat på regler som anges i /etc/snort/snort.conf-filen.
I filen snort.conf-filen kan vi hitta kommenterade och okommenterade regler som du kan se nedan:
Regelsökvägen är normalt /etc/snort/rules , där kan vi hitta regelfilerna:
Låt oss se reglerna mot bakdörrar:
Det finns flera regler för att förhindra bakdörrsattacker, överraskande nog finns det en regel mot NetBus, en trojansk häst som blev populär för ett par decennier sedan, låt oss titta på den och jag kommer att förklara dess delar och hur den fungerar:
established”; flow:from_server,established;
flowbits:isset,backdoor.netbus_2.connect; content: ”BN|10 00 02 00|”; depth:6; content:”|
05 00|”; depth:2; offset:8; classtype:misc-activity; sid:115; rev:9;)
Denna regel instruerar snort att varna om TCP-anslutningar på port 20034 som sänder till en källa i ett externt nätverk.
-> = specificerar trafikriktningen, i det här fallet från vårt skyddade nätverk till ett externt nätverk
msg = instruerar varningen att inkludera ett specifikt meddelande vid visning
content = söker efter specifikt innehåll i paketet. Det kan inkludera text om det är mellan ” ” eller binära data om det är mellan | |
depth = Analysintensitet, i regeln ovan ser vi två olika parametrar för två olika innehåll
offset = talar om för Snort vilken startbyte i varje paket som Snort ska börja söka efter innehållet
classtype = talar om vilken typ av attack Snort varnar för
sid:115 = regelidentifier
Skapa vår egen regel
Nu ska vi skapa en ny regel för att meddela om inkommande SSH-anslutningar. Öppna /etc/snort/rules/yourrule.rules och klistra in följande text:
flow:stateless; flags:S+; sid:100006927; rev:1;)
Vi säger åt Snort att varna för alla tcp-anslutningar från en extern källa till vår ssh-port (i det här fallet standardporten) inklusive textmeddelandet ”SSH INCOMING”, där stateless instruerar Snort att ignorera anslutningens tillstånd.
Nu måste vi lägga till regeln som vi skapade i vår /etc/snort/snort.conf-fil. Öppna konfigurationsfilen i en editor och sök efter #7, som är avsnittet med regler. Lägg till en okommenterad regel som i bilden ovan genom att lägga till:
Istället för ”yourrule.rules”, ange ditt filnamn, i mitt fall var det test3.rules.
När det är gjort kör Snort igen och se vad som händer.
SSH till din enhet från en annan enhet och se vad som händer:
Du kan se att SSH-ingång upptäcktes.
Med den här lektionen hoppas jag att du vet hur man gör grundläggande regler och använder dem för att upptäcka aktivitet på ett system. Se även en handledning om hur man installerar Snort och börjar använda det och samma handledning finns på spanska på Linux.lat.