Internetas. Kompiuteris. Pagalba. Patarimas. Remontas

Praktikuokite naudodami IDS SNORT. Įmonės tinklo sauga naudojant „Snort“ Pridėkite savo parašus

5 min skaityti

Turinys

„Snort“ yra atvirojo kodo tinklo pagrindu veikianti įsibrovimų aptikimo sistema (IDS) ir įsibrovimų prevencijos sistema (IPS), galinti registruoti paketus ir realiuoju laiku analizuoti IP tinklų srautą, derinant parašo derinimo galimybes, protokolų tikrinimo įrankius ir anomalijų aptikimo variklius. „Snort“ sukūrė Martin Resch 1998 m. ir greitai išpopuliarėjo kaip nemokama įsilaužimo aptikimo sistema, leidžianti pačiam ir be didelių pastangų rašyti atakų aptikimo taisykles. Tiesą sakant, „Snort“ parašo aprašymo kalba tapo de facto standartu daugeliui įsibrovimų aptikimo sistemų, kurios pradėjo ją naudoti savo varikliuose.

Snort struktūra ir veikimas

Atsižvelgiant į tai, kaip sistema stebima, „Snort“ įsibrovimo aptikimo sistema gali būti klasifikuojama kaip mazgo arba tinklo sistema, atsižvelgiant į konfigūracijos parametrus. Paprastai jis apsaugo tam tikrą vietinio tinklo segmentą nuo išorinių atakų iš interneto. Snort atlieka registravimą, analizę, turinio paiešką ir yra plačiai naudojamas aktyviam blokavimui arba pasyviam įvairių atakų ir zondų aptikimui. Snort gali aptikti:

  • Blogas eismas
  • Išnaudojimų naudojimas (shellcode aptikimas)
  • Sistemos nuskaitymas (prievadai, OS, vartotojai ir kt.)
  • Atakos prieš tokias paslaugas kaip Telnet, FTP, DNS ir kt.
  • DoS/DDoS atakos
  • Atakos, susijusios su žiniatinklio serveriais (cgi, php, frontpage, iss ir kt.)
  • Atakos prieš SQL, Oracle duomenų bazes ir kt.
  • Atakos per SNMP, NetBios, ICMP protokolus
  • Atakos prieš SMTP, imap, pop2, pop3
  • Įvairios užpakalinės durys
  • Žiniatinklio filtrai (dažniausiai naudojami pornografiniam turiniui blokuoti)
  • Virusai

Galite sukonfigūruoti „Snort“, kad jis veiktų keliais skirtingais režimais – paketų uostymo režimu, paketų registravimo režimu, tinklo įsibrovimo aptikimo režimu ir tiesioginiu režimu. Snort galima sukonfigūruoti veikti šiais režimais:

Paketų analizės režimas (Sniffer režimas)

„Snort“ tiesiog nuskaito iš tinklo gaunamus paketus ir parodo juos ekrane. Šiuo režimu „Snort“ tiesiog veikia kaip analizatorius, rodantis nefiltruotą medijos turinį. Žinoma, jei jums reikia tik analizatoriaus, galite naudoti Tcpdump arba Ethereal, tačiau šis režimas leidžia įsitikinti, kad viskas veikia teisingai ir Snort mato paketus.

Snort parinktys:

Paketų registravimo režimas

Leidžia įrašyti paketus į diską vėlesnei analizei. Tai naudinga atliekant analizę per tam tikrą laikotarpį arba tikrinant, ar nėra pakeitimų nustatymuose ir saugos strategijose. Norėdami paleisti „Snort“ registravimo režimu, naudokite tą pačią komandą kaip ir analizės režimui (-v, -d ir (arba) -e), bet pridedant jungiklį -l log_dir, kuris nurodo žurnalo katalogo, į kurį patenkama, maršruto pavadinimą. Snort rašys paketus. Pavyzdys:

snort -vde -l /var/log/snort

Ši komanda sukurs žurnalo failus /var/log/snort kataloge.

Tinklo įsibrovimo aptikimo sistemos (NIDS) režimas

Sudėtingiausias ir konfigūruojamas režimas, leidžiantis analizuoti tinklo srautą ir atlikti įsibrovimų aptikimą pagal taisyklių rinkinį. Šiuo režimu „Snort“ registruoja paketus, kurie yra įtartini arba reikalaujantys papildomo dėmesio. Norėdami įjungti „Snort“ į įsibrovimo aptikimo režimą, tiesiog pridėkite jungiklį -c config_file prie aukščiau pateiktos instrukcijos, kuri nurodo naudoti nurodytą konfigūracijos failą paketų registravimui valdyti. Konfigūracijos failas apibrėžia visus „Snort“ nustatymus ir yra labai svarbus. Snort pateikiamas su numatytuoju konfigūracijos failu, bet prieš jį paleisdami, pravartu jį šiek tiek pakeisti, kad atspindėtų jūsų aplinkos specifiką.

Inline režimas

