Kako konfigurirati Snort na Debianu

Snort je besplatni sustav za otkrivanje upada u mrežu (IDS). U manje službenim terminima, omogućuje vam da u stvarnom vremenu nadzirete svoju mrežu u potrazi za sumnjivim aktivnostima . Trenutno, Snort ima pakete za Fedora, CentOS, FreeBSD i Windows sustave. Točan način instalacije razlikuje se od OS-a. U ovom vodiču ćemo instalirati izravno iz izvornih datoteka za Snort. Ovaj vodič je napisan za Debian.

Ažurirajte, nadogradite i ponovno pokrenite

Prije nego što se zapravo dočepamo izvora Snort-a, moramo se uvjeriti da je naš sustav ažuriran. To možemo učiniti izdavanjem naredbi u nastavku.

sudo apt-get update
sudo apt-get upgrade -y
sudo reboot

Konfiguracija prije instalacije

Nakon što se vaš sustav ponovno pokrene, moramo instalirati nekoliko paketa kako bismo bili sigurni da možemo instalirati SBPP. Uspio sam shvatiti da su potrebni brojni paketi, tako da je osnovna naredba ispod.

sudo apt-get install flex bison build-essential checkinstall libpcap-dev libnet1-dev libpcre3-dev libnetfilter-queue-dev iptables-dev libdumbnet-dev zlib1g-dev -y

Nakon što su svi paketi instalirani, morat ćete stvoriti privremeni direktorij za svoje izvorne datoteke - one mogu biti gdje god želite. Ja ću koristiti /usr/src/snort_src. Da biste stvorili ovu mapu, morat ćete biti prijavljeni kao rootkorisnik ili imati sudodopuštenja - rootsamo to olakšava.

sudo mkdir /usr/src/snort_src
cd /usr/src/snort_src

Instaliranje knjižnice za prikupljanje podataka (DAQ)

Prije nego što dobijemo izvor za Snort, moramo instalirati DAQ. Prilično je jednostavan za instalaciju.

wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz

Izvadite datoteke iz tarball-a.

tar xvfz daq-2.0.6.tar.gz

Promijenite u DAQ imenik.

cd daq-2.0.6

Konfigurirajte i instalirajte DAQ.

./configure; make; sudo make install

Taj zadnji redak će se ./configureprvi izvršiti . Tada će se izvršiti make. Konačno, izvršit će se make install. Ovdje koristimo kraću sintaksu samo da bismo malo uštedjeli na tipkanju.

Instaliranje Snort-a

Želimo se uvjeriti da smo /usr/src/snort_srcponovno u imeniku, stoga se svakako promijenite u taj direktorij sa:

cd /usr/src/snort_src

Sada kada smo u direktoriju za izvore, preuzet ćemo tar.gzdatoteku za izvor. U vrijeme pisanja ovog teksta, najnovija verzija Snort-a je 2.9.8.0.

wget https://www.snort.org/downloads/snort/snort-2.9.8.0.tar.gz

Naredbe za stvarno instaliranje snort-a vrlo su slične onima koje se koriste za DAQ, ali imaju različite opcije.

Ekstrahirajte izvorne datoteke Snort-a.

tar xvfz snort-2.9.8.0.tar.gz

Promijenite u izvorni direktorij.

cd snort-2.9.8.0

Konfigurirajte i instalirajte izvore.

 ./configure --enable-sourcefire; make; sudo make install

Nakon instalacije Snort-a

Nakon što instaliramo Snort, moramo biti sigurni da su naše zajedničke knjižnice ažurne. To možemo učiniti pomoću naredbe:

sudo ldconfig

Nakon što to učinimo, testirajte svoju Snort instalaciju:

snort --version

Ako ova naredba ne radi, morat ćete stvoriti simboličku vezu. To možete učiniti tako da upišete:

sudo ln -s /usr/local/bin/snort /usr/sbin/snort
snort --version

