Instalacija SNORT+APACHE+ACID(BASE)+MYSQL+PASSIVE TAP (3 NIC)
UvodU ovom malom HOWTO dat je postupak uz pomoc kojeg se linux masina pretvara u NIDS (network intrusion detection system). U radu je koriscena gentoo distribucija ali naravno uz odgovarajuce prepravke skoro identican postupak se moze izvesti na bilo kom drugom distrou.
Da li vec negde postoji ovakvo uputstvo?Verovatno da; na
http://gentoo-wiki.com mogu se naci delovi ovoga uputstva razbacani u dve ili tri sekcije, ali barem ja do sada nisam nigde nasao kompletan postupak – od definisanja bonding interfejsa, preko instalacije snorta i acid/base do pravljenja passive tapping kutije.
Sta je potrebno za pravljenje NIDS-a?-Potrebna je fer PC konfiguracija, real-time analiza mreznog saobracaja nije posao koji mogu da odrade raspale 486/P1/P2 masine koje skupljaju prasinu, narocito ako se analizira saobracaj po 10/100 Mb UTP kablovima.
-Potrebne su TRI mrezne kartice, od kojih se dve koriste za prisluskivanje. Pozeljno je da ova dva 'prisluskivacka' NIC-a budu gigabitne kartice pa makar u PCI varijanti; naravno da niko ne ocekuje da PCI gigabitna karta moze da dostigne protok od 1Gbps, ali u odnosu na standardne 100Mbps one imaju veci buffer te su stoga pogodnije za ovu primenu.
Postupak instalacije1.Rekompajiranje kernela i kompajliranje ifenslave user-space alataUkljucuje se u kernelu podrska za bonding, ukoliko vec nije ukljucena:
Device Drivers -> Networking Support -> Bonding Driver Support
Iskompajlirati ifenslave alat koji sluzi za manipulaciju bond-ovanih interfejsa:
# cd temp
# gcc –Wall –Wstrict-prototypes –O –I/usr/src/linux/include /usr/src/linux/Documentation/networking ifenslave.c –o ifenslave
# mv ifenslave /sbin/ifenslave
Restart sistema da bi rekompajlirani kernel zaziveo.
2.Editovanje konfiguracionih fajlovaUbaciti automatsko ucitavanje modula pri restartovanju sistema
# echo bonding >> /etc/modules.autoload.d/kernel-2.6
# echo “alias bond” bonding >> /etc/modprobe.conf
(moze i u /etc/modules.d/aliases umesto u /etc/modprobe.conf)
3.Dodavanje bonding-a za dva NIC-a koja ce sluziti za tapping (prisluskivanje) i definisanje IP adresa# cd /etc/init.d
# cp net.eth0 net.eth1
# cp net.eth0 net.eth2
# cp net.eth0 net.bond0
U ovom slucaju ispalo je da su eth0 I eth2 kartice koje ce biti u bonding-u dok je eth1 kartica koja sluzi kao izlazni interfejs, tj interfejs preko kome moze da se pristupa NIDS sistemu.
U /etc/conf.d/local.start se dodaje:
/sbin/ifenslave bond0 eth0
/sbin/ifenslave bond0 eth2
Setovanje IP adrese za bonding interfejs i za eth1, edituje se /etc/conf.d/net fajl i unosi: iface_eth1=”192.168.0.100 broadcast 192.168.0.255 netmask 255.255.255.0”
iface _bond0= “127.0.0.10 broadcast 127.255.255.255.0 netmask 255.255.255.0”
gateway =”eth1/192.168.0.250”
Ako nisu iskljucene startup skripte za eth0 I eth2, treba ih iskljuciti i ubaciti skripte za bond0 i eth1 u default running level :
# rc-update del net.eth0 default
# rc-update del net.eth2 default
# rc-update add net.eth1 default
# rc-update add net.bond0 default
Restart sistema, masina se boot-uje sa bond-ovanim NIC-evima.
4.Instalacija SNORT-a, MySQL-a, Apache-a, php-a, Libnet-aPrvo treba podesiti USE varijable u /etc/make.conf
USE=’gd-external mysql apache2 php openssl jpg png gif –X –gtk –gnome –alsa”
Sledi emerge-ovanje potrebnih paketa:
# emerge dev-php5/jpgraph php mysql apache net-libs/libnet lynx snort
5.Sredjivanje startup skripti# rc-update add snort default
# rc-update add mysql default
# rc-update add apache2 default
6.Instalacija pocetnih baza za mysql # /usr/bin/mysql_install_db
Startovanje apache i mysql-a :
# /etc/init.d/apache2 start
# /etc/init.d/mysql start
Setovanje prava pristupa, uvodjenje root pass-a:
# mysql
>SET PASSWORD FOR root@localhost=PASSWORD(“test”);
>create database snort;
>grant INSERT,SELECT on root.* to snort@localhost;
>SET PASSWORD FOR snort@localhost = PASSWORD(“test”);
>grant CREATE,INSERT,SELECT,DELETE,UPDATE on snort.* to snort@localhost
>grant CREATE,INSERT,SELECT,DELETE,UPDATE on snort.* to snort;
>exit;
Ovim je uveden root password, napravljena nova baza i novi user snort.
7.Kreiranje SNORT baza (ovde je stara 2.2.0 verzija, sada aktuelna je 2.6.x):# gunzip /usr/share/doc/snort-2.2.0/contrib/create_mysql.gz
# mysql –p < /usr/share/doc/snort-2.2.0/contrib/create_mysql snort
(pass je naravno ‘test’)
Dodavanje ekstra tabela koje koristi snort u mysql
# zcat /usr/chare/doc/snort-2.2.0/contrib/snortdb_extra.gz | mysql –p snort
8.Editovanje config fajlova SNORT-aU /etc/conf.d/snort treba definisati NIC interfejs na kome ce SNORT da priskluskuje:
IFACE=bond0
Editivanje /etc/snort.conf kako bi snort upisivao rezultate u mysql bazu:
# cp /etc/snort/snort.config.distrib /etc/snort/snort.conf
# joe /etc/snort/snort.conf
naci deo o logovanju u bazu te otkomentarisati i editovati liniju tako da izgleda ovako:
output database: log, mysql user=snort password=test
dbname=snort host=localhost
9.Editovanje apache config fajlova:U /etc/apache2/httpd.conf treba da stoji:
<Directory />
Options Multiviews Indexes Includes FollowSymLinks
AllowOverride All
<IfModule mod_access.c>
Order allow,deny
Allow from all
</IfModule>
<Directory>
Naravno podrazumeva se da je u /etc/conf.d/apache2 ukljucena podrska za php
APACHE2_OPTS="-D SSL -D PHP5"
10.Instalacija i setovanje ACID-a ( tj BASE-a)Od vremena kada sam ja pravio NIDS sistem ACID je promenio ime i sada se zove BASE (znaci ode iz kiseline u bazu), ali instalacija i setovanje su identicni:
# ACCEPT_KEYWORDS=”~x86” emerge net-analyzer/base
Na kraju treba editovati config fajl /etc/base/base_conf.php :
$DBtype = “mysql” ;
$alert_dbname = “snort”;
$alert_host=”localhost”;
$alert_user=”snort”;
$alert_password=”test”;
$archive_dbname=”snort”;
$archive_host=”localhost”;
$archive_port=””;
$archive_user=”snort”;
$archive_password=”test”;
Instalacija je gotova, sada se kroz browser otvori
https://localhost/base/base_db_setup.php klikne na "Setup AG" da se instaliraju neke dodatne tabele.
11.Izrada PASSIVE TAP kutijeZa izradu kutije najbolje je da se iskoristi neka od vec gotovih uticnica sa 4 RJ-45 lezista i onda se jednostavno veze izmedju njih prespoje po sledecoj shemi:

Ukoliko treba da se prisluskuje neka od mreznih veza (recimo kabl izmedju servera i switch-a) potrebno je uraditi sledece:
-dve NIC kartice koje su u bonding se obicnim kablom zabodu u tap1 i tap2 na kutiji.
-raskine se veza server-switch, uzme se kabl i zabode sa jedne strane u switch a sa druge u host1 na kutiji
-uzme se jos jedan UTP kabl i sa jedne strane se zabode u server a sa druge u host2 na kutiji.
Napomena:
Potrudite se da kablovi za tapping budu sto kraci i da sto je manje moguce raspredate parice kada pravite tapping kutiju , sve to neminovno unosi smetnje! Kablovi kojima se vezuju bonding NIC-evi sa kutijom NIKAKO ne smeju da budu duzi od 15-20 cm!To je sve! Uzivajte

Salac