Atviras
Uždaryti

„Snort“ diegimas ir konfigūracija „Linux“. Praktikuokite naudodami IDS SNORT. Snort struktūra ir veikimas

Šiandien apie belaidžių tinklų saugumą dažnai kalbama daug, tačiau įsilaužimas į tinklą suvokiamas kaip kažkas labai tolimo. Mes jau paskelbta medžiaga kaip nulaužti WEP apsaugą. Be to, po kurio laiko jis pasirodė tęsinys apie tai, kaip apsaugoti savo tinklą. Šiandien mūsų dėmesys bus skirtas belaidžio tinklo saugumo tikrinimo įrankiams. Taip pat atakų aptikimo sistemos – savotiška „gaisro signalizacija“ jūsų WLAN.

Beje, jei kalbėtume apie WLAN įsilaužimą, tai namų ir mažų biurų tinklų vartotojai mums atrodo ypač pažeidžiami. Taip yra visų pirma dėl to, kad jie turi kitų užduočių nei apsaugoti savo belaidį tinklą. Ir, skirtingai nei didelės įmonės, jos neturi galimybės samdyti profesionalų.

Tačiau ne viskas taip liūdna, kaip atrodo. Gamtoje yra būdų, kaip įvertinti belaidžio tinklo saugumą, nepaisant absurdiško žodžių „saugumas“ ir „belaidis tinklas“ derinio. Įsibrovimų aptikimo sistemos (IDS) gali aptikti galimus įsibrovimus prieš jiems įvykstant, kol priešas ieško angos. Žinoma, tokios sistemos negali garantuoti visiško saugumo (o ką, beje, gali?), tačiau kartu su ugniasienėmis ir kitomis saugumo priemonėmis jos gali būti labai naudingos. Visuotinai pripažįstama, kad IDS yra savotiška apsaugos signalizacija: tai yra, ji tik praneša apie ataką, palikdama darbą su užpuoliku kitoms sistemoms ir priemonėms (net fizinėms).

Ryžiai. 1. Snort IDS.


Ryžiai. 3. Linksys WRT54G.

Žemiau pateiksime pavyzdžius, pagrįstus WRT54G su programine įranga OpenWRT RC 2(kodiniu pavadinimu „Baltoji rusiška“). Iš tikrųjų yra daug belaidžių maršruto parinktuvų „Linux“ paskirstymų, tačiau pasirinkome „OpenWRT“ programinę-aparatinę įrangą, nes ji yra paprasta, lengva ir supakuota kaip „Debian Linux“.


Ryžiai. 4. OpenWRT darbe.

Įspėjimas. Įkeliant OpenWRT, Snort Wireless ar kitas alternatyvias programinės aparatinės įrangos versijas į WRT54G, garantija nebegalios. Prieš pradedant mirksėti alternatyvią programinės aparatinės įrangos versiją, rekomenduojame parsisiųsti dabartinės programinės aparatinės įrangos versijos kopija

Mes nesigilinsime į OpenWRT diegimą, nes jį galite rasti OpenWRT svetainėje puikus montavimo vadovas. Baigę diegti, galite prisijungti prie maršrutizatoriaus naudodami Telnet () ir mėgautis rezultatu.

Įdiegę OpenWRT maršrutizatoriuje, galite atsisiųsti ir įdiegti programą Snort Wireless. Visa tai galima padaryti per minėtą OpenWRT paketų sistemą – paleiskite komandą ipkg su šiais parametrais.

ipkg įdiegti http://nthill.free.fr/openwrt/ipkg/testing/20041204/snort-wireless_2.1.1-1_mipsel.ipk

Kai kam gali nepatikti, kad ši pakuotė senesnė nei metai. Tačiau čia nėra nieko blogo, nes čia yra visos būtinos IDS funkcijos, o visas vėlesnes Snort taisykles taip pat galima atsisiųsti per ipkg (daugiau informacijos: OpenWRT sekimo puslapis). Jei nuspręsite sukurti prieigos tašką kompiuteryje, galite atsisiųsti „Snort Wireless“ šaltinio kodą ir sukompiliuoti jį tiesiogiai savo kompiuteryje. Atminkite, kad turėtumėte pridėti vėliavėlę --įgalinti-belaidį ryšį, kitaip Wi-Fi pirminiai procesoriai neveiks.

„Snort Wireless“ veikia kaip įprastas „Snort“, tačiau yra specialiai sukurtas belaidžiams prieigos taškams, todėl juos galite veiksmingai apsaugoti nuo atakų. Tiksliau, jame yra naujas taisyklių protokolas, vadinamas bevielis internetas ir leidžia IDS tinkamai izoliuoti belaidį srautą, būdingą įprastoms WLAN atakoms. Pavyzdžiui, tos pačios atakos naudojant Netstumbler arba bandymai nulaužti WEP. „Wi-Fi“ protokolo naudojimas „Snort Wireless“ yra labai panašus į įprastų „Snort“ taisyklių nustatymą, išskyrus vieną išimtį: užuot įvedę pirmojo ir antrojo mazgų IP adresus ir prievadus, turėtumėte naudoti jų MAC adresus.

Šiuo metu turime veikiantį „Snort Wireless“. Pereikime prie jo nustatymo naudoti pasirinktame tinkle. Kai paleidžiate ipkg, Snort yra įdiegtas kataloge /etc/snort maršrutizatoriuje. Kaip ir kitos „Unix“ programos, „Snort“ naudoja redaguojamą konfigūracijos failą, kuriame galite nurodyti informaciją apie tinklo aplinką ir įvairius atakų modelius, kuriuos norite stebėti. Failas vadinamas snort.conf (Ryžiai. 5) ir yra kataloge /etc/snort. Jį reikia atidaryti bet kuriame teksto redaktoriuje (jei jūsų maršrutizatorius jo neturi, atsisiųskite jį naudodami ipkg).


Ryžiai. 5. Snort.conf konfigūracijos failas.

Dabar galite konfigūruoti visus būtinus tinklo parametrus, įskaitant prieigos taško, kuriame veikia IDS, pavadinimą ir klientų, kuriuos norite stebėti, MAC adresus. Čia galite sukonfigūruoti daugybę nustatymų, todėl atidžiai peržiūrėkite juos, kad nieko nepraleistumėte.

Visų pirma pažiūrėkite į „Wi-Fi“ specifinius išankstinius procesorius „Snort Wireless“. Juose yra išankstiniai procesoriai, skirti aptikti pasyvų tinklo nuskaitymą, vykdomą naudojant tokias programas kaip NetStumbler ir MAC adreso klaidinimo bandymus. Svarbius pirminius apdorojimo įrenginius nusprendėme apsvarstyti atskirai.


Ryžiai. 6. AntiStumbler pirminis procesorius leidžia pranešti apie žvalgybos atakas.

  • AntiStumbler. Tokios programos kaip NetStumbler ir MacStumbler ( Ryžiai. 6), prieigos taškams aptikti naudokite nulinius SSID. Šie SSID veikia kaip transliacijos ir verčia kitus prieigos taškus siųsti savo SSID į užklausą teikiantį mazgą. Ši funkcija naudinga ieškant galimų belaidžių tinklų. „AntiStumbler“ pirminis procesorius atpažįsta, kad iš vieno MAC adreso siunčiama per daug nulinių SSID, ir gali sukelti pavojaus signalą.
    Pastaba. Šis išankstinis procesorius neleidžia apibrėžti tokių programų kaip Kismet, nes jie tik pasyviai klausosi 802.11 kadrų ir nesiunčia užklausų.
  • DeauthFlood. Šis išpuolis buvo išsamiai aprašytas mūsų medžiaga apie WEP įsilaužimą. Naudojamas pagrindiniams kompiuteriams atjungti nuo prieigos taškų ir priverstinai bandant prisijungti, o tai suteikia papildomų paketų analizei WEP nulaužimo metu. Be to, ataka gali būti naudojama prieigos taško „atsisakymui teikti paslaugą“ (DoS). DeauthFlood pirminis procesorius atpažįsta tokio tipo atakas, skaičiuodamas autentifikavimo panaikinimo kadrų skaičių per laiko vienetą ir, jei reikia, suaktyvina aliarmą.
  • AuthFlood. Ataka yra panaši į ankstesnę, tačiau „AuthFlood“ išankstinis procesorius aptinka per daug autentifikavimo bandymų, tai yra, klientų bandymų prisijungti prie belaidžio tinklo, kuris gali būti naudojamas kaip DoS ataka prieš prieigos tašką.
  • MacSpoof. Vienas iš efektyviausių būdų apriboti prieigą prie prieigos taško yra sudaryti leidžiamų klientų MAC adresų sąrašą. Deja, užpuolikas gali suklaidinti savo įrenginio MAC adresą ir prisijungti prie prieigos taško. „MacSpoof“ pirminis procesorius tikrina paketų numerius ir, jei aptinkami neatitikimai, nurodantys galimą MAC adreso klastojimą, įjungia aliarmą.
  • RogueAP. Svetimų („priešo“) prieigos taškai yra užmaskuoti kaip įprasti, todėl vartotojas per klaidą prie jų prisijungia ir perduoda bet kokius asmeninius duomenis. Šis pirminis procesorius dar neįgyvendintas, tačiau būsimuose leidimuose jis galės pranešti apie kitų žmonių prieigos taškų artumą.

