Snort - Ubuntu 14.04: Difference between revisions

From ICO wiki
Jump to navigationJump to search
mNo edit summary
mNo edit summary
Line 1: Line 1:
== Sissejuhatus ==
== Sissejuhatus ==


Snort on tasuta vabavaraline võrgu sissetungi vältimise süsteem ja võrgu sissetungi avastamise süsteem,mis on loodud Martin Roesch´i poolt 1998. aastal. Snorti vabavaralisel võrgupõhisel sissetungi avastamise süsteemil on võime teostada reaalajas liikluse analüüsi ja pakettide logimist IP võrkudes. Snort teostab protokolli analüüsi, sisu otsimist ja sisu vastavust.
Snort on tasuta vabavaraline võrgu sissetungi vältimise süsteem ja võrgu sissetungi avastamise süsteem, mis on loodud Martin Roesch´i poolt 1998. aastal. Snort´i vabavaralisel võrgupõhisel sissetungi avastamise süsteemil on võime teostada reaalajas liikluse analüüsi ja pakettide logimist IP võrkudes. Snort teostab protokolli analüüsi, sisu otsimist ja sisu vastavuse kontrolli.


Programmi saab samuti kasutada, et avastada sonde või rünnakuid, kaasa arvatud operatsioonisüsteemi sõrmejälgede katseid,  
Programmi saab samuti kasutada, et avastada sonde või rünnakuid, kaasa arvatud operatsioonisüsteemi sõrmejälgede katseid,  
Line 14: Line 14:


[http://computer-outlines.over-blog.com/article-nids-snort-barnyard2-apache2-base-with-ubuntu-14-04-lts-123532107.html]
[http://computer-outlines.over-blog.com/article-nids-snort-barnyard2-apache2-base-with-ubuntu-14-04-lts-123532107.html]
Siin juhendis teeme kõike sudo õigustes, selleks tuleb sisestada:
'''NB: Siin juhendis teeme kõike sudo õigustes, selleks tuleb sisestada:'''


<pre> sudo -i </pre>
<pre> sudo -i </pre>


Esmalt tuleb teha tavaline apt-get update/upgrade:
*Esmalt tuleb teha tavaline apt-get update/upgrade:


<pre> apt-get update </pre>
<pre> apt-get update </pre>
Line 24: Line 24:
<pre> apt-get upgrade </pre>
<pre> apt-get upgrade </pre>


ning peale seda installeerime snort´i:
*ning peale seda installeerime snort´i:


<pre> apt-get install snort </pre>
<pre> apt-get install snort </pre>


Snort´i installatsiooni ajal peab kirjutama enda koduvõrgu ehk kaitstud alamvõrgu:
*Snort´i installatsiooni ajal peab kirjutama enda koduvõrgu ehk kaitstud alamvõrgu:


<pre> 192.168.56.0/24 </pre>
<pre> 192.168.56.0/24 </pre>


Seejärel peab muutma snort.conf faili:
*Seejärel peab muutma snort.conf faili:


<pre> nano /etc/snort/snort.conf </pre>
<pre> nano /etc/snort/snort.conf </pre>
Line 38: Line 38:
NB: '''Selleks, et minna mingile kindlale reale nano-s, tuleb kasutada CTRL + W ja siis CTRL + T ning kirjutada vastav reanumber.'''
NB: '''Selleks, et minna mingile kindlale reale nano-s, tuleb kasutada CTRL + W ja siis CTRL + T ning kirjutada vastav reanumber.'''


Muudame rida 51:
*Muudame rida 51:


<pre> ipvar HOME_NET 192.168.56.0/24 </pre>
<pre> ipvar HOME_NET 192.168.56.0/24 </pre>


ning rida 536:
*ning rida 536:


<pre> output unified2: filename snort.log, limit 128, mpls_event_types, vlan_event_types </pre>
<pre> output unified2: filename snort.log, limit 128, mpls_event_types, vlan_event_types </pre>


Peale seda taaskäivitame snort´i:
*Peale seda taaskäivitame snort´i:


<pre> service snort restart </pre>
<pre> service snort restart </pre>


Eemaldame eelmised logikirjed:
*Eemaldame eelmised logikirjed:


<pre> rm /var/log/snort/snort.log </pre>
<pre> rm /var/log/snort/snort.log </pre>


Muudame /etc/snort/rules/local.rules faili:
*Muudame /etc/snort/rules/local.rules faili:


<pre> nano /etc/snort/rules/local.rules </pre>
<pre> nano /etc/snort/rules/local.rules </pre>


lisame sinna kaks reeglit testimise eesmärgil:
*lisame sinna kaks reeglit testimise eesmärgil:


<pre>alert icmp any any -> $HOME_NET any (msg:"ICMP Test NOW!!!"; classtype:not-suspicious; sid:1000001; rev:1;)  
<pre>alert icmp any any -> $HOME_NET any (msg:"ICMP Test NOW!!!"; classtype:not-suspicious; sid:1000001; rev:1;)  
Line 65: Line 65:
== Snort testimine ==
== Snort testimine ==


Testime snort´i:
*Testime snort´i:


<pre> snort -i eth1 -v </pre>
<pre> snort -i eth1 -v </pre>
Line 71: Line 71:
NB: '''CTRL + C, et peatada testimine.'''
NB: '''CTRL + C, et peatada testimine.'''


Seejärel teeme konfiguratsiooni laadimise testi:
*Seejärel teeme konfiguratsiooni laadimise testi:


<pre>  snort -A console -u snort -g snort -c /etc/snort/snort.conf -i eth1 -T </pre>
<pre>  snort -A console -u snort -g snort -c /etc/snort/snort.conf -i eth1 -T </pre>


Käivitame snort´i otse hoiatuste konsoolirežiimis(kui serverit nüüd pingida, peaksid ilmuma hoiatused):
*Käivitame snort´i otse hoiatuste konsoolirežiimis(kui serverit nüüd pingida, peaksid ilmuma hoiatused):


<pre> snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth1 </pre>
<pre> snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth1 </pre>
Line 81: Line 81:
== Barnyard2 seadistamine ==
== Barnyard2 seadistamine ==


Esmalt me installeerime komilatsiooni sõltuvused ja barnyard2 sõltuvused:
*Esmalt me installeerime kompilatsiooni sõltuvused ja barnyard2 sõltuvused:


<pre> apt-get install autoconf </pre>
<pre> apt-get install autoconf </pre>
Line 88: Line 88:
<pre> apt-get install libmysqlclient-dev </pre>
<pre> apt-get install libmysqlclient-dev </pre>
<pre> apt-get install libdumbnet-dev </pre>
<pre> apt-get install libdumbnet-dev </pre>
<pre> apt-get install libdaq-dev </pre> [http://packages.ubuntu.com/precise/amd64/libdaq-dev/filelist]
[http://packages.ubuntu.com/precise/amd64/libdaq-dev/filelist]
<pre> apt-get install libdaq-dev </pre>


Tuleb teha ka nimeviit:
*Tuleb teha ka nimeviit:


<pre> ln -s /usr/include/dumbnet.h /usr/include/dnet.h </pre>
<pre> ln -s /usr/include/dumbnet.h /usr/include/dnet.h </pre>


Seejärel installeerime barnyard2´e:
*Seejärel installeerime barnyard2´e:


<pre> cd /usr/src </pre>
<pre> cd /usr/src </pre>
Line 108: Line 109:
<pre> mkdir /var/log/barnyard2 </pre>
<pre> mkdir /var/log/barnyard2 </pre>


Muudame Barnyard2.conf faili:
*Muudame Barnyard2.conf faili:


<pre> nano /etc/snort/barnyard2.conf </pre>
<pre> nano /etc/snort/barnyard2.conf </pre>


Muudame rida 226:
*Muudame rida 226:


<pre> output alert_fast </pre>
<pre> output alert_fast </pre>


Muudame rida 347, selleks kustutame kommentaari märgi ära ning muudame parooli:
*Muudame rida 347, selleks kustutame kommentaari märgi ära ning muudame parooli:


<pre> output database: log, mysql, user=snort password=sinuvalitudparool dbname=snort host=localhost </pre>
<pre> output database: log, mysql, user=snort password=sinuvalitudparool dbname=snort host=localhost </pre>
Line 122: Line 123:
== MySql seadistamine ==
== MySql seadistamine ==


Installeerime MySqli serveri:
*Installeerime MySqli serveri:


<pre> apt-get install mysql-server </pre>
<pre> apt-get install mysql-server </pre>


Installatsiooni käigus küsitakse Mysql´i serveri parooli, tuleb sisestada:
*Installatsiooni käigus küsitakse Mysql´i serveri parooli, tuleb sisestada:


<pre> sinuvalitudparool </pre>
<pre> sinuvalitudparool </pre>


Seadistame andmebaasi:
*Seadistame andmebaasi:


<pre> mysql -u root -p </pre>
<pre> mysql -u root -p </pre>


Sisestame need read SQL> konsooli:
*Sisestame need read SQL> konsooli:


<pre> create database snort; </pre>
<pre> create database snort; </pre>
Line 151: Line 152:
<pre> exit </pre>
<pre> exit </pre>


Seejärel kasutame Snort´i struktuuri MySqli´i andmebaasis:
*Seejärel kasutame Snort´i struktuuri MySqli´i andmebaasis:


<pre> mysql -u root -p </pre>
<pre> mysql -u root -p </pre>


Sisestame:
*Sisestame:


<pre> use snort; </pre>
<pre> use snort; </pre>
<pre> source /usr/src/create_mysql; </pre>
<pre> source /usr/src/create_mysql; </pre>


Selle päringuga näeme uusi tabeleid, mis me just importisime:
*Selle päringuga näeme uusi tabeleid, mis me just importisime:
<pre> show tables; </pre>  
<pre> show tables; </pre>  


<pre> exit </pre>
<pre> exit </pre>


== Snort´i ja Barnyard´i testimine ==
== Snort ja Barnyard testimine ==
   
   
Kontrollime, kas snort teenus on käivitatud:
*Kontrollime, kas snort teenus on käivitatud:


<pre> service snort restart </pre>
<pre> service snort restart </pre>


Manuaalselt käivitame Barnyard2´e:
*Manuaalselt käivitame Barnyard2´e:


<pre> /usr/local/bin/barnyard2 -c /etc/snort/barnyard2.conf -d /var/log/snort -f snort.log -w /var/log/barnyard2/bylog.waldo -C /etc/snort/classification.config </pre>
<pre> /usr/local/bin/barnyard2 -c /etc/snort/barnyard2.conf -d /var/log/snort -f snort.log -w /var/log/barnyard2/bylog.waldo -C /etc/snort/classification.config </pre>


Tuleb luua ka sid-msg-map fail:
*Tuleb luua ka sid-msg-map fail:


<pre> cd /usr/share/oinkmaster </pre>
<pre> cd /usr/share/oinkmaster </pre>
Line 182: Line 183:
==  Barnyard2 alglaadimisel käivitamine ==
==  Barnyard2 alglaadimisel käivitamine ==


Tekitame faili:
*Tekitame faili:


<pre> touch /etc/init.d/runbarnyard2 </pre>
<pre> touch /etc/init.d/runbarnyard2 </pre>


Kirjutame faili:
*Kirjutame faili:


<pre> nano /etc/init.d/runbarnyard2 </pre>
<pre> nano /etc/init.d/runbarnyard2 </pre>


<pre>  
<pre>#!/bin/sh
#!/bin/sh


case $1 in
case $1 in
Line 217: Line 217:
exit 0 </pre>
exit 0 </pre>


Anname root kasutajale kõik õigused loodud failile:
*Anname root kasutajale kõik õigused loodud failile:


<pre> chmod 700 /etc/init.d/runbarnyard2 </pre>
<pre> chmod 700 /etc/init.d/runbarnyard2 </pre>


ning uuendame:
*ning uuendame:


<pre> update-rc.d runbarnyard2 defaults 21 00 </pre>
<pre> update-rc.d runbarnyard2 defaults 21 00 </pre>


Muudame Barnyard2 käivitatavaks deemonina(taustal käivitatav protsess):
*Muudame Barnyard2 käivitatavaks deemonina(taustal käivitatav protsess):


<pre> nano /etc/snort/barnyard2.conf </pre>
<pre> nano /etc/snort/barnyard2.conf </pre>


Selleks võtame kommentaari märgi rea 84 eest ära(tulemus peaks olema selline):
*Selleks võtame kommentaari märgi rea 84 eest ära(tulemus peaks olema selline):


<pre>  
<pre># enable daemon mode
# enable daemon mode
#
#
config daemon  
config daemon  
</pre>
</pre>


Kasutus:
*Kasutus:


<pre> /etc/init.d/runbarnyard2 start/stop/restart </pre>
<pre> /etc/init.d/runbarnyard2 start/stop/restart </pre>
Line 243: Line 242:
== Apache2 / BASE graafilise kasutajaliidese seadistamine ==
== Apache2 / BASE graafilise kasutajaliidese seadistamine ==


Apache2 seaditamine:
*Apache2 seadistamine:


<pre> apt-get install apache2 </pre>
<pre> apt-get install apache2 </pre>
Line 249: Line 248:
<pre> apt-get install libphp-adodb </pre>
<pre> apt-get install libphp-adodb </pre>


Muudame /etc/php5/apache2/php.ini faili:
*Muudame /etc/php5/apache2/php.ini faili:


<pre> nano /etc/php5/apache2/php.ini </pre>
<pre> nano /etc/php5/apache2/php.ini </pre>


ning muudame rida 462:
*ning muudame rida 462:


<pre> error_reporting = E_ALL & ~E_NOTICE </pre>
<pre> error_reporting = E_ALL & ~E_NOTICE </pre>


Seejärel muudame /etc/apache2/apache2.conf faili, et lisada autoriseerimine www/base jaoks:
*Seejärel muudame /etc/apache2/apache2.conf faili, et lisada autoriseerimine www/base jaoks:


<pre> <Directory /var/www/html/base>
<pre> <Directory /var/www/html/base>
Line 264: Line 263:
</Directory> </pre>
</Directory> </pre>


Taaskäivitame apache2:
*Taaskäivitame apache2:


<pre> service apache2 restart </pre>
<pre> service apache2 restart </pre>

Revision as of 20:46, 15 January 2015

Sissejuhatus

Snort on tasuta vabavaraline võrgu sissetungi vältimise süsteem ja võrgu sissetungi avastamise süsteem, mis on loodud Martin Roesch´i poolt 1998. aastal. Snort´i vabavaralisel võrgupõhisel sissetungi avastamise süsteemil on võime teostada reaalajas liikluse analüüsi ja pakettide logimist IP võrkudes. Snort teostab protokolli analüüsi, sisu otsimist ja sisu vastavuse kontrolli.

Programmi saab samuti kasutada, et avastada sonde või rünnakuid, kaasa arvatud operatsioonisüsteemi sõrmejälgede katseid, juurdepääsu liideseid, puhvri ületäitumisi, serveri sõnumiploki sonde ja salajasi portide skaneerimisi. [1]

Siin juhendis seadistame võrgu sissetungi vältimise süsteemi snort, milleks seadistame Snort´i, Barnyard2´e, MySql´i ja BASE´i Ubuntu 14.04-le.

Seda konfiguratsiooni on natuke keeruline seadistada ja diagnoosida ning vajab mõningast tarkvara kompilatsiooni.

Snort installeerimine ja seadistamine

[2] NB: Siin juhendis teeme kõike sudo õigustes, selleks tuleb sisestada:

 sudo -i 
  • Esmalt tuleb teha tavaline apt-get update/upgrade:
 apt-get update 
 apt-get upgrade 
  • ning peale seda installeerime snort´i:
 apt-get install snort 
  • Snort´i installatsiooni ajal peab kirjutama enda koduvõrgu ehk kaitstud alamvõrgu:
 192.168.56.0/24 
  • Seejärel peab muutma snort.conf faili:
 nano /etc/snort/snort.conf 

NB: Selleks, et minna mingile kindlale reale nano-s, tuleb kasutada CTRL + W ja siis CTRL + T ning kirjutada vastav reanumber.

  • Muudame rida 51:
 ipvar HOME_NET 192.168.56.0/24 
  • ning rida 536:
 output unified2: filename snort.log, limit 128, mpls_event_types, vlan_event_types 
  • Peale seda taaskäivitame snort´i:
 service snort restart 
  • Eemaldame eelmised logikirjed:
 rm /var/log/snort/snort.log 
  • Muudame /etc/snort/rules/local.rules faili:
 nano /etc/snort/rules/local.rules 
  • lisame sinna kaks reeglit testimise eesmärgil:
alert icmp any any -> $HOME_NET any (msg:"ICMP Test NOW!!!"; classtype:not-suspicious; sid:1000001; rev:1;) 
alert tcp any any -> $HOME_NET 80 (msg:"HTTP Test NOW!!!"; classtype:not-suspicious; sid:1000002;  rev:1;) 

Snort testimine

  • Testime snort´i:
 snort -i eth1 -v 

NB: CTRL + C, et peatada testimine.

  • Seejärel teeme konfiguratsiooni laadimise testi:
  snort -A console -u snort -g snort -c /etc/snort/snort.conf -i eth1 -T 
  • Käivitame snort´i otse hoiatuste konsoolirežiimis(kui serverit nüüd pingida, peaksid ilmuma hoiatused):
 snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth1 

Barnyard2 seadistamine

  • Esmalt me installeerime kompilatsiooni sõltuvused ja barnyard2 sõltuvused:
 apt-get install autoconf 
 apt-get install libtool 
 apt-get install libpcap-dev 
 apt-get install libmysqlclient-dev 
 apt-get install libdumbnet-dev 

[3]

 apt-get install libdaq-dev 
  • Tuleb teha ka nimeviit:
 ln -s /usr/include/dumbnet.h /usr/include/dnet.h 
  • Seejärel installeerime barnyard2´e:
 cd /usr/src 
 wget https://github.com/firnsy/barnyard2/tarball/master 
 tar -zxf master 
 cd firnsy-barnyard2*
 autoreconf -fvi -I ./m4 
 ./configure --with-mysql --with-mysql-libraries=/usr/lib/x86_64-linux-gnu 
 make 
 make install 
 cp /usr/local/etc/barnyard2.conf /etc/snort 
 cp schemas/create_mysql /usr/src 
 mkdir /var/log/barnyard2 
  • Muudame Barnyard2.conf faili:
 nano /etc/snort/barnyard2.conf 
  • Muudame rida 226:
 output alert_fast 
  • Muudame rida 347, selleks kustutame kommentaari märgi ära ning muudame parooli:
 output database: log, mysql, user=snort password=sinuvalitudparool dbname=snort host=localhost 

MySql seadistamine

  • Installeerime MySqli serveri:
 apt-get install mysql-server 
  • Installatsiooni käigus küsitakse Mysql´i serveri parooli, tuleb sisestada:
 sinuvalitudparool 
  • Seadistame andmebaasi:
 mysql -u root -p 
  • Sisestame need read SQL> konsooli:
 create database snort; 
 create database archive; 
 grant usage on snort.* to snort@localhost; 
 grant usage on archive.* to snort@localhost; 
 set password for snort@localhost=PASSWORD('sinuvalitudparool'); 
 grant all privileges on snort.* to snort@localhost; 
 grant all privileges on archive.* to snort@localhost; 
 flush privileges; 
 exit 
  • Seejärel kasutame Snort´i struktuuri MySqli´i andmebaasis:
 mysql -u root -p 
  • Sisestame:
 use snort; 
 source /usr/src/create_mysql; 
  • Selle päringuga näeme uusi tabeleid, mis me just importisime:
 show tables; 
 exit 

Snort ja Barnyard testimine

  • Kontrollime, kas snort teenus on käivitatud:
 service snort restart 
  • Manuaalselt käivitame Barnyard2´e:
 /usr/local/bin/barnyard2 -c /etc/snort/barnyard2.conf -d /var/log/snort -f snort.log -w /var/log/barnyard2/bylog.waldo -C /etc/snort/classification.config 
  • Tuleb luua ka sid-msg-map fail:
 cd /usr/share/oinkmaster 
 bash -c "sudo ./create-sidmap.pl /etc/snort/rules > /etc/snort/sid-msg.map" 

Barnyard2 alglaadimisel käivitamine

  • Tekitame faili:
 touch /etc/init.d/runbarnyard2 
  • Kirjutame faili:
 nano /etc/init.d/runbarnyard2 
#!/bin/sh

case $1 in
    start)
        echo "Starting Barnyard2"
        sudo bash -c "barnyard2 -D -c /etc/snort/barnyard2.conf -d /var/log/snort -f snort.log -n"
        echo 'Barnyard2 started.'
    ;;
    stop)
        echo "Stopping Barnyard2"
        sudo killall barnyard2
        echo 'Barnyard2 stopped.'
    ;;
    restart)
        $0 stop

        sleep 4
        $0 start
    ;;
    *)
        echo "usage: $0 (start|stop|restart)"
    ;;
