Ažurirajte, nadogradite i ponovno pokrenite
Konfiguracija prije instalacije
Instaliranje knjižnice za prikupljanje podataka (DAQ)
Instaliranje Snort-a
Un-rooting Snort
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.