Be to, „Snort Wireless“ apima daug iš anksto nustatytų taisyklių daugeliui situacijų. Priklausomai nuo jūsų tinklo konfigūracijos, kai kurios taisyklės gali būti labai patogios. Pavyzdžiui, visos žiniatinklio taisyklės, jei jūsų tinkle veikia žiniatinklio serveris. Norėdami suaktyvinti taisyklę, tiesiog panaikinkite atitinkamą eilutę Snort konfigūracijos faile. Pagal numatytuosius nustatymus atskiri taisyklių rinkiniai išsaugomi kataloge /etc/snort/rules, ir bet kurį iš jų galima peržiūrėti naudojant teksto rengyklę. Taisyklės rinkiniuose nustatytos lygiai tokios pat kaip ir pačiame Snort. Beje, vadovaudamiesi pavyzdžiais, taisyklę nesunkiai galite parašyti patys.


Ryžiai. 7. Snort taisyklė aptiko prievadų nuskaitymo įrenginį.

Vykdoma

Kai failas snort.conf pasiruošę, galite paleisti „Snort“. Paleidžiant galite nurodyti daugybę parametrų, kurie lemia viską nuo išvesties iki darbo režimo. Pirmiausia paleiskite Snort su šiais parametrais (Telnet parinktyse).

niurktelėti -D -A pilnas

Ši komanda paleidžia Snort kaip foninį procesą, todėl galite ramiai tęsti darbą su apvalkalu. Suveikus aliarmui, visa informacija bus įrašyta į žurnalą.

Dabar, kai „Snort“ veikia, galite galvoti apie papildomus belaidžio tinklo apsaugos būdus. Tarkime, galite susisiekti Kismet- programa, panaši į Snort, kuri gali būti naudojama kaip papildoma įsilaužimo aptikimo sistema. Snort veikia tik trečiajame OSI modelio lygmenyje – tinklo lygmenyje, kuris yra atsakingas už IP ir kitą srautą. O Kismet dirba antrame lygyje – kanalo lygyje, atsakingas už eterneto kadrus. Taigi, abiejų sistemų diegimas poromis žymiai padidins bendrą saugumą.


Ryžiai. 8. Kismetas darbe.

Galite sukonfigūruoti „Snort“ rašyti žurnalus į duomenų bazę, kad būtų lengviau atlikti tolesnę analizę. Danielis Waltheris rašė valdymas apie tai, kaip nustatyti įrašymą MySQL ir PostgreSQL duomenų bazėse. Jei naudojate „Gentoo Linux“ kompiuteryje, kuris veikia kaip prieigos taškas, galite eiti toliau: įdiegti „Apache“ ir sukonfigūruoti žurnalų rodymą žiniatinklyje. Svetainėje Gentoo Wiki Galite rasti išsamų tokio nustatymo aprašymą.


Ryžiai. 9. Peržiūrėkite „Snort“ žurnalus naudodami „MySQL“, ACID ir „Apache“.

Išvada

Mes palietėme tik pagrindinius „Snort“ veikimo principus. Iš esmės, remdamiesi straipsnyje pateikta medžiaga, galite sukonfigūruoti sistemą prieigos taške. Tačiau „Snort“ turi daug daugiau funkcijų, nei aprašyta straipsnyje. Visų pirma galite kurti valdo savarankiškai, kuri padės „Snort“ integruoti giliau į tinklą.

Galiausiai nepamirškite, kad norint veiksmingai apsaugoti savo belaidį tinklą, reikia nuolat atnaujinti ir „Snort“, ir taisykles. Nepamirškite reguliariai lankytis Snort Wireless, ir ipkg paketo sekimo priemonė(skirta OpenWRT diegimui) arba Snort taisyklių puslapis(kitiems).

Kaip ir kiti saugos įrankiai, „Snort“ nėra panacėja jūsų tinklui apsaugoti. Tai tik vienas iš jūsų tvirtovės bastionų. Tačiau gynybos komplekse tai veikia labai gerai.


Paskelbimo data: 2009 m. rugsėjo 21 d
Vertimas: S.Vladimirsky
Perkėlimo data: 2009 m. spalio 2 d

Šiame vadove aprašoma, kaip įdiegti ir konfigūruoti įsibrovimų aptikimo sistemą (IDS) su Snort, ACIDBASE (pagrindinės analizės ir saugos varikliu), MySQL ir Apache2 paketais Ubuntu 9.04 naudojant Synaptic Ubuntu paketų tvarkyklę. „Snort“ padės stebėti jūsų tinklą ir įspės apie galimas grėsmes. Tokiu atveju Snort sugeneruos žurnalo failus MySQL duomenų bazei, o ACIDBASE leis juos rodyti grafinėje sąsajoje žiniatinklio naršyklėje.

1. Sistemos paruošimas ir programinės įrangos įdiegimas.

1.1 Montavimas.

Atsisiųskite Desktop Ubuntu 9.04 32 bitų arba 64 bitų iš čia: http://www.ubuntu.com/getubuntu/download

1.2 Sistemos ir tinklo nustatymai

Prijunkite kompiuterį prie tinklo. Nors sistema gali veikti su įvairiais nustatymais, pirmenybė teikiama tokiai konfigūracijai:

  • Įsikūręs demilitarizuotoje zonoje (DMZ).
  • Statinis IP adresas, paslėptas už ugniasienės naudojant NAT.
  • Prijunkite prie tinklo jungiklio stebėjimo prievado (SWITCH).

Sukurkite naują administratorių vardu <ваше_имя> ir slaptažodį <ваш_пароль> .

1.3 Programinės įrangos diegimas.

Pirmas dalykas, kurį reikia padaryti baigus diegti, yra įdiegti visus Ubuntu rekomenduojamus naujinimus. Norėdami pasiekti naujinimus, eikite į meniu: Sistema > Administravimas > Atnaujinimo tvarkyklė. Įveskite slaptažodį ir pasirinkite Tikrinti. Pasirinkite Įdiegti naujinimus.

Darbalaukyje eikite į Sistema > Administravimas > Synaptic Package Manager. Įveskite slaptažodį ir pasirinkite Ieškoti.

Raskite ir įdiekite šiuos paketus:

  • Acidbase su visomis priklausomomis pakuotėmis
  • Snort-MySQL su visais priklausomais paketais
  • MySql-server-5.0 su visais priklausomais paketais
  • Libpcap0.8-dev
  • libmysqlclient15-dev
  • MySql-client-5.0
  • Stumbras
  • Apache2
  • Libapache2-mod-php5
  • Php5-gd
  • Php5-mysql
  • libphp-adodb
  • Php-kriaušė

2. Gaukite supervartotojo teises