esac

exit 0 
  • Anname root kasutajale kõik õigused loodud failile:
 chmod 700 /etc/init.d/runbarnyard2 
  • ning uuendame:
 update-rc.d runbarnyard2 defaults 21 00 
  • Muudame Barnyard2 käivitatavaks deemonina(taustal käivitatav protsess):
 nano /etc/snort/barnyard2.conf 
  • Selleks võtame kommentaari märgi rea 84 eest ära(tulemus peaks olema selline):
# enable daemon mode
#
config daemon 
  • Kasutus:
 /etc/init.d/runbarnyard2 start/stop/restart 

Apache2 / BASE graafilise kasutajaliidese seadistamine

  • Apache2 seadistamine:
 apt-get install apache2 
 apt-get install libapache2-mod-php5 
 apt-get install libphp-adodb 
  • Muudame /etc/php5/apache2/php.ini faili:
 nano /etc/php5/apache2/php.ini 
  • ning muudame rida 462:
 error_reporting = E_ALL & ~E_NOTICE 
  • Seejärel muudame /etc/apache2/apache2.conf faili, et lisada autoriseerimine www/base jaoks:
 <Directory /var/www/html/base>
    AllowOverride All
    Require all granted
</Directory> 
  • Taaskäivitame apache2:
 service apache2 restart 

Installeerime BASE sõltuvused

 apt-get install php-pear 
 apt-get install libwww-perl 
 apt-get install php5-gd 
 pear config-set preferred_state alpha 
 pear channel-update pear.php.net 
 pear install --alldeps Image_Color Image_Canvas Image_Graph 

Kasutatud kirjandus

  1. http://computer-outlines.over-blog.com/article-nids-snort-barnyard2-apache2-base-with-ubuntu-14-04-lts-123532107.html
  2. http://en.wikipedia.org/wiki/Snort_%28software%29
  3. http://packages.ubuntu.com/precise/amd64/libdaq-dev/filelist

Autor

Veronia Lutter A31