Rezultat će biti sličan sljedećem:

   ,,_     -*> Snort! <*-
  o"  )~   Version 2.9.7.5 GRE (Build 262)
   ''''    By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
           Copyright (C) 2014-2015 Cisco and/or its affiliates. All rights reserved.
           Copyright (C) 1998-2013 Sourcefire, Inc., et al.
           Using libpcap version 1.6.2
           Using PCRE version: 8.35 2014-04-04
           Using ZLIB version: 1.2.8

Un-rooting Snort

Sada kada smo instalirali snort, ne želimo da radi kao root, stoga moramo stvoriti snortkorisnika i grupu. Za kreiranje novog korisnika i grupe možemo koristiti ove dvije naredbe:

sudo groupadd snort
sudo useradd snort -r -s /sbin/nologin -c SNORT_IDS -g snort

Budući da smo program instalirali koristeći izvor, moramo kreirati konfiguracijske datoteke i pravila za snort.

sudo mkdir /etc/snort
sudo mkdir /etc/snort/rules
sudo mkdir /etc/snort/preproc_rules
sudo touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules /etc/snort/rules/local.rules

Nakon što stvorimo direktorije i pravila, sada trebamo kreirati direktorij dnevnika.

sudo mkdir /var/log/snort

I na kraju, prije nego što možemo dodati bilo koje pravilo, potrebno nam je mjesto za pohranu dinamičkih pravila.

sudo mkdir /usr/local/lib/snort_dynamicrules

Nakon što su sve prethodne datoteke stvorene, postavite odgovarajuća dopuštenja za njih.

sudo chmod -R 5775 /etc/snort
sudo chmod -R 5775 /var/log/snort
sudo chmod -R 5775 /usr/local/lib/snort_dynamicrules
sudo chown -R snort:snort /etc/snort
sudo chown -R snort:snort /var/log/snort
sudo chown -R snort:snort /usr/local/lib/snort_dynamicrules

Postavljanje konfiguracijskih datoteka

Kako biste uštedjeli hrpu vremena i spriječili kopiranje i lijepljenje svega, dopustite jednostavno kopirati sve datoteke u konfiguracijski direktorij.

sudo cp /usr/src/snort_src/snort*/etc/*.conf* /etc/snort
sudo cp /usr/src/snort_src/snort*/etc/*.map /etc/snort

Sada kada su konfiguracijske datoteke tu, možete učiniti jednu od dvije stvari:

  • Možete omogućiti Barnyard2
  • Ili možete jednostavno ostaviti konfiguracijske datoteke na miru i selektivno omogućiti željena pravila.

U svakom slučaju, i dalje ćete htjeti promijeniti nekoliko stvari. Nastavi čitati.

Konfiguracija

U /etc/snort/snort.confdatoteci ćete morati promijeniti varijablu HOME_NET. Trebao bi biti postavljen na IP blok vaše interne mreže kako ne bi bilježio pokušaje vaše vlastite mreže da se prijavi na poslužitelj. Ovo može biti 10.0.0.0/24ili 192.168.0.0/16. U retku 45 /etc/snort/snort.confpromijenite varijablu HOME_NETna tu vrijednost IP bloka vaše mreže.

Na mojoj mreži to izgleda ovako:

ipvar HOME_NET 192.168.0.0/16

Zatim ćete morati postaviti EXTERNAL_NETvarijablu na:

any

Što se jednostavno pretvara EXERNAL_NETu ono što HOME_NETniste.

Postavljanje pravila

Sada kada je velika većina sustava postavljena, moramo konfigurirati naša pravila za ovog malog prasića. Negdje oko linija 104 u svom /etc/snort/snort.confdatoteke, trebali biste vidjeti „var” deklaracija i varijable RULE_PATH, SO_RULE_PATH, PREPROC_RULE_PATH, WHITE_LIST_PATH, i BLACK_LIST_PATH. Njihove vrijednosti trebale bi biti postavljene na staze koje smo koristili u Un-rooting Snort.

var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules
var WHITE_LIST_PATH /etc/snort/rules
var BLACK_LIST_PATH /etc/snort/rules

Nakon što su te vrijednosti postavljene, izbrišite ili komentirajte trenutna pravila počevši otprilike od retka 548.

Sada provjerimo je li vaša konfiguracija ispravna. Možete to provjeriti sa snort.

 # snort -T -c /etc/snort/snort.conf

Vidjet ćete izlaz sličan sljedećem (skraćen radi kratkoće).

 Running in Test mode

         --== Initializing Snort ==--
 Initializing Output Plugins!
 Initializing Preprocessors!
 Initializing Plug-ins!
 .....
 Rule application order: activation->dynamic->pass->drop->sdrop->reject->alert->log
 Verifying Preprocessor Configurations!

         --== Initialization Complete ==--

    ,,_     -*> Snort! <*-
   o"  )~   Version 2.9.8.0 GRE (Build 229) 
    ''''    By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
            Copyright (C) 2014-2015 Cisco and/or its affiliates. All rights reserved.
            Copyright (C) 1998-2013 Sourcefire, Inc., et al.
            Using libpcap version 1.7.4
            Using PCRE version: 8.35 2014-04-04
            Using ZLIB version: 1.2.8

            Rules Engine: SF_SNORT_DETECTION_ENGINE  Version 2.4  <Build 1>
            Preprocessor Object: SF_IMAP  Version 1.0  <Build 1>
            Preprocessor Object: SF_FTPTELNET  Version 1.2  <Build 13>
            Preprocessor Object: SF_SIP  Version 1.1  <Build 1>
            Preprocessor Object: SF_REPUTATION  Version 1.1  <Build 1>
            Preprocessor Object: SF_POP  Version 1.0  <Build 1>
            Preprocessor Object: SF_DCERPC2  Version 1.0  <Build 3>
            Preprocessor Object: SF_SDF  Version 1.1  <Build 1>
            Preprocessor Object: SF_GTP  Version 1.1  <Build 1>
            Preprocessor Object: SF_DNS  Version 1.1  <Build 4>
            Preprocessor Object: SF_SSH  Version 1.1  <Build 3>
            Preprocessor Object: SF_DNP3  Version 1.1  <Build 1>
            Preprocessor Object: SF_SSLPP  Version 1.1  <Build 4>
            Preprocessor Object: SF_SMTP  Version 1.1  <Build 9>
            Preprocessor Object: SF_MODBUS  Version 1.1  <Build 1>

 Snort successfully validated the configuration!
 Snort exiting