Darbalaukyje eikite į meniu: Programos\u003e Priedai\u003e Terminalas (Programos\u003e Priedai\u003e Terminalas) ir įveskite komandą:

$ sudo -i
$ įveskite slaptažodį

3. Snort nustatymas

Norėdami nustatyti pasirinktinius nustatymus, turite redaguoti snort.conf nustatymų failą.

Naudodami teksto rengyklę (nano, vi, vim ar kitą), atidarykite failą /etc/snort/snort.conf.

# vim /etc/snort/snort.conf

Pakeiskite var HOME_NET bet kurį kintamąjį į var HOME_NET 192.168.1.0/24 (jūsų namų tinklo adresas gali skirtis nuo 192.168.1.0). Jei stebite kelis tinklus, visus šiuos tinklus turite nurodyti taip: var HOME_NET . Pakeiskite var EXTERNAL_NET any į var EXTERNAL_NET !$HOME_NET (nustato visus kintamuosius, išskyrus išorinį kintamąjį HOME_NET).

Pakeiskite var RULE_PATH ../rules į var RULE_PATH /etc/snort/rules . Slinkite iki taško, kur nurodyta eilutė # išvesties duomenų bazė: log, mysql, user=, pašalinkite # ženklą nuo eilutės pradžios.

Pavyzdys: išvesties duomenų bazė: log, mysql, user= slaptažodis = dbname=snort host=localhost

(žr. aukščiau, kai buvo sukurtas naujas vartotojas).

Užsirašykite vartotojo vardą, slaptažodį ir duomenų bazės pavadinimą (dbname). Šios informacijos jums reikės diegiant MySQL duomenų bazę. Išsaugokite pakeitimus ir išeikite.

4. Snort ir Archive duomenų bazių įdiegimas MySQL

4.1 MySQL diegimas

Prisijunkite prie MySQL serverio.

# mysql -u root -p

Kartais nutinka taip, kad slaptažodis nenustatytas, todėl tiesiog paspauskite „Enter“.

Jei negalite prisijungti, dar kartą pabandykite aukščiau pateiktą komandą ir įveskite YOUR_PASSWORD.

Jei slaptažodžio nėra, turite nustatyti supervartotojo paskyros slaptažodį.

Pastaba: kai esate MySQL serveryje, užklausa rodo simbolių grupę "mysql>", o ne "#" simbolį.

mysql> sukurti vartotoją @localhost;
mysql> NUSTATYTI SLAPTAŽODĮ r@localhost=PASSWORD( );
mysql> NUSTATYTI SLAPTAŽODĮ root@localhost=PASSWORD( );

4.2 „Snort“ duomenų bazės kūrimas

mysql sukurti duomenų bazę snort; mysql> suteikti INSERT,SELECT root.* adresu snort@localhost; mysql> suteikite CREATE,INSERT,SELECT,DELETE,UPDATE snort.* @localhost; mysql> suteikti CREATE,INSERT,SELECT,DELETE,UPDATE apie snort.* snort;

4.3 Archyvo duomenų bazės kūrimas

mysql> sukurti duomenų bazės archyvą; mysql> suteikite CREATE,INSERT,SELECT,DELETE,UPDATE archyve.* @localhost; mysql> suteikti CREATE,INSERT,SELECT,DELETE,UPDATE archyve.* archyvuoti; mysql> išeiti

4.4 Lentelių kūrimas Snort ir Archive duomenų bazėse

Naudosime Snort schemą Snort ir Archive duomenų bazių išdėstymui.

# cd /usr/share/doc/snort-mysql # zcat create_mysql.gz | mysql -u -h localhost -p snort # zcat create_mysql.gz | mysql -u -h localhost -p archyvas

4.5 Duomenų bazių ir naujai sukurtų lentelių sukūrimo patvirtinimas.

Prisijunkite prie MySQL serverio ir patikrinkite ką tik sukurtas duomenų bazes ir tose duomenų bazėse esančias lenteles. Jei viskas buvo sukurta sėkmingai, mysql duomenų bazėse pamatysite keturias (4) duomenų bazes (mysql, test, snort ir archyvas) ir maždaug 16 lentelių kiekvienoje duomenų bazėje.

# mysql -u root -p mysql> rodyti duomenų bazes; mysql naudoti snort; mysql> rodyti lenteles; mysql> naudoti archyvą; mysql> rodyti lenteles; mysql> išeiti

4.6 Snort testavimas

Terminalo režimu įveskite komandą: # snort -c /etc/snort/snort.conf

Jei viskas klostėsi gerai, atsakymą turėtumėte matyti ascii koduose.

Norėdami baigti testą, paspauskite ctrl + c

5. Apache2 konfigūravimas

„Apache2“ paketas jau turi būti įdiegtas jūsų kompiuteryje.

Naudodami mėgstamą teksto rengyklę aplanke /var/www/ sukurkite failą test.php.

# vim /var/www/test.php

Įrašykite jame:

Išsaugokite pakeitimus ir uždarykite šį failą.

Redaguokite /etc/php5/apache2/php.ini failą

# vim /etc/php5/apache2/php.ini

Eilutėje „Dinaminiai plėtiniai“ pridėkite:

Extension=mysql.so plėtinys=gd.so

Iš naujo paleiskite „Apache2“.

# /etc/init.d/apache2 paleiskite iš naujo

Gaukite savo darbo kompiuterio IP adresą.

# ifconfig -a

Atidarykite žiniatinklio naršyklę ir eikite į http://YOUR_IP_ADDRESS/test.php.

Jei viskas klostėsi gerai, bus rodoma PHP informacija.

6. Aplankų konfigūravimas

Perkelkite ADOdb į aplanką /var/www.

# mv /usr/share/php/adodb /var/www/

Sukurkite aplanką, vadinamą žiniatinkliu, www ir perkelkite į jį ACIDBASE.

# mkdir /var/www/web # mv /usr/share/acidbase /var/www/web/

Laikinai leiskite rašyti į acidbase duomenų bazės aplanką, kad jį įdiegtumėte.

# chmod 777 /var/www/web/acidbase

# cd /var/www/web/acidbase # mv base_conf.php base_conf.old

Norėdami dirbti ACIDBASE, paleiskite komandą:

#kriaušės įdiegimas Image_Color

7. ACIDBASE diegimas Snort ir Archive duomenų bazėms

7.1 Snort duomenų bazės diegimas per interneto naršyklę

1 veiksmas iš 5:

Įveskite kelią į ADODB. Tai yra /var/www/adodb.

2 veiksmas iš 5:

Pagrindinis duomenų bazės tipas = MySQL
Duomenų bazės pavadinimas = snort
Duomenų bazės priegloba = localhost (vietinė Snort duomenų bazės vieta),
Duomenų bazės vartotojo vardas =<ваше_имя_пользователя>(Snort duomenų bazės vartotojo vardas)
Duomenų bazės slaptažodis =<ваш_пароль>(Snort duomenų bazės slaptažodis)

Archyvo duomenų bazės tipas = MySQL (archyvo duomenų bazės tipas),


Duomenų bazės vartotojo vardas =<ваше_имя_пользователя>
Duomenų bazės slaptažodis =<ваш_пароль>

3 veiksmas iš 5:

Jei norite naudoti autentifikavimą, įveskite savo vartotojo vardą ir slaptažodį (vartotojas:<ваше_имя>, Slaptažodis:<ваш_пароль>).

4 veiksmas iš 5:

Spustelėkite Sukurti BASE AG.

5 veiksmas iš 5:

Kai baigsite 4 veiksmą, apačioje spustelėkite: Dabar pereikite prie 5 veiksmo.

Pažymėkite šį puslapį.

7.2 Sukurkite archyvo ACIDBASE duomenų bazės aplanką

Kad archyvo duomenų bazė tinkamai veiktų, aplanke ACIDBASE turi būti sukurtas archyvo aplankas.

# mkdir /var/www/web/acidbase/archive # cd /var/www/web/acidbase # cp -R * /var/www/web/acidbase/archive # chmod 777 /var/www/web/acidbase/archive

Pervardykite esamą base_conf.php failą į base_conf.old .