Veikimo režimas kartu su iptables užkarda. Norėdami paleisti šiuo režimu, turite pridėti papildomą raktą Q: ./snort -GDc ../etc/drop.conf -l /var/log/snort Prieš paleisdami šiuo režimu, turite įsitikinti, kad programa įdiegta su šių režimų palaikymu Po to turėtumėte sukonfigūruoti ugniasienę, kad galėtumėte susisiekti su „Snort“.

Snort architektūra

„Snort“ yra pagrįstas varikliu, kurį sudaro penki moduliai:

    Paketų snifferis: šis modulis yra atsakingas už duomenų, perduodamų per tinklą, fiksavimą, kad vėliau būtų perduota į dekoderį. Jis tai daro naudodamas DAQ (Data AcQuisition) biblioteką. Šis sniferis gali dirbti „įdėtas“, pasyviuoju režimu (pasyvus) arba skaityti tinklo duomenis iš iš anksto paruošto failo.

    Paketų dekoderis: šis modulis analizuoja užfiksuotų paketų antraštes, jas analizuoja, ieško anomalijų ir nukrypimų nuo RFC, analizuoja TCP vėliavėles, atskirus protokolus neįtraukia į tolesnę analizę ir kitus panašius darbus. Šis dekoderis daugiausia dėmesio skiria TCP/IP kaminui.

    Išankstiniai procesoriai: jei dekoderis analizavo srautą 2 ir 3 etaloninio modelio lygiuose, tada pirminiai procesoriai yra skirti detalesnei 3, 4 ir 7 lygių protokolų analizei ir normalizavimui. Tarp populiariausių pirminių procesorių yra frag3 (dirbantis su fragmentuotu srautu), srautas5 (TCP srauto atkūrimas), http_inspect_ (HTTP srauto normalizavimas), DCE/RPC2, sfPortscan (naudojamas prievadų nuskaitymui aptikti) ir įvairūs Telnet, FTP protokolų, SMTP dekoderiai. , SIP, SSL, SSH, IMAP ir kt. Kai kurie Rusijos kūrėjai sukuria savo pirminius procesorius (pavyzdžiui, pramoniniams protokolams) ir prideda juos prie savo įsilaužimo aptikimo sistemų (IDS), sukurtų Snort pagrindu.

    Atakos aptikimo variklis: Šis variklis susideda iš dviejų dalių. Taisyklių kūrėjas surenka daugybę skirtingų sprendimų taisyklių (atakos parašų) į vieną rinkinį, optimizuotą, kad vėliau naudotų užfiksuoto ir apdoroto srauto tikrinimo posistemė, ieškant tam tikrų pažeidimų.

    Išvesties modulis: aptikęs ataką, Snort gali išduoti (įrašyti arba rodyti) atitinkamą pranešimą įvairiais formatais – failas, syslog, ASCII, PCAP, Unified2 (dvejetainis formatas pagreitintam ir lengvam apdorojimui).

Pažvelkime į paprastą grafinį duomenų, tekančių per Snort, vaizdą:

Žymos: , ,

Skyriai:

Manekenų įsibrovimo aptikimo sistema. SNORT diegimas ir konfigūravimas.

Aleksandras Antipovas


Snort yra lengva įsilaužimo aptikimo sistema. Snort paprastai vadinamas „lengvuoju“ NIDS, nes jis pirmiausia skirtas mažiems tinklams. Programa gali atlikti protokolo analizę ir gali būti naudojama aptikti įvairias atakas ir tirti problemas, tokias kaip buferio perpildymas, paslėptų prievadų nuskaitymai, CGI atakos, OS aptikimo bandymai ir kt. „Snort“ naudoja „taisykles“ (nurodytas „taisyklių“ failuose), kad žinotų, kurį srautą leisti, o kurį blokuoti. Priemonė yra lanksti, leidžianti užsirašyti naujas taisykles ir jų laikytis. Programa taip pat turi "atradimo variklį", kuris naudoja modulinę papildinio architektūrą, pagal kurią tam tikrus programos papildymus galima pridėti arba pašalinti iš "atradimo variklio".

Snort gali veikti trimis režimais:
1. Kaip paketų snifferis, panašus į tcpdump
2. Kaip paketų kaupiklis
3. Kaip sukurti įsibrovimo aptikimo sistemą
Šiame straipsnyje mes išsamiai kalbėsime apie „Snort“ diegimą, jo architektūrą ir sužinosime, kaip kurti ir valdyti taisykles.

