Snort er et open source Intrusion Detection System, som du kan bruge på dine Linux-systemer. Denne vejledning vil gennemgå grundlæggende konfiguration af Snort IDS og lære dig, hvordan du opretter regler for at opdage forskellige typer af aktiviteter på systemet.
Til denne vejledning vil vi bruge følgende netværk: 10.0.0.0.0/24. Rediger din /etc/snort/snort.conf-filen, og erstat “any” ud for $HOME_NET med dine netværksoplysninger som vist i nedenstående skærmbillede:
Alternativt kan du også definere specifikke IP-adresser, der skal overvåges, adskilt med kommaer imellem som vist i dette skærmbillede:
Lad os nu komme i gang og køre denne kommando på kommandolinjen:
Hvor:
d= fortæller snort, at det skal vise data
l= bestemmer logfilmappen
h= angiver det netværk, der skal overvåges
A= anviser snort til at udskrive advarsler i konsollen
c= angiver Snort konfigurationsfilen
Lader os starte en hurtig scanning fra en anden enhed ved hjælp af nmap:
Og lad os se, hvad der sker i snort-konsollen:
Snort opdagede scanningen, lad os nu, også fra en anden enhed, angribe med DoS ved hjælp af hping3
Enheden, der viser Snort, registrerer dårlig trafik som vist her:
Da vi instruerede Snort til at gemme logs, kan vi læse dem ved at køre:
Indledning til Snort-regler
Snorts NIDS-tilstand fungerer på baggrund af regler, der er angivet i /etc/snort/snort.conf-filen.
I snort.conf-filen kan vi finde kommenterede og ukommenterede regler, som du kan se nedenfor:
Regelstien er normalt /etc/snort/rules , der kan vi finde regelfilerne:
Lader os se reglerne mod bagdøre:
Der er flere regler til at forhindre bagdørs-angreb, overraskende nok er der en regel mod NetBus, en trojansk hest, som blev populær for et par årtier siden, lad os se på den, og jeg vil forklare dens dele og hvordan den virker:
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;)
Denne regel instruerer snort til at advare om TCP-forbindelser på port 20034, der sender til en hvilken som helst kilde i et eksternt netværk.
-> = angiver trafikretningen, i dette tilfælde fra vores beskyttede netværk til et eksternt netværk
msg = instruerer advarslen om at inkludere en specifik besked, når den vises
content = søger efter specifikt indhold i pakken. Det kan omfatte tekst hvis mellem ” ” eller binære data hvis mellem | | |
depth = Analyseintensitet, i reglen ovenfor ser vi to forskellige parametre for to forskellige indhold
offset = fortæller Snort startbyte i hver pakke for at begynde at søge efter indholdet
classtype = fortæller hvilken type angreb Snort advarer om
sid:115 = regelidentifikator
Skabelse af vores egen regel
Nu vil vi oprette en ny regel, der skal give besked om indgående SSH-forbindelser. Åbn /etc/snort/rules/yourrule.rules, og indsæt følgende tekst indeni:
flow:stateless; flags:S+; sid:100006927; rev:1;)
Vi fortæller Snort at advare om enhver tcp-forbindelse fra enhver ekstern kilde til vores ssh-port (i dette tilfælde standardporten), herunder tekstmeddelelsen “SSH INCOMING”, hvor stateless instruerer Snort til at ignorere forbindelsens tilstand.
Nu skal vi tilføje den regel, vi har oprettet, til vores /etc/snort/snort.conf-fil. Åbn konfigurationsfilen i en editor, og søg efter #7, som er afsnittet med regler. Tilføj en ukommenteret regel som i billedet ovenfor ved at tilføje:
I stedet for “yourrule.rules”, sæt dit filnavn, i mit tilfælde var det test3.rules.
Når det er gjort, skal du køre Snort igen og se, hvad der sker.
ssh til din enhed fra en anden enhed og se, hvad der sker:
Du kan se, at indgående SSH blev opdaget.
Med denne lektion håber jeg, at du ved, hvordan du laver grundlæggende regler og bruger dem til at opdage aktivitet på et system. Se også en vejledning om hvordan du konfigurerer Snort og begynder at bruge det og den samme vejledning, der er tilgængelig på spansk på Linux.lat.