# cd /var/www/web/acidbase/archive # mv base_conf.php base_conf.old

7.3 Archyvo duomenų bazės diegimas per interneto naršyklę.

Atidarykite žiniatinklio naršyklę ir eikite į http://YOUR_IP_ADDRESS/web/acidbase/archive/setup.

Pirmame puslapyje spustelėkite Tęsti.

1 veiksmas iš 5:

Įveskite kelią į ADODB. Tai yra /var/www/adodb. >

2 veiksmas iš 5:

Archyvas Duomenų bazės tipas = MySQL
Duomenų bazės pavadinimas = archyvas (duomenų bazės archyvas),
Duomenų bazės priegloba = localhost (vietinė archyvo duomenų bazės vieta),
Duomenų bazės vartotojo vardas =<ваше_имя_пользователя>(Archyvo duomenų bazės vartotojo vardas),
Duomenų bazės slaptažodis =<ваш_пароль>(Archyvo duomenų bazės slaptažodis)

3 veiksmas iš 5:

Jei norite naudoti autentifikavimą, įveskite savo vartotojo vardą ir slaptažodį (vartotojas:<ваше_имя_пользователя>, Slaptažodis:<ваш_пароль>).

4 veiksmas iš 5:

Spustelėkite Sukurti BASE AG.

5 veiksmas iš 5:

Baigę 4 veiksmą, spustelėkite apačioje: Dabar pereikite prie 5 veiksmo (dabar pereikite prie 5 veiksmo).

8. Paleiskite Snort ir patikrinkite paslaugų būseną.

Norėdami paleisti „Snort“, terminalo režimu įveskite:

# snort -c /etc/snort/snort.conf -i eth0 -D

Ši komanda pradeda snort naudojant eth0 sąsają demonstraciniu režimu.

Galite patikrinti, ar paslauga veikia, naudodami šią komandą:

# ps aux | grep prunkštelėjo

Jei paslauga veikia, pamatysite kažką panašaus į šį snort -c /etc/snort/snort.conf -i eth0 -D .

Patikrinkite, ar veikia visos reikalingos paslaugos, vykdydami šias komandas:

# /etc/init.d/mysql status # /etc/init.d/apache2 status # /etc/init.d/snort status

Jei paslaugos veikia, pamatysite atsakymo pranešimą .

Jei reikia, paleiskite komandą
# /etc/init.d/ perkrauti
kiekvienai paslaugai, kurią reikia paleisti iš naujo.

Į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 juos, kai jų 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ę.

Kasdien įmonių tinklais perduodama milijardai duomenų paketų. Kai kurie iš jų yra pavojingi; Tokių paketų autoriai ėmėsi specialių priemonių, kad apeitų užkardas ir pralaužtų gynybines linijas per tinklų perimetrą, sutrikdydami visų pakeliui pasitaikančių sistemų veikimą. Supakuotų atakų, tokių kaip Code Red, Nimda, SQL Slammer ir MSBlaster, žalingas poveikis yra gerai žinomas. Visos šios kenkėjiškos programos išnaudoja patikimus protokolus (pvz., HTTP) arba tinklo srautą iš „Microsoft“ sistemų. Tokių protokolų negalima paprasčiausiai paimti ir užblokuoti, todėl dažniausiai administratoriai stengiasi kuo greičiau užfiksuoti pavojingą srautą naudodami neteisėtos prieigos aptikimo sistemas, Network Intrusion Detection System (NIDS), kad laiku reaguotų į grėsmę.

Prekyboje yra keletas NIDS, kurių galimybės ir kaina skiriasi. Apskritai jie visi sėkmingai dirba. Visi komerciniai paketai, su kuriais susidūriau, buvo puikūs. Tačiau ką turėtų daryti organizacijos, turinčios kuklų biudžetą, jei įsibrovimų aptikimas nėra prioritetas? Tokiems atvejams yra Snort – galingas nemokamas NIDS paketas. Skirtingai nuo daugelio atvirojo kodo paketų, jis suderinamas su „Windows“.

Susipažinimas su Snortu

Pradinis „Snort“ kūrėjas Martinas Reschas padarė programą prieinamą atvirai bendruomenei pagal GNU bendrosios viešosios licencijos (GPL) sąlygas. Šio paketo istorija prasidėjo 1998 metais ir nuo tada jis ne kartą įrodė savo patikimumą. Dėl atviros bendruomenės narių ir tinklo administratorių visame pasaulyje indėlio „Snort“ tapo labai galingu produktu. Dabartinė versija teikia realiojo laiko tinklo srauto analizę ir IP srauto registravimą Fast Ethernet ir Gigabit Ethernet greičiu.

Michaelas Davisas perkėlė „Snort 1.7“ į „Win32“ platformą, kad ji būtų prieinama „Windows“ bendruomenei. Tada Chrisas Reidas ėmėsi užduoties sudaryti naujas „Snort“ versijas į paruoštus vykdomuosius failus, kuriuos būtų galima lengvai įdiegti „Windows“ aplinkoje.

NIDS nepažįstantys administratoriai gali galvoti apie įrankį kaip apie specialų tinklo analizatoriaus tipą. NIDS tiria kiekvieną paketą, einantį per sąsają, ieškodama žinomų naudingojo krovinio modelių, kuriuose kenkėjiškas kodas paprastai yra paslėptas. Naudodami „Snort“ galite atlikti kiekvieno paketo, einančio per organizacijos tinklą, paieškos ir suderinimo operacijas ir realiuoju laiku aptikti įvairių tipų atakas ir neteisėtą srautą.

Snort reikalavimai

Norint paleisti „Snort“, reikia „Windows“ kompiuterio su bent vienu tinklo adapteriu. Geriau turėti du tinklo adapterius, vienas prijungtas prie valdomo tinklo, o kitas prie gamybos tinklo; pastarasis persiunčia ataskaitas. Snort suderinamas ne tik su Windows 2000 Server ir naujesnėmis versijomis, bet ir su Windows XP Professional Edition, XP Home Edition ir Windows 2000 Professional. Serverio licencija nereikalinga. Kasdien jungiu savo XP Pro nešiojamąjį kompiuterį prie daugelio klientų tinklų ir dažniausiai naudoju Snort kaip paslaugą. Tokiu būdu programa veikia fone, aptikdama bet kokias atakas prieš mano sistemą iš to kliento tinklo. Aš naudoju Snort kaip nešiojamąjį jutiklį – programa veikia kaip NIDS bet kuriam prievadui, prie kurio prijungtas nešiojamas kompiuteris.

Mažuose tinkluose „Snort“ gali būti įdiegtas pradinio lygio serveryje. Norint aptikti neteisėtos prieigos bandymus, specialios didelės galios mašinos nereikia. Pavyzdžiui, girdėjau apie „FreeBSD“ pagrindu veikiančius „Snort“ mazgus su 1 GHz procesoriais ir 1 GB RAM, kurie sėkmingai aptarnauja tinklus su 15 000 vartotojų ir keliomis T-3 WAN nuorodomis. Dėl Snort šaltinio kodo efektyvumo programai paleisti nereikia labai galingo įrenginio.

Kur yra geriausia vieta tinkle rasti NIDS? Pirma mintis yra pastatyti įrenginį priešais užkardą. Čia NIDS aptiks daugiausia atakų, tačiau klaidingų teigiamų atvejų skaičius taip pat bus didžiausias, o administratorius gaus daug nenaudingų įspėjimų apie pavojų. Neturėtumėte nerimauti dėl ugniasienės sustabdytų grėsmių, svarbiau aptikti už jos esančias pavojingas programas. Todėl vis tiek geriau „Snort“ pastatyti už ugniasienės.

Tačiau jei vartotojai prisijungia prie tinklo naudodami VPN ryšį (internetu arba belaidžiu ryšiu), tikslinga NIDS įdėti toliau už ugniasienės, pvz., už VPN serverio arba koncentratoriaus, kur paketai iššifruojami, kai jie išeina iš VPN tunelis. Priešingu atveju NIDS negalės kovoti su kenkėjiškomis programomis, įterptomis į VPN srautą, nes analizuojami paketai bus užšifruoti. Tas pats pasakytina apie užšifruotą SMTP srautą, šifruotus .zip failus, pridedamus prie el. laiškų, ir kitų tipų šifruotus duomenis.