Platforma:
Linux 2.2.*,
„Snort 1.7“ (http://www.snort.org/)
Sparc: SunOS 4.1.x, Solaris, Linux ir OpenBSD
x86: Linux, OpenBSD, FreeBSD, NetBSD ir Solaris
M68k/PPC: Linux, OpenBSD, NetBSD, Mac OS X serveris

Reikalavimai:
Tcpdump (www.tcpdump.org)
„Libpcap“ („Snort“ yra pagrįsta „libpcap“ biblioteka, dažniausiai naudojama daugumoje TCP/IP sniferių ir analizatorių) – galite ją atsisiųsti iš čia:

Paskutiniai mūsų straipsniai buvo skirti kaip NEĮgauti. Kai kurie žmonės tai vadina antikriminalistika – galimybe nepalikti jokių pėdsakų, kad sistemos administratoriai ar teisėsauga galėtų atsekti jus arba jūsų įsilaužimus.

Vienas iš labiausiai paplitusių metodų, kuriuo sistemos administratoriai pranešama apie įsilaužimus į tinklą, yra tinklo įsibrovimo aptikimo sistemų (NIDS) naudojimas. Dažniausias iš jų yra Snort.

Jau turime įvadinį straipsnį apie „Snort“, o dabar norime pasinerti į šią temą giliau, kad parodytume, kaip „Snort“ taisyklės aptinka jūsų įsibrovimą. Kuo daugiau žinome apie Snort ir kitus NIDS, tuo geriau galėsime juos apeiti.

1 veiksmas: suraskite „Snort Rules“.

„Snort“ iš esmės yra paketų šnipinėjimo priemonė, kuri taiko savo taisykles, kad nustatytų kenkėjišką tinklo srautą. Šios taisyklės yra panašios į antivirusinės programinės įrangos parašus. Skirtumas tas, kad „Snort“ yra atvirojo kodo projektas, todėl galime matyti šiuos „parašus“.

Visas „Snort“ taisykles galime rasti apsilankę „BackTrack“ /etc/snort/rules kataloge. Eikime ir pažiūrėkime į jo turinį.

Cd /etc/snort/rules

Dabar išvardinkime šiame kataloge esančius failus.

Kaip matome aukščiau esančioje ekrano kopijoje, šiame kataloge yra nemažai „Snort“ taisyklių. Kiekviename iš šių failų yra tam tikra taisyklių kategorija, o kai kuriuose – šimtai taisyklių.

2 veiksmas: peržiūrėkite Snort taisykles

Snort taisyklės failai yra paprasti tekstiniai failai, todėl galime juos atidaryti ir redaguoti naudodami bet kurį teksto rengyklę. Mes naudosime Kwrite redaktorių. Atidarykime porn.rules failą. Šis taisyklių rinkinys skirtas pornografijai aptikti laidiniu ryšiu. Tai gana senas taisyklių rinkinys ir dauguma sistemos administratorių jo nebenaudoja.

Įrašykite /etc/snort/porn.rules

Čia matome, kad šios taisyklės skirtos įvairių tipų pornografijai aptikti. Jei kada nors susimąstėte, kaip jūsų sistemos administratorius žinojo, kad atsisiunčiate pornografiją, dabar žinote!

3 veiksmas. Išmokite taisyklę

Paimkime paprastą taisyklę ir išanalizuokime ją. Atidarykime failą scan.rules.

Įrašykite /etc/snort/scan.rules

Dabar nukopijuojame pasirinktą taisyklę į atskirą tekstinį failą ir analizuojame, ką ji daro.

4 veiksmas. Išanalizuokite SF nuskaitymo taisyklę

Ši taisyklė skirta aptikti nuskaitymus, atliekamus įvairiais nuskaitymo įrankiais, tokiais kaip nmap ir hping. Vienas iš šių skaitytuvų vadinamas SYN-FIN. Šis skaitytuvas siunčia TCP paketus su nustatytomis SYN ir FIN vėliavėlėmis, kad nustatytų, kurie prievadai yra atidaryti tikslinėje sistemoje.

Su tokio tipo paketais niekada nereikėtų susidurti analizuojant natūralų srautą, nes paketas su įjungtomis vėliavėlėmis SYN ir FIN prašo sistemos atidaryti ryšį (SYN) ir tuo pačiu metu uždaryti ryšį (FIN).

Gana lengva pastebėti, kad bet koks paketas su šiomis vėliavėlėmis yra bandymas atlikti sistemos patikrinimą, todėl sistemos administratorius turėtų apie tai įspėti.

5 veiksmas: taisyklės pavadinimas

Pradėkime nuo pirmosios taisyklės dalies išstudijavimo nuo pradžios iki pirmojo skliausto. Pradinė taisyklės dalis vadinama antrašte, o mūsų antraštė atrodo taip:

Taisyklės antraštės suskaidymas į elementus

  • įspėjimas yra veiksmas. Tai gali būti įspėjimas, žurnalo įrašas arba leidimas.
  • Tcp yra eismo protokolas, kuris ieško taisyklės. Tai gali būti tcp, udp ir icmp.
  • $EXTERNAL_NET yra kenkėjiškų paketų šaltinio IP adresas arba tinklas. Jis gali būti nustatytas kaip kintamasis faile snort.conf.
  • any yra kenkėjiško srauto šaltinio prievadas. Šis parametras gali būti nustatytas į vieną prievadą arba į kelis arba kelis prievadus.
  • -> yra eismo kryptis. Šiuo atveju mes ieškome srauto iš EXTERNAL_NET į vidinį arba HOME_NET.
  • $HOME_NET yra paskirties IP adresas, į kurį nukreipiamas srautas. Kaip ir EXTERNAL_NET, jį galima nustatyti kaip kintamąjį faile snort.conf.
  • bet kuris yra paskirties uostas. Šis parametras taip pat gali nurodyti konkrečius prievadus, pvz., 80, arba kintamąjį, kuriame yra prievadų sąrašas.

6 veiksmas: „Snort Rule“ parinktys

Dabar pažvelkime į taisyklės dalį, esančią tarp skliaustų. Tai vadinami taisyklių parametrais. Šią dalį sudaro raktinis žodis, dvitaškis ir argumentas.

raktažodis: argumentai

Mūsų taisyklės pavyzdys atrodo taip:

Taisyklės parametrų suskirstymas

  • msg yra pranešimas, kuris siunčiamas sistemos administratoriui, jei ši taisyklė iškviečiama. Tokiu atveju „Snort“ praneša „SCAN SYN FIN“ sistemos administratoriui.
  • srautas – šis parametras leidžia taisyklei patikrinti eismo srautą. Jis gali turėti kelias reikšmes, įskaitant nustatytą (TCP ryšys užmegztas), nenustatytas (TCP ryšys nenustatytas), be pilietybės (ryšiai užmegzti arba neužmegzti) ir kt. Mūsų pavyzdyje taisyklė iškviečiama srautui su užmegztu TCP ryšiu arba be jo.
  • vėliavėlės – ši pora tikrina TCP vėliavėles. Kaip žinote, TCP vėliavėlės gali būti SYN, FIN, PSH, URG, RST arba ACK. Ši taisyklė ieško srauto, kuriame nustatytos SYN ir FIN (SF) vėliavėlės, taip pat du rezervuoti bitai vėliavos baitų rinkinyje (12).
  • nuoroda – šis skyrius skirtas susieti su saugos duomenų baze, kad gautumėte daugiau informacijos apie ataką. Mūsų pavyzdyje daugiau informacijos apie šį išpuolį galime rasti voragyvių duomenų bazėje, ataka 198.
  • klasės tipas – visos taisyklės suskirstytos į daugybę kategorijų, kurios skirtos padėti administratoriui suprasti, kokio tipo ataka buvo bandoma. Mūsų pavyzdyje matome, kad tai priskiriama „analizės bandymui“.

7 veiksmas: apeiti ir išjungti

Dabar, kai suprantame, kaip veikia „Snort“ taisyklės, galime sukurti ataką, kad išvengtume šių taisyklių. Jei galime prisijungti prie NIDS serverio, galime išjungti arba redaguoti taisykles, kurios gali įspėti administratorių apie mūsų ataką.

Kitame „Snort“ straipsnyje apžvelgsime kai kurių sudėtingesnių „Snort“ taisyklių įgyvendinimo detales, todėl sekite naujienas. Jei turite klausimų ar komentarų apie darbą su Snort, rašykite!

Atsakomybės neigimas: Šis straipsnis parašytas tik švietimo tikslais. Autorius ar leidėjas nepaskelbė šio straipsnio piktavališkais tikslais. Jei skaitytojai norėtų naudoti informaciją asmeninei naudai, autorius ir leidėjas neatsako už jokią žalą ar padarytą žalą.

Įvadas

Pagrindinis šio darbo tikslas – aprašyti ir ištirti populiarią IDS programą Snort. „Snort“ yra didelis atvirojo kodo projektas, kurį naudoja daugelis tinklo administratorių, norėdami užfiksuoti kenkėjiškus parašus ir įspėti, kai tinklas yra atakuojamas. Snort perima visą srautą iš tinklo sąsajų, tikrina paketus, ar nėra įtartinų užklausų ir bandymų įsilaužti.

Pagrindinis jo pranašumas yra prieinamumas ir galimybė redaguoti savo darbą, kad jis atitiktų jūsų konkrečią darbo tinklą. Programa skirta darbui tiek mažose, tiek didelėse organizacijose. Taip pat svarbu galimybė redaguoti savo unikalias taisykles, pagrįstas konkrečios organizacijos saugumo reikalavimais (pavyzdžiui, draudimas darbuotojams prisijungti prie socialinių tinklų).

Trūkumai apima sąrankos ir diegimo kai kuriose operacinėse sistemose (pvz., „Windows“) nepatogumus, vieno pakankamai išsamaus ir išsamaus sąrankos aprašymo nebuvimą ir savo taisyklių rinkinio kūrimą.

Be to, labai sunku išjungti klaidingus pavojaus signalus, nes skirtingose ​​įmonėse dažnai taikomi skirtingi apribojimai, todėl reikia gana tiksliai sureguliuoti taisykles. Daugelį režimų, leidžiančių paleisti programą naudojant klavišus, kuriuose skiriamos didžiosios ir mažosios raidės, yra labai sunku įsiminti ir dėl to gali atsirasti klaidinga išvestis.

Pagrindinis šio darbo uždavinys – suprasti IDS Snort funkcines ypatybes ir patikrinti aplikacijos veikimą, vykdant įvairių tipų tinklo atakas prieš ją. Sužinokite, ar yra panašių IDS patogesniu formatu. Kaip „Snort“ sąveikauja su duomenų bazėmis. Sukurkite keletą unikalių taisyklių ir patikrinkite jų funkcionalumą.

IDS Snort diegimas ir konfigūravimas

Snort: diegimas sistemoje „Windows XP“.

Diegdami „Snort“ „Windows“ operacinėje sistemoje galite susidurti su tam tikrais sunkumais. Todėl šiame darbe daugiausia dėmesio skiriama gana išsamiai diegimo ir konfigūravimo parinkčių daliai. Pirmiausia turite atsisiųsti reikiamas programas į savo darbo kompiuterį.

Snort taisyklės.

Visa tai, kas išdėstyta pirmiau, atsisiunčiama iš oficialių šių programų svetainių.

Winpcap yra programa, kuri fiksuoja ir filtruoja paketus branduolio lygiu. Tai yra analogiška integruotai Unix libpcap tvarkyklei. Diegimas nesukels ypatingų nepatogumų, jis paleidžiamas naudojant įprastą montuotoją. Po to turite atsisiųsti patį IDS iš oficialios svetainės, po to iš ten atsisiunčiame naujausią archyvą su taisyklėmis. Kitas veiksmas bus visiškai nukopijuoti visus aplankus, buvusius archyve su taisyklėmis, į programos šakninį katalogą, visiškai pakeičiant turinį, kur reikia. Tada, kad programa veiktų tinkamai, turėsite atlikti svarbius konfigūracijos failo pakeitimus.

var RULE_PATH c:snort ules

var SO_RULE_PATH c:snortso_rules

var PREPROC_RULE_PATH c:snortpreproc_rules

dynamicpreprocessor katalogas c:snortlibsnort_dynamicpreprocessor

dynamicengine c:snortlibsnort_dynamicenginesf_engine.dll

#dynamicdetection katalogas /usr/local/lib/snort_dynamicrules

Konfigūracijos faile randame panašias eilutes ir pakeičiame jas aukščiau pateiktomis. Po to bandome išbandyti programą. Paleiskite komandų eilutę ir eikite į programų katalogą skiltyje „bin“. Įveskite komandą "snort -W"

Ryžiai. 1.1.

Su šia komanda patikriname programos funkcionalumą, kad peržiūrėtume savo sąsajas. Įsitikinę, kad jų yra daugiau nei vienas, pasirenkame tą, kuris yra prijungtas prie veikiančio tinklo, kad pradėtume perimti paketus ir stebėti IDS veikimą.

C:Snortinsnort -i 3 -c C:snortetcsnort.conf -l C:snortlog -A konsolė

Dabar pažiūrėkime į įvestą komandą. „- i 3“ reiškia, kad sąsajų sąraše žiūrėsime į sąsają, kurios ID= 3. Tada nurodėme kelią į konfigūracijos failą ir kelią į katalogą, kuriame turėtų būti įrašytas perimtų paketų „logas“. „-Konsolė“ reiškia, kad mūsų pulte bus aptikti aliarmo paketai. Jei apdorojimo metu iškyla kokių nors problemų, jas pašaliname, kai nustatome. Snort nurodo kūrimo klaidos eilutę ir tipą. Jei viskas pavyko, nieko nematysime, kol nebus suaktyvinta viena iš bėgimo taisyklių. Norėdami naudoti vieną iš jų, pabandykime imituoti tinklo ataką ir paleisti įtartiną paketą per mūsų vietinį tinklą. Norėdami tai padaryti, pavyzdžiui, atidarykite komandų eilutę ir įveskite: „Ping 192.168.1.16“. Snort perims bandymą klausytis pagrindinio kompiuterio 192.168.1.1624 ir parodys pranešimą bei informaciją apie įtartiną veiklą tinkle. Deja, tokios IDS sistemos turi rimtą trūkumą – klaidingus teigiamus rezultatus. Šiuo atžvilgiu, kad „Snort“ būtų naudingas ir neklaidintų, būtina pakankamai ir aiškiai apibrėžti taisykles ir atskirti žiūrimus tinklus, kad būtų išvengta šių klaidingų teigiamų rezultatų.


Ryžiai. 1.2.

Dabar konsolėje, kurioje veikia mūsų IDS, pasirodys pranešimai apie įtartiną paketą, panašų į „klausymą“. Ši taisyklė parodė, kad „Snort“ veikė visiškai. Apsvarstykite jo veikimo režimus ir tolesnio darbo taisyklių sintaksę.

Snort yra nemokama programinė įranga ir galinga atvirojo kodo įsibrovimų prevencijos sistema (IPS). Šiuo metu naujausia programos versija yra 2.8.6.1 2010-07-22.

Snort veikimo režimai

Kūrėjai išskiria tris snūduriavimo režimus:

  • uostymo režimas;
  • paketų registravimo režimas;
  • tinklo atakų aptikimo sistemos režimas.

Sniffer režimu snort tiesiog spausdina į standartinę išvestį (iš dalies arba visiškai) paketų, kuriuos perima tinkle, turinį. Paketų registravimo režimu – išsaugo užfiksuotus paketus nurodytame failų sistemos kataloge. Tinklo atakų aptikimo sistemos režimu ji analizuoja tinklo srautą, ar laikomasi vartotojo iš anksto nustatytų taisyklių, ir atlieka vartotojo nurodytus veiksmus, jei toks atitikimas laikomasi.

Visais režimais vartotojas gali nustatyti tinklo srauto filtravimo taisykles. Šių taisyklių sintaksė yra tokia pati kaip tcpdump (windump) programoje (tik šiek tiek sutrumpinta). Duomenų šaltinis gali būti ne konkretus tinklas, o iš anksto sugeneruotas registracijos failas. Snort gali būti bet kuriame iš šių režimų vienu metu arba visais trimis vienu metu.

Sniffer režimas

Apuostymo režimo indikatorius yra -v, -d arba -e parinkčių buvimas snort komandinėje eilutėje. Parinktis -v leidžia rodyti IP, TCP, UDP ir ICMP paketų antraštes. Variantas -d – paketo duomenys. Parinktis -e – Ethernet antraštės.

Spausdina TCP paketų antraštes ir duomenis.

#snort -v -d icmp

Tas pats, tik ICMP paketams.

Paketų registravimo režimas

Paketų registravimo režimo indikatorius yra parinkties -l buvimas komandinėje eilutėje.

#snort -v -l log

Registruoja visų paketų IP, TCP, UDP ir ICMP antraštes žurnalo kataloge (su atskiru tekstiniu failu, sukurtu kiekvienam paketui).

Atminkite, kad registravimo katalogas (šiuo atveju žurnalas) turi egzistuoti.

#snort -l log -b icmp

Registruoja ICMP paketus žurnalo kataloge dvejetainiu formatu, suderinamu su tcpdump registravimo formatu.

Dvejetainį žurnalo failą vėliau galima nuskaityti naudojant snort (arba bet kurį kitą įrankį, kuris palaiko tcpdump žurnalo formatą, pvz., windump arba Analyzer).

#snort -vd -r log\packet.log udp

Rodo UDP paketų, kurie anksčiau buvo užregistruoti faile log\packet.log, antraštes ir duomenis.

Tinklo atakų aptikimo režimas

Tinklo atakų aptikimo sistemos režimo indikatorius yra parinkties -c buvimas komandinėje eilutėje.

#snort -c snort.conf

Vykdo snort tinklo atakų aptikimo režimu pagal taisykles, nurodytas faile snort.conf.

Atminkite, kad snort veikimas tinklo atakų aptikimo sistemos režimu paprastai reikalauja paketų registravimo. Todėl komandų eilutėje dažnai yra parinktis -l šalia parinkties -c (jei šios parinkties nėra, paketai registruojami /var/log/snort kataloge). Galite uždrausti paketų registravimą tinklo atakų aptikimo sistemos režimu naudodami parinktį -N.

Signalizacijos išvesties režimo (būdo) konfigūracija

Numatytasis režimas: išvesta į tekstinį failą alerts.ids registracijos kataloge. Išvesties formatas apima laiko žymą, paaiškinančią pranešimą ir paketo, sukėlusio aliarmą, antraščių (dalies) turinį.

Kaip gauti pagalbos dėl snort komandinės eilutės sintaksės

Greitą nuorodą į „snort“ komandų eilutės sintaksę galite gauti paleidę „snort“ su parinktimi -?

Išsamios pagalbos ieškokite snort man puslapyje.

Atakų aptikimo taisyklių rašymas

„Snort“ naudoja dviejų tipų taisykles: be konteksto (įprastos) ir kontekstinės (išankstinio apdorojimo taisyklės). Taisyklės be konteksto taikomos kiekvienam paketui be ryšio su kitais paketais. Kontekstinės gali būti taikomos tam tikram paketų rinkiniui (sekai). Dauguma taisyklių parašytos vienoje eilutėje, nors jos gali apimti kelias eilutes (tokiu atveju kiekviena eilutė, išskyrus paskutinę, turi baigtis simboliu \).

Taisyklių be konteksto rašymas

Kiekviena taisyklė yra padalinta į dvi logines dalis: antraštę ir parinktis. Antraštė apima:

  • veiksmo, kuris turėtų būti atliktas, jei taisyklė įvykdoma, nurodymas;
  • protokolo žymėjimas;
  • Šaltinio ir paskirties IP adresas;
  • šaltinio ir paskirties prievadai.

Parinktys apima papildomų taisyklių vykdymo kriterijų apibrėžimą ir papildomų atsakomųjų veiksmų apibrėžimą. Bendroji niurnėjimo taisyklių sintaksė yra tokia:

antraštė (parinktys)

Parinktys yra neprivaloma taisyklių dalis. Konkrečiau:

veiksmo protokolas IP1/mask1 port1 ->|< >IP2/mask2 port2 (raktinis žodis1: vertė;\

raktinis žodis2: reikšmė2; ... ;)

Taisyklės pavyzdys:

alert tcp any any -> 192.168.1.0/24 111 (turinys:"|00 01 86 a5|";\

msg: "montuota prieiga";)

Čia antraštė yra: alert tcp any any -> 192.168.1.0/24 111.

Parinktys: turinys:"|00 01 86 a5|"; msg: "montuota prieiga";.

Šią taisyklę galima interpretuoti taip:

  • duoti pavojaus signalą, jei TCP paketas, kurio seka yra 00 01 86 a5 (šešioliktainiu žymėjimu), atkeliauja iš bet kurios 192.168.1.0/24 tinklo mazgo 111 prievado;
  • Kartu su pavojaus signalu turi būti pranešimas „mountd access“.

Taisyklių antraštės

Veiksmų, kuriuos reikia atlikti, jei laikomasi taisyklių, nustatymas

Jei paketas atitinka vieną iš taisyklių, yra 5 standartinės snortavimo veiksmų parinktys (atitinkamai, 5 galimos veiksmų reikšmės):

  • alert: paskelbkite aliarmą ir užregistruokite paketą;
  • rąstas: rąstų paketas;
  • praeiti: ignoruoti paketą (ty nieko nedaryti);
  • aktyvuoti: duoti aliarmą ir įjungti atitinkamą dinaminę taisyklę;
  • dinaminis: neatlikite jokių veiksmų, kol taisyklės neįjungs kokia nors aktyvinimo taisyklė; Suaktyvinę taisyklę, elkitės kaip žurnalo taisyklės atveju.

Konstrukcija su aktyvavimu ir dinamine naudojama norint gauti išsamesnį užpuoliko veiksmų žurnalą, jei aptinkama atakos pradžia.

Protokolo žymėjimas

Šiuo metu palaikomi 4 protokolai (atitinkamai 4 proto reikšmės): ip, tcp, udp ir icmp.

IP adreso žymėjimas

Raktinis žodis „bet koks“ reiškia „bet kokį adresą“. Konkretūs adresai nurodomi tokiu formatu: IP/mask, kur IP yra tinklo arba mazgo IP adresas, maskuoklis yra tinklo kaukė. Tinklo kaukė nurodoma kaip dešimtainis skaičius, lygus vienetų skaičiui dvejetainėje kaukėje. Pavyzdžiui, žymėjimas 192.168.1.0/24 reiškia C klasės IP tinklą, kurio adresas yra 192.168.1.0 (skaičius 24 atitinka šešioliktainę kaukę FF.FF.FF.0); žymėjimas 192.168.5.151/32 reiškia atskirą mazgą, kurio IP adresas yra 192.168.5.151. Prieštaravimo operatorius „!“ gali būti pritaikytas IP adresui. Pavyzdžiui, jei anksčiau pateikta pavyzdinė taisyklė buvo pakeista, kad atrodytų taip:

įspėjimas tcp !192.168.1.0/24 bet koks -> 192.168.1.0/24 111 \

(turinys: "|00 01 86 a5|"; žinutė: "išorinė prijungta prieiga";)

pavojaus signalas bus siunčiamas tik tuo atveju, jei iš išorės į tinklo mazgų 192.168.1.0/24 111 prievadą pateks TCP paketai.

Taip pat galite nurodyti IP adresų sąrašą. Toks sąrašas suformatuotas taip:

įspėjimas tcp! bet koks -> \

111 (turinys: "|00 01 86 a5|";\

msg: "išorinė prijungta prieiga";)

Uosto žymėjimas

Raktinis žodis „bet koks“ reiškia „bet kurį prievadą“. Konkretūs prievadai nurodomi dešimtainiais skaičiais. Naudodami operatorių „:“ galite nurodyti prievadų diapazonus:

log udp any any -> 192.168.1.0/24 1:1024

reiškia, kad bus įrašomi bet kokios kilmės UDP paketai, nukreipti į 192.168.1.0/24 tinklo prievadus nuo 1 iki 1024.

prisijungti tcp bet koks -> 192.168.1.0/24:6000

reiškia, kad bet kokios kilmės TCP paketai, nukreipti į 192.168.1.0/24 tinklo prievadų numerius, mažesnius nei 6000 pagrindinio kompiuterio, bus registruojami.

log tcp any:1024 -> 192.168.1.0/24 500:

reiškia, kad TCP paketai, gaunami iš prievadų, kurių numeriai yra mažesni arba lygūs 1024, bet kokie prievadai, kurių prievadų numeriai yra didesni arba lygūs 500, prievadai tinkle 192.168.1.0/24, bus registruojami.

Prieštaravimo operatorius "!" gali būti taikomas prievadų numeriams arba diapazonams.

Taisyklių parinktys

Parinktys yra atskirtos viena nuo kitos simboliu „;“ (paskutinė sąrašo parinktis taip pat turi baigtis šiuo simboliu). Parinkčių raktiniai žodžiai nuo jų reikšmių atskiriami simboliu „:“.

Standartiniai raktiniai žodžiai

Žemiau pateikiamas trumpas kai kurių įprastų raktinių žodžių aprašymas.

žinutė - išvesti pranešimą kartu su aliarmu arba paketų žurnalu. Formatas:

žinutė: " »;

ttl - patikrinkite IP antraštės TTL lauko reikšmę. Formatas:

ttl: ;

turinys - patikrinkite, ar pakuotėje nėra tam tikrų duomenų. Formatas:

turinys: [!] " »;

Čia "!" – prieštaravimo operatorius. Pavyzdžiai:

turinys: "|90C8 C0FF FFFF|/bin/sh";

Paketiniuose duomenyse turi būti fragmentas, kurį sudaro baitai 90 C8 C0 FF FF FF (šešioliktainiu) ir tekstas /bin/sh.

turinys: !GET";

Paketo duomenyse neturi būti teksto GET.

sesija - Užregistruokite programos sluoksnio duomenis. Formatas:

sesija: ;

Spausdinimo argumentas reiškia, kad reikia registruoti tik tuos duomenis, kurie matomi ekrane arba spausdinimo įrenginyje. Argumentas „visi“ leidžia registruoti visus duomenis. Pavyzdžiui, taisyklė

log tcp bet koks< >192.168.1.0/24 23 (sesija: spausdinama;)

leidžia registruoti visas tinklo vartotojų telnet sesijas 192.168.1.0/24.

atitinkamai - taikyti tam tikrus aktyvius atsako veiksmus, leidžiančius nutraukti nepageidaujamą ryšį. Formatas:

resp: ;

kur resp_modifier gali turėti šias reikšmes:

  • rst_snd – siųsti TCP RST paketą į paketo šaltinio lizdą;
  • rst_rcv – siųsti TCP RST paketą į paketo paskirties lizdą;
  • rst_all – siųsti TCP RST paketus į abi puses;
  • icmp_net – siųsti ICMP pranešimą „Network Unreachable“ į paketo šaltinį;
  • icmp_host – siunčia ICMP pranešimą „Host Unreachable“ į paketo šaltinį;
  • icmp_port — siųsti ICMP pranešimą „Port Unreachable“ paketo šaltiniui;
  • icmp_all – siunčia visus nurodytus ICMP pranešimus į paketo šaltinį.

Šią parinktį reikia naudoti labai atsargiai, nes, pirma, ji gali trukdyti įprastam eismui, antra, ji gali įnešti snarglius į nesibaigiančią kilpą.

Konteksto taisyklių rašymas (išankstinių procesorių prijungimas)

Kontekstinį paketų apdorojimą atlieka specialūs snort moduliai, vadinami pirminiais procesoriais. Pirminių procesorių veikimo specifika visų pirma slypi tame, kad jie turi galimybę atsiminti ankstesnį srautą (tam tikru mastu ir mastu). Kita svarbi išankstinių procesorių savybė – galimybė modifikuoti duomenis, gaunamus į bekontekstinį paketų analizės modulį (pavyzdžiui, defragmentuoti paketus). Kiekviena konteksto taisyklė iš esmės yra direktyva, skirta prijungti tam tikrą pirminį procesorių. Bendra šių direktyvų forma yra tokia:

pirminis procesorius :

kur pavadinimas yra pirminio procesoriaus pavadinimas.

Kiekvieno pirminio procesoriaus parinkčių formatas nustatomas atskirai

„Portscan“ išankstinio procesoriaus prijungimas

„Portscan“ pirminis procesorius aptinka ir registruoja prievadų nuskaitymo seansus. TCP nuskaitymai su visišku arba nebaigtu ryšio nustatymu ir UDP nuskaitymai nustatomi pagal kriterijų, kuris gali būti suformuluotas kaip „kvitai iš vieno mazgo bandymų prisijungti prie n ar daugiau saugomo objekto prievadų per T sekundes“. Parametrai n ir T nustatyti Portscan išankstinio procesoriaus direktyvos parinkčių skyriuje. Slaptasis TCP nuskaitymas nustatomas gavus bent vieną atitinkamo formato TCP paketą. Direktyvos formatas:

išankstinio procesoriaus prievadų nuskaitymas:

Kai monitoriaus tinklas yra tinklo, kuris laikomas galimu nuskaitymo taikiniu, IP adresas, prievadų skaičius yra aukščiau nurodytas parametras n, aptikimo laikotarpis yra aukščiau nurodytas parametras T, failo kelias yra registruojamo failo pavadinimas. Pavyzdys.

Ar jums patiko straipsnis? Pasidalinkite su draugais!
Ar šis straipsnis buvo naudingas?
Taip
Nr
Ačiū už jūsų atsiliepimus!
Kažkas nutiko ir jūsų balsas nebuvo įskaitytas.
Ačiū. Jūsų žinutė buvo išsiųsta
Radote klaidą tekste?
Pasirinkite jį, spustelėkite Ctrl + Enter ir mes viską sutvarkysime!