Sada kada je sve konfigurirano bez grešaka, spremni smo za početak testiranja Snort-a.

Testiranje Snort

Najlakši način za testiranje Snort je omogućavanje local.rules. Ovo je datoteka koja sadrži vaša prilagođena pravila.

Ako ste primijetili u snort.confdatoteci, negdje oko retka 546, postoji ovaj redak:

include $RULE_PATH/local.rules

Ako ga nemate, dodajte ga oko 546. Zatim možete koristiti local.rulesdatoteku za testiranje. Kao osnovni test, samo imam Snort da prati ping zahtjev (ICMP zahtjev). To možete učiniti dodavanjem sljedećeg retka u svoju local.rulesdatoteku.

 alert icmp any any -> $HOME_NET any (msg:"ICMP test"; sid:10000001; rev:001;)

Nakon što ga imate u svojoj datoteci, spremite ga i nastavite čitati.

Pokrenite test

Sljedeća naredba će pokrenuti Snort i ispisati upozorenja "brzog načina rada", dok korisnik šmrka, pod grupnim snortom, koristeći config /etc/snort/snort.conf, i slušat će na mrežnom sučelju eno1. Morat ćete prijeći na eno1bilo koje mrežno sučelje koje vaš sustav sluša.

$ sudo /usr/local/bin/snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eno1

Nakon što ga pokrenete, pingirajte to računalo. Počet ćete vidjeti izlaz koji izgleda ovako:

01/07−16:03:30.611173 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.105 -> 192.168.1.104
01/07−16:03:31.612174 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.104 -> 192.168.1.105
01/07−16:03:31.612202 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.105 -> 192.168.1.104
^C*** Caught Int−Signal

Možete pritisnuti Ctrl+C za izlaz iz programa i to je to. Snort je spreman. Sada možete koristiti bilo koja pravila koja želite.

Na kraju, želim napomenuti da postoje neka javna pravila koja je izradila zajednica koja možete preuzeti sa službene stranice pod karticom "Zajednica". Potražite "Snort", a zatim ispod toga nalazi se poveznica zajednice. Preuzmite to, raspakirajte i potražite community.rulesdatoteku.

Ostavite komentar

Uspon strojeva: primjene AI u stvarnom svijetu

Uspon strojeva: primjene AI u stvarnom svijetu

Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.

DDOS napadi: kratak pregled

DDOS napadi: kratak pregled

Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.

Evolucija pohrane podataka – Infografika

Evolucija pohrane podataka – Infografika

Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više