Idealiu atveju NIDS turėtų būti pakankamai toli už visų komponentų, kurie šifruoja srautą, ir pakankamai arti tinklo perimetro, kad būtų galima analizuoti srautą kuo daugiau segmentų ir potinklių. Komutuojamo tinklo aplinkoje jungikliui paprastai reikalingas diagnostinis prievadas, kad būtų galima surinkti visus per tinklą einančius paketus. Dėl to NIDS turi patogią prieigą prie viso tinklo srauto.

Dabar, kai esate susipažinę su Snort ir žinote jo prieglobos reikalavimus, galite įdiegti ir išbandyti NIDS. Norėdami gauti daugiau informacijos apie „Snort“, žr. dokumentus, susietus su „Žiniatinklio išteklių“ šoninėje juostoje. Šis procesas susideda iš septynių etapų:

  1. WinPcap diegimas
  2. „Snort“ diegimas
  3. Snort testavimas
  4. Snort nustatymas
  5. Taisyklių nustatymas
  6. Įspėjimų ir žurnalų nustatymas
  7. Vykdykite kaip paslaugą

1 etapas. WinPcap diegimas

„Snort“ iš esmės yra laisvo režimo tinklo analizatorius, todėl jam reikalingas tvarkyklės palaikymas. Šią paramą teikia WinPcap. Loris Digioanni sukūrė WinPcap, perkeldamas libpcap paketų fiksavimo tvarkyklę, plačiai naudojamą tarp Unix vartotojų, į Windows aplinką. WinPcap apima branduolio lygio paketų filtrą, žemo lygio DLL (packet.dll) ir aukšto lygio nepriklausomą nuo sistemos biblioteką (wpcap.dll, pagrįsta libpcap 0.6.2).

WinPcap galima atsisiųsti iš http://winpcap.polito.it. Tvarkyklės suderinamos su Windows Server 2003, XP, Windows 2000, Windows NT, Windows Me ir Windows 9x. „WinPcap“ taip pat palaiko atvirojo kodo „Ethereal“ paketų snifferį, kurį galima gauti iš . Naudodami „Ethereal“ galite patikrinti, ar „Snort“ įdiegtas tinkamai.

Atsisiuntę WinPcap diegimo failą iš tinklo, tereikia pereiti kelis diegimo procedūros ekranus. Didžiausių pastangų iš vartotojo reikalauja ekranas, kuriame turite sutikti su licencijos sąlygomis.

2 veiksmas: įdiekite „Snort“.

Kitas žingsnis – įdiegti „Snort“. Naujausią versiją galite rasti „CodeCraft Consultants“ svetainėse ( http://www.codecraftconsultants.com/snort.aspx) arba Snort.org ( http://www.snort.org). Rekomenduoju atsisiųsti „Snort“ iš „CodeCraft Consultants“, nes iš tos svetainės galite gauti savaime išsiskleidžiantį vykdomąjį failą. Programa netgi padeda vartotojui atlikti pagrindinius „Snort“ diegimo kompiuteryje veiksmus. Rengiant šį straipsnį buvo naudojama naujausia „Snort 2.1.1“ versija.

Kai paleidžiate diegimo programą, pirmame dialogo lange turite pasirinkti duomenų bazės konfigūracijos režimą rezultatams saugoti. Jei naudojate MySQL arba su ODBC suderinamą duomenų bazę, galite priimti numatytąjį režimą (1 pav.). Bet jei ketinate saugoti protokolus Microsoft SQL Server arba Oracle duomenų bazėje, tuomet turite pasirinkti tinkamą režimą ir įsitikinti, kad įrenginyje yra reikalinga kliento programa. Rengiant šį straipsnį buvo naudojamas numatytasis režimas.

Kitas žingsnis – nustatyti norimus įdiegti „Snort“ komponentus. Standartinis rinkinys (2 ekranas) yra geras, todėl rekomenduoju jį priimti ir spustelėti Next. Dialogo lange Pasirinkti diegimo vietą turite nurodyti katalogą, kuriame bus įdiegtas „Snort“. Įvedę katalogo pavadinimą, spustelėkite Pirmyn, kad užbaigtumėte diegimo procesą.

2 ekranas: Diegimo komponentų pasirinkimas

3 veiksmas: patikrinkite „Snort“ diegimą

Baigus diegimo procesą, „Snort“ reikia išbandyti. Pagal numatytuosius nustatymus „Snort“ vykdomajai programai turi būti nurodytos dvi vietos: kur rašyti žurnalus ir kur rasti konfigūracijos failą (snort.conf). Šią informaciją vartotojas pateikia paleisdamas Snort iš komandinės eilutės, naudodamas atitinkamai jungiklius -l ir -c. Pavyzdžiui, komanda

Snort -l F:snortlog -c F:snortetcsnort.conf -A konsolė

nurodo programai, kad žurnalai turi būti rašomi į F:snortlog katalogą ir kad snort.conf yra F:snortetc kataloge. Jungiklis -A nurodo programos sugeneruotų įspėjimų perdavimo būdą. Šiame pavyzdyje konsolės ekrane rodomi įspėjimai, kad administratorius galėtų patikrinti, ar „Snort“ veikia tinkamai. Atkreipkite dėmesį, kad straipsnyje komanda spausdinama keliose eilutėse, tačiau komandų lange ji turi būti įvesta vienoje eilutėje. Tas pats pasakytina ir apie kitas šiame straipsnyje pateiktas kelių eilučių komandas. Daugelis „Snort“ komandų eilutės jungiklių yra skiriami didžiosioms ir mažosioms raidėms, todėl komandas turite įvesti tiksliai taip, kaip jos įvestos.

Jei sistemoje yra kelios tinklo sąsajos, pagal numatytuosius nustatymus „Snort“ klausosi pirmoje aptiktoje sąsajoje. Jei įrenginio tinklo sąsajų tvarka nežinoma, komandą Snort galite paleisti vienu jungikliu -W. Snort pateikia tinklo sąsajų pavadinimus ir numerius tokia tvarka, kuria programa juos aptinka. Norėdami priversti Snort naudoti konkrečią tinklo sąsają, paleidžiant Snort turite įvesti jungiklį -i su sąsajos numeriu. Paleidus Snort, ekrane bus rodoma informacija, panaši į parodytą 3 ekranas .

Paleidę „Snort“, galite patikrinti jo jautrumą siųsdami specialiai paruoštą srautą į NIDS. Vienas iš paprasčiausių būdų suaktyvinti įspėjimą yra iškviesti komandų interpretatorių (cmd.exe) nuotoliniame kompiuteryje kaip HTTP URL užklausos dalį (įprasta Code Red ir Nimda kirminų technika). Norėdami imituoti šią atakos fazę, pasiekite bet kurį URL ir užklausos pabaigoje pridėkite simbolius /cmd.exe. Pavyzdžiui, reaguodama į iškvietimą adresu http://www.a-website-that-I-can-trust.com/cmd.exe, „Snort“ komandų lange turėtų parodyti įspėjimą, panašų į pirmuosius tris įspėjimus. įjungta 4 ekranas. Šie pranešimai įrašomi į F:snortlog žurnalą.

Tikslinės svetainės bandymams turi būti parenkamos atsargiai. Techniniu požiūriu dauguma svetainių administratorių tokius veiksmus laikytų bandymu įsilaužti. Šis bandymas nepavyks (nebent serverio konfigūracijoje yra rimtų klaidų), tačiau rekomenduoju testuoti tik su savo serveriu arba patikimu serveriu, kurio administratoriai žino apie testavimą.

Jei testavimas neįmanomas, kitas būdas išbandyti „Snort“ yra nusiųsti neįprastai ilgą aido užklausą per tinklą į serverį arba kompiuterį, kuriame veikia „Snort“. Pavyzdžiui, galite naudoti komandą Ping

Ping -l 32767 ip_adresas

kur ip_adresas yra tikslinio serverio arba „Snort“ kompiuterio IP adresas. Ši komanda turi siųsti labai ilgą paketą (tikslus ilgis – 32 KB), o tai aiškiai neįprasta Ping komandai. „Snort“ turėtų aptikti šį paketą, kaip matyti iš aštuonių apatinių įspėjimų 4 ekranas .

Jei gaunate įspėjimus, galite pradėti konfigūruoti „Snort“ pagal jūsų konkrečias sąlygas. Priešingu atveju turite grįžti į diegimo procedūrą ir patikrinti, ar kuris nors veiksmas nebuvo praleistas.

4 veiksmas: „Snort“ nustatymas

Pagrindiniai Snort konfigūracijos duomenys saugomi snort.conf faile, kuris pagal numatytuosius nustatymus yra %systemdrive%snortetc kataloge. Failas gali būti paliktas šiame aplanke arba perkeltas į kitą, jei komandinėje eilutėje nurodote programos kelią.

Išsamus visų snort.conf parametrų aprašymas galėtų užpildyti visą žurnalo numerį, nes Snort yra nuostabiai galinga programa. Kol kas mes apsvarstysime tik pagrindinius jo parametrus.

Norėdami atskirti gaunamą srautą nuo išeinančio srauto, turite nurodyti Snort savo įmonės tinklo pagrindinius kompiuterius ir IP adresus. Norint įvesti šią informaciją, snort.conf faile turi būti nustatytas kintamasis HOME_NET. Turėtumėte rasti liniją

Var HOME_NET bet koks

ir pakeiskite jį IP adresų diapazonu. Pavyzdžiui, galite nurodyti vieną diapazoną

Var HOME_NET 192.168.0.1/24

arba keli diapazonai. Nurodydami kelis diapazonus, diapazonų rinkinį turite pateikti laužtiniuose skliaustuose ir kiekvieną diapazoną atskirti kableliu. Negalite įvesti tarpų tarp IP adresų diapazonų. Pavyzdžiui, linija

Var HOME_NET

nurodo Snort, kad potinkliai 10.0.1.0/24, 10.0.2.0/24 ir 10.0.3.0/24 priklauso įmonės tinklui. Pagal numatytuosius nustatymus „Snort“ visus kitus adresus laiko išoriniais. Galite aiškiai nurodyti, kurie tinklai turėtų būti laikomi išoriniais, nustatydami kintamąjį EXTERNAL_NET. Failo snort.config reikia rasti eilutę

Var EXTERNAL_NET bet koks

ir pakeiskite jį tinklo IP adresu, kuris turėtų būti laikomas išoriniu. Tačiau iš pradžių geriausia EXTERNAL_NET kintamąjį palikti bet kurį.

Praleidę šiek tiek laiko galite nustatyti jūsų įmonės turimų serverių tipus ir jų vietas. Ši informacija yra DNS_SERVERS, SMTP_SERVERS, HTTP_SERVERS, SQL_SERVERS ir TELNET_SERVERS kintamuosiuose šiose snort.conf failo eilutėse:

Var DNS_SERVERS $HOME_NET var SMTP_SERVERS $HOME_NET var HTTP_SERVERS $HOME_NET var SQL_SERVERS $HOME_NET var TELNET_SERVERS $HOME_NET var SNMP_SERVERS $HOME_NET

Pagal numatytuosius nustatymus visi šeši serverio kintamieji yra nustatyti į $HOME_NET; tai reiškia, kad Snort stebės visų tipų atakas prieš visas sistemas HOME_NET diapazone. Ši konfigūracija yra gana priimtina mažam tinklui, kurio administratoriai toleruoja tam tikrą skaičių klaidingų įspėjimų. Tačiau norint stebėti intensyvų srautą, patartina tiksliai sureguliuoti „Snort“, kad patikrintumėte tik dalį tam tikrų mazgų parašų. Nėra prasmės apsaugoti žiniatinklio serverį, kuriame veikia tik Microsoft IIS, nuo SQL buferio perpildymo atakų. Norėdami apibrėžti konkrečią pagrindinio kompiuterio klasę, turite pakeisti $HOME_NET tikslinių serverių IP adresų diapazonu pagal formatą, naudojamą HOME_NET kintamajam. Pavyzdžiui, DNS_SERVERS kintamąjį vietoj $HOME_NET turėtumėte pakeisti DNS serverių IP adresų diapazonu.

Derinimo tikslumą galima pagerinti nustatant prievadus, kuriuos serveriai naudoja konkrečioms programoms. Pavyzdžiui, jei žiniatinklio serveriai naudoja specialų 8080 prievadą HTTP srautui, o ne 80 prievadą (šis prievadas paprastai naudojamas žiniatinklio serveriams ir naršyklėms), galite sukonfigūruoti Snort stebėti 8080 prievadą pakeisdami HTTP_PORTS kintamąjį. Snort.conf turėtumėte rasti eilutę

Variklis HTTP_PORTS 80

ir pakeiskite ją linija

Var HTTP_PORTS 8080

Panašiai galite pakeisti „Oracle“ (apibrėžiamas kintamuoju ORACLE_PORTS) ir kitų programų prievadus. Kaip ir HTTP_PORTS kintamasis, ORACLE_PORTS numatytoji vertė yra 80. Jei serveris naudoja 1521 prievadą, eilutė atrodys taip

Var ORACLE_PORTS 1521

Taigi yra daug nustatymų, kuriuos galima sukonfigūruoti snort.conf faile. Turėtumėte peržiūrėti snort.conf, kad surastumėte nustatymus, kurie yra svarbiausi jūsų konkrečiai aplinkai, ir atitinkamai juos sukonfigūruokite.

5 etapas. Taisyklių nustatymas

Vienoje iš snort.conf eilučių yra kintamasis RULE_PATH. Šios eilutės pavyzdys:

Variklis RULE_PATH ../taisyklės

Parinktis ../rules nurodo, kad taisykles (t. y. parašus) galima rasti taisyklių kataloge, kuris yra tame pačiame lygyje kaip ir Snort dvejetainiai failai katalogų struktūroje. Pavyzdžiui, jei „Snort“ įdiegiate bendrame aplanke F:snort, „Snort“ dvejetainiai failai yra F:snortin, o taisyklės – F:snort ules. Jei norite, galite pakeisti kintamąjį RULE_PATH, tačiau numatytoji parinktis tinka.

Taisyklės yra „Snort“ pagrindas. Tai yra baitų, atakos parašų ir kitų tipų duomenų sekos, kurias aptikus generuojamas įspėjimas. „Snort“ turi daugiau nei 1500 paruoštų parašų.

Kaip atrodo taisyklė? Cmd.exe taisyklė, kuri buvo pažeista atliekant Snort testą, atrodo taip: alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"WEB-IIS cmd.exe prieiga"; srautas: į serverį, nustatytas; turinys: " cmd.exe"; classtype:web-application-attack; sid:1002;). Pažvelkime į pagrindinius taisyklės komponentus. $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS nuoroda nurodo, kad turi būti analizuojamas tik srautas, patenkantis į tinklą iš išorės (kaip apibrėžta EXTERNAL_NET kintamuoju). Parametras Content: nurodo cmd.exe simbolių sekos paiešką duomenų sraute. Kai „Snort“ aptinka tokią seką, jis generuoja įspėjimą, nurodytą parametru msg:.

Kaip matote iš cmd.exe pavyzdžio, taisyklės dažniausiai yra paprastos. Galite sukurti savo taisykles bet kokio tipo srautui. Pavyzdžiui, jei norite aptikti neteisėtus bandymus nuotoliniu būdu pasiekti įrenginio katalogą naudodami komandų interpretatorių, galite ieškoti disko tomo arba tomo serijos numerio prievaduose, kuriuose jie retai randami, pvz., išeinančiuose prievaduose. Dėl lankstaus požiūrio į taisyklių priskyrimą administratoriams suteikiamos plačios „Snort“ konfigūracijos parinktys.

