Snort on avoimen lähdekoodin tunkeutumisen havaitsemisjärjestelmä, jota voit käyttää Linux-järjestelmissäsi. Tässä opetusohjelmassa käydään läpi Snort IDS:n peruskonfigurointi ja opetetaan luomaan sääntöjä erityyppisten toimintojen havaitsemiseksi järjestelmässä.
Tässä opetusohjelmassa käyttämämme verkko on: 10.0.0.0/24. Muokkaa /etc/snort/snort.conf-tiedostoa ja korvaa $HOME_NET-kohdan vieressä oleva ”any” verkkotiedoilla, kuten alla olevassa esimerkkikuvassa näkyy:
Vaihtoehtoisesti voit myös määritellä tarkkailemaan tietyt IP-osoitteet pilkulla erotettuna, kuten tässä kuvassa näkyy:
Lähdetään nyt liikkeelle ja suoritetaan tämä komento komentorivillä:
Missä:
d= käskee snortia näyttämään dataa
l= määrittää lokihakemiston
h= määrittää valvottavan verkon
A= käskee snortia tulostamaan hälytykset konsoliin
c= määrittää snortille konfigurointitiedoston
Aloitetaan pikatarkistus toiselta laitteelta nmapin avulla:
Ja katsotaan mitä tapahtuu snortin konsolissa:
Snort havaitsi skannauksen, nyt myös eri laitteelta hyökätään DoS:lla hping3:lla
Snortin näyttämä laite havaitsee huonoa liikennettä, kuten tässä näkyy:
Koska ohjeistimme Snortin tallentamaan lokit, voimme lukea ne ajamalla:
Tutustuminen Snortin sääntöihin
Snortin NIDS-tila toimii /etc/snort/snortissa määritettyjen sääntöjen perusteella.conf-tiedostossa määritetyt säännöt.
Snort.conf-tiedostosta löytyy kommentoituja ja kommentoimattomia sääntöjä, kuten alla näkyy:
Sääntöjen polku on normaalisti /etc/snort/rules , sieltä löytyvät sääntötiedostot:
Katsotaanpa sääntöjä takaovia vastaan:
Takaovihyökkäysten estämiseksi on useita sääntöjä, yllättäen siellä on sääntö NetBusia vastaan, troijalainen hevonen joka tuli suosituksi pari vuosikymmentä sitten, katsotaanpa sitä ja selitän sen osat ja miten se toimii:
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;)
Tämä sääntö määrää snortin hälyttämään portissa 20034 olevista TCP-yhteyksistä, jotka lähettävät mihin tahansa ulkoisen verkon lähteeseen.
-> = määrittää liikenteen suunnan, tässä tapauksessa suojatusta verkostamme ulkoiseen verkkoon
msg = määrää hälytyksen sisältämään tietyn viestin, kun se näytetään
content = hakee tiettyä sisältöä paketista. Se voi sisältää tekstiä, jos se on välillä ” ” tai binääridataa, jos se on välillä | |
depth = analyysin intensiteetti, yllä olevassa säännössä näemme kaksi eri parametria kahdelle eri sisällölle
offset = kertoo Snortille kunkin paketin aloittavan tavun, josta sisällön etsiminen aloitetaan
classtype = kertoo, minkälaisesta hyökkäyksestä Snort hälyttää
sid:115 = säännön tunniste
Oman säännön luominen
Luotaan nyt uusi sääntö, joka ilmoittaa saapuvista SSH-yhteyksistä. Avaa /etc/snort/rules/yourrule.rules ja liitä sisään seuraava teksti:
flow:stateless; flags:S+; sid:100006927; rev:1;)
Käskemme Snortia hälyttämään mistä tahansa tcp-yhteydestä mistä tahansa ulkoisesta lähteestä ssh-porttiimme (tässä tapauksessa oletusporttiin) sisältäen tekstiviestin ”SSH INCOMING”, jossa stateless ohjeistaa Snortia sivuuttamaan yhteyden tilan.
Nyt meidän on lisättävä luomamme sääntö /etc/snort/snort.conf-tiedostoon. Avaa config-tiedosto editorilla ja etsi kohta #7, joka on sääntöjä sisältävä kohta. Lisää kommentoimaton sääntö kuten yllä olevassa kuvassa lisäämällä:
Säännön ”yourrule.rules” sijaan aseta tiedostosi nimi, minun tapauksessani se oli test3.rules.
Kun se on tehty, suorita Snort uudelleen ja katso mitä tapahtuu.
ssh-laitteeseesi toisesta laitteesta ja katso, mitä tapahtuu:
Voit nähdä, että SSH:n tulo havaittiin.
Tämän oppitunnin avulla toivottavasti tiedät, miten perussääntöjä voidaan laatia ja miten niitä voidaan käyttää havaitsemaan toimintaa järjestelmässä. Katso myös opetusohjelma How Setup Snort and Start Using It ja sama opetusohjelma saatavilla espanjaksi osoitteessa Linux.lat.
.