1500 „Snort“ taisyklių yra saugomos skirtinguose failuose, atsižvelgiant į analizuojamų duomenų tipus. Pavyzdžiui, cmd.exe taisyklė yra faile web-iis.rules. Jei įmonė nenaudoja IIS, programai nereikia aptikti IIS atakų. Failą web-iis.rules galima lengvai pašalinti iš konfigūracijos suradus ir pakomentavus eilutę

Įtraukti $RULE_PATH/web-iis.rules

snort.conf faile. Norėdami eilutę paversti komentaru, prieš ją įrašykite simbolį (#):

# apima $RULE_PATH/web-iis.rules

Pagal numatytuosius nustatymus kai kurie taisyklių failų tipai (pavyzdžiui, icmp-info.rules, chat.rules) pateikiami komentarais snort.conf. Numatytoji snort.conf taisyklių konfigūracija yra gana gera. Suaktyvinus užblokuotas taisykles, programa dažniausiai sugeneruoja daug nereikalingų įspėjimų.

Kai kuriuose failuose yra daug naudingų taisyklių, tačiau kelios taisyklės sukuria per daug nereikalingų įspėjimų. Norėdami išjungti tam tikrą taisyklę, turite pažymėti atitinkamą eilutę taisyklių faile kaip komentarą. Ateityje „Snort“ nepaisys šios taisyklės dirbdama su failu.

Atsiradus naujiems grėsmės šaltiniams, taisyklių failas turi būti atnaujintas. Geriausias naujų taisyklių šaltinis yra Snort.org. Šioje svetainėje nėra automatinio atnaujinimo paslaugos, todėl administratorius turės reguliariai tikrinti, ar nėra naujinimų, kai iškils nauja grėsmė.

6 veiksmas: sukonfigūruokite įspėjimus ir žurnalus

Kaip minėta, „Snort“ teikia informacijos įrašymą „MySQL“, „SQL Server“, „Oracle“ ir su ODBC suderinamose duomenų bazėse. Tiesiog „Snort“ diegimo proceso metu pasirinkite tinkamą duomenų bazės tipą. Kad nebūtų per daug ilgesnis straipsnis, apsvarstysime standartinius registravimo režimus naudodami tekstinį failą ir pranešimų rašymo į „Windows“ įvykių žurnalą funkciją.

Kai paleidžiate NIDS naudojant komandą Snort, konsolės jungiklis -A ekrane rodomi įspėjimai. Norėdami persiųsti pranešimus į tekstinį failą, turėtumėte pakeisti šį jungiklį į -A greitas arba -A pilnas, atsižvelgiant į pageidaujamą registravimo režimą. Visas parametras rodo išsamų grėsmės aprašymą keliose tekstinio failo, pavadinto alerts.ids, eilutėse kataloge, kurio kelias nurodomas jungikliu -l. Šio tipo registravimas pateikia išsamią informaciją, tačiau gali būti sunku suprasti, jei tinkle registruojama daug įvykių. Tokiuose „triukšminguose“ tinkluose rekomenduojama naudoti greitąjį režimą, kad į alerts.ids būtų įtraukti vienos eilutės įrašai, kuriuose yra pagrindinės įtartino srauto charakteristikos. Mano nuomone, dirbti su tekstiniu failu greituoju režimu yra lengviau nei visu režimu.

Dabartinė „Snort“ versija leidžia prisijungti prie „Windows“ įvykių žurnalo. Daugelis organizacijų jau įsigijo centralizuotus įvykių stebėjimo, registravimo ir duomenų rinkimo įrankius, todėl ši funkcija puikiai papildytų Windows aplinką.

Norėdami įrašyti įspėjimus į sistemos, kurioje veikia „Snort“, programos įvykių žurnalą, naudokite jungiklį -E, o ne jungiklį -A (parametrai neprivalomi). 5 paveiksle parodyta, kaip atrodo programos žurnale paskelbtas Snort įvykis (šiuo atveju bandymas pasiekti cmd.exe). „Windows“ įvykis pateikia tokią pat išsamią informaciją kaip ir konsolės ekrane.

NIDS yra nenaudingas, jei administratorius kartą per savaitę peržiūri įvykių žurnalus (arba teksto žurnalus). Jei kas nors nutinka tinkle, administratorius turi apie tai nedelsdamas žinoti. Centralizuota stebėjimo ir įvykių apdorojimo sistema gali siųsti pranešimus el. paštu, pranešimų gavikliu ir kitais ryšio įrenginiais. Bet jei tokios sistemos nėra, tai nekelia nerimo. NETIKUS.NET siūlo nemokamą EventSentry Light paketą, kurį galima naudoti įspėjimams siųsti.

EventSentry Light yra bandomoji EventSentry versija, kurią galima atsisiųsti iš http://www.netikus.net/products_downloads.html. Naudodami EventSentry Light galite sukonfigūruoti savo sistemą stebėti įvykių žurnalus ir automatiškai siųsti išsamius el. pašto pranešimus apie visus žurnale įrašytus Snort įvykius. Įjungta 6 ekranas rodo el. laišką apie bandymus užpulti cmd.exe. Šį pranešimą iš EventSentry Light gavau praėjus kelioms sekundėms po atakos.

Kaip minėta pirmiau, „Snort“ paprastai generuoja daugybę nereikalingų pranešimų, kurie greitai užpildo įvykių žurnalus. Tai reikia atsiminti renkantis įvykių žurnalų failų dydžius ir kaip juos pasukti. Kad „EventSentry Light“ neužpildytų jūsų gautųjų pranešimų apie nedidelius įvykius, galite sukurti filtrą raktų eilučių paieškai. Pavyzdžiui, žinučių tekste suorganizavau paieškos filtrą.

7 veiksmas: paleiskite kaip paslaugą

Baigę galite paleisti „Snort“ kaip paslaugą, o ne kiekvieną kartą, kai norite paleisti programą, prisijungti prie stalinio kompiuterio. Jei paleidžiate „Snort“ naudodami parinktis /SERVICE ir /INSTALL (kartu su kitomis komandų eilutės parinktimis), „Snort“ yra sukonfigūruotas veikti kaip „Windows“ paslauga ir automatiškai paleidžiamas naudojant „Windows“ be vartotojo įsikišimo.

Kitas lygis: išplėtimo moduliai

„Snort“ yra visapusiška programa. Tačiau kai kuriais atvejais programą reikia išplėsti. Pavyzdžiui, jei kelios NIDS yra įdiegtos skirtingose ​​tinklo dalyse, Snort patogu valdyti iš grafinės sąsajos. Tokios galimybės įdiegtos IDScenter plėtinių moduliuose iš Engage Security ir IDS Policy Manager iš Activeworx. Kartais reikia išanalizuoti žinutėse esančią informaciją. Galite peržiūrėti ir analizuoti saugomus duomenis naudodami „Analysis Console for Intrusion Databases“ (ACID) modulį, sukurtą Carnegie Mellon universitete.

Patikima apsauga

„Snort“ yra visapusiška programa, kuri nepakenks įmonės biudžetui. Sujungę Snort su galinga įvykių stebėjimo programa, tokia kaip EventSentry Light, galite aktyviai užkirsti kelią atakoms prieš jūsų tinklą.

RUSIJOS FEDERACIJOS ŠVIETIMO IR MOKSLO MINISTERIJA

Valstybinė aukštojo profesinio mokymo įstaiga

"SANKT PETERBURGO VALSTYBINIS UNIVERSITETAS
AROKOSTRAVIMO INSTRUMENTŲ INŽINERIJA"

KURSINIS DARBAS (PROJEKTAS)
APSAUGOTA SU ĮVERTINTA PUIKIAI

PRIEŽIŪRA

Docentas, mokslų daktaras, docentas

pareigas, akademinis laipsnis, rangas

parašas, data

inicialai, pavardė

KURSINIO DARBO (PROJEKTO) AIŠKINAMASIS RAŠTAS

Praktikuokite naudodami IDS SNORT

disciplina: inžinerija ir techninė informacijos sauga

DARBAS BAIGTA)

STUDENTAS(KA) GR.

parašas, data

inicialai, pavardė

Sankt Peterburgas 2011 m

1.. Kas yra Snort?. 2

2. Sniffer režimas: 2

3. Paketų registravimo režimas. 6

4. Tinklo įsilaužimo aptikimo režimas. 6

1. Kas yra Snort?

Snort yra lengva įsilaužimo aptikimo sistema. Snort paprastai vadinamas „lengvu“ NIDS / iššifruoja, išverčia / - nes jis pirmiausia skirtas mažiems tinklams. Programa gali atlikti protokolo analizę ir gali būti naudojama aptikti įvairias atakas.

„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.

Snort gali veikti 3 pagrindiniais režimais:

· Sniffer režimas: leidžia tiesiog pagauti paketus iš tinklo ir rodyti juos ekrane (dažniausiai konsolėje)

· Paketų registravimo režimas: leidžia išsaugoti paketus standžiajame diske


· Įsibrovimų aptikimo sistemos (NIDS) režimas yra sudėtingiausia ir labiausiai pritaikoma konfigūracija, leidžianti analizuoti tinklo srautą pagal vartotojo apibrėžtą taisyklių rinkinį.

2. Sniffer režimas:

Paketų uostymo režimu Snort tiesiog nuskaito iš tinklo gaunamus paketus ir parodo juos ekrane. Norėdami rodyti TCP/IP paketų antraštes, turite paleisti:

niurzgėti –v

Ši komanda rodo IP ir TCP/UDP/ICMP paketų antraštes. Matote, iš kur, kur, į kiek /adresų?/ buvo išsiųsti paketai. Paveikslas / brėžiniai turi būti sunumeruoti, kad būtų nuoroda. Nėra nuorodos - tai reiškia, kad paveikslėlis nereikalingas / aišku, kad yra du išeinantys adresai / iš kur ją galite pamatyti? Iššifruokite paveikslo įrašų formatus arba bent jau nurodykite eilutės numerį /

Norėdami suprasti, kas yra šie adresai, tiesiog paleiskite komandą

sistemos informacija


Iš momentinės nuotraukos /jau – momentinės nuotraukos. o ne piešiniai? Dokumente turi būti išlaikytas vienodumas! O gal tai kažkas kita?/ Pasidaro aišku, kas tai yra išeinantys adresai. /na, išvardink – ar bent jau nurodyk. kad jų numeriai pateikti laužtiniuose skliaustuose/

Norėdami matyti pakuotėse esančius duomenis, turite įvesti:

snort-vd

https://pandia.ru/text/78/320/images/image004_112.jpg" alt=" detail_output.jpg" width="589" height="338">!}

Jungikliai gali būti pateikti bet kokia forma, pavyzdžiui: "snort - vde", "snort - d - ev" ir "snort - e - v -d".

„Snort“ ir toliau rinks informaciją, kol ji bus nutraukta. Norėdami užbaigti paketų fiksavimą, turite paspausti Ctrl-C. Paspaudus Ctrl-C, bus rodoma užfiksuotų paketų ataskaita. Toliau pateikiama ataskaita po maždaug minutės paleidimo „Snort“.

Iš momentinės nuotraukos matote, kad dauguma analizuojamų paketų yra TCP/IP paketai. Taip pat buvo užfiksuoti UDP paketai.

3. Paketų registravimo režimas

Paketų registravimo režimas leidžia įrašyti informacijos srautą į diską. Tai naudinga atliekant analizę per tam tikrą laikotarpį arba tikrinant, ar nėra pakeitimų nustatymuose ir saugos strategijose.
Turite sukurti ir nurodyti žurnalų katalogą, o „Snort“ automatiškai persijungs į paketų registravimo režimą.

Pavyzdys: sukurti katalogą rąstų ir paleisti:

snort - dev - l../log

Dėl operacijos /kur, kur jo ieškoti, kaip nurodyti norimą vietą?/ failas šnabžda. log.. Naujų failų pavadinimų pabaigoje esantys skaičiai yra laiko žymos, kurios padeda išvengti konfliktų kuriant failus. /pageidautinas žurnalo failo pavyzdys/

4. Tinklo įsilaužimo aptikimo režimas

Trečiasis „Snort“ režimas yra tinklo įsibrovimo aptikimo (NIDS) režimas.

Pagrindinė „Snort“ taisyklė /kur jie saugomi?/ susideda iš dviejų dalių: antraštės ir parametrų. Žemiau yra taisyklės pavyzdys.

alert tcp any any -> any any (turinys: "www."; msg: "Kažkas dabar lankosi "YouTube"; sid:1000002; rev:1)

Ar taisyklės struktūros modelis gali būti pavaizduotas, ar jis gali būti pakeistas? tikimės, kad elementai laužtiniuose skliaustuose yra neprivalomi. žinomas. Bet ar tarp jų yra specialūs skyrikliai / pagal šią schemą:

<действие_правила> <протокол> <порт> <оператор_направления>


<порт>([meta_duomenys] [package_contents_data]

[duomenys_antraštėje] [action_after_detection])

Taisyklių veiksmai skirstomi į šias kategorijas:

1. budrus - Sukurkite įspėjimą pasirinktu būdu ir praneškite informaciją registravimo sistemai.

2. žurnalas - Pakuotės informacijai įrašyti naudokite registravimo sistemą.

3. praeiti - Nepaisykite pakuotės.

4. aktyvuoti - Naudokite kitą dinaminę taisyklę.

5. dinamiškas - Įvykdžius aktyvią taisyklę, suaktyvinama taisyklė su registravimo procedūra.

6. lašas - Išmeskite paketą naudodami programinės įrangos užkardą ir praneškite informaciją registravimo sistemai

7. sdrop - Išmeskite paketą naudodami programinės įrangos užkardą ir nenaudokite registravimo sistemos.

8. atmesti - Naudodami ugniasienę, išmeskite paketą, jei protokolas yra TCP, arba parašykite pranešimą į žurnalo failą: ICMP prievadas nepasiekiamas, jei paketas gaunamas per UDP protokolą

Antroji „Snort“ taisyklės dalis yra parinktys, nurodančios papildomą aptikto srauto informaciją. Galite ieškoti pagal laukų rinkinį TCP/ antraštėje arba pagal paketo naudingumą. Po kiekvienos parinkties turi būti rašomos kabutės ir ieškoma vertė. Galite pridėti kelias parinktis, atskirdami jas kabliataškiu. Toliau pateikiamos tinkamos parinktys.

sid – unikali etiketė, identifikuojanti taisyklę. Ši parinktis turi būti naudojama kartu su parinktimi rev .

<100 зарезервировано для дальнейшего использования

100-999 999 jau rezervuotos taisyklės

>=1 000 000 vartotojo nustatytų taisyklių

rev- taisyklės versijos vertė. Naudojant rev taisyklių interpretatorių

Snort nustato rašytinės taisyklės versiją.

Galite paleisti „Snort“ IDS režimu naudodami komandą:

snort - c "D:\Program Files\Snort\etc\snort. conf" - l "D:\Program Files\Snort\log" - Konsolė - i 1

Raktas -Su reiškia, kad įjungtas IDS režimas

Raktas l įjungia įrašymo režimą į standųjį diską, nurodant kelią į failą

Raktas A rodo, kad visi įspėjimai (perspėjimai) bus dubliuojami naudojant konsolės išvestį

Raktas i nurodo mus dominančios sąsajos indekso numerį

Norėdami sužinoti palaikomas sąsajas, turite paleisti komandą:

niurnėti W

Failo turinys niurnėti. konf

Failo turinys *****les:

Byloje niurktelėti. conf galite susieti taisykles naudodami raktinį žodį įtraukti .

Komandos rezultatas:

Galima pastebėti, kad „Snort“ aptiko bandymą patekti į „pavojingą“ vietą.

Nėra informacijos apie šaltinį, iš kurio buvo paimtas platinimas, arba apie OS, kurioje buvo atliktas tyrimas

Apskritai darbas yra labai įdomus. /