Инсталиране на Snort в Openbsd

Кратко упътване как се инсталира Snort 2.9.0.5 на Оpenbsd current(трябва да работи и на 4.9)
Повечето от нещата са взети от статията на Randal T. Rioux , но неговото упътване не сработи при мен, така че реших да напиша ново.

Започваме

Преполага се, че имате инсталиран openbsd сървър, ако нямате следвайте указанията тук http://www.openbsd.org/faq/faq4.html

Първо да се оправим със зависимостите. Иползваме готовите пакети. Може да изполвате и портовете.

pkg_add -i bzip2

pkg_add -i pcre

pkg_add -i bison

pkg_add -i gmake

pkg_add -i libdnet

Трябва ни libpcap библиотека. Ще я компилираме и инсталираме от сорс.
 

mkdir -p /tmp/libpcap

cd /tmp/libpcap

wget http://www.tcpdump.org/release/libpcap-1.1.1.tar.gz

tar -zxf libpcap-1.1.1.tar.gz

cd libpcap-1.1.1

./configure –with-libpcap-includes=/usr/local/include \
–with-libpcap-libraries=/usr/local/lib \
–with-dnet-includes=/usr/local/include \
–with-dnet-libraries=/usr/local/lib
make && make install

 

Изтеглете snort-2.9.0.5.tar.gz и daq-0.5.tar.gz от официалния сайт на snort

Копирайте сорсовете в /tmp
Компилираме daq

cd /tmp

tar -zxf daq-0.5.tar.gz

cd daq-0.5

./configure –with-libpcap-includes=/usr/local/include \
–with-libpcap-libraries=/usr/local/lib \
–with-dnet-includes=/usr/local/include \
–with-dnet-libraries=/usr/local/lib
make && make install

След това Snort

В опциите за конфигуриране, трябва да включим –disable-static-daq , или dynamic plugin библиотеките няма да се компилират правилно.(това е съвет от README файловете на Snort)

cd /tmp

tar -zxf snort-2.9.0.5.tar.gz

cd snort-2.9.0.5

./configure –enable-reload –enable-ppm –enable-zlib \
–enable-dynamicplugin –enable-perfprofiling \
–disable-static-daq \
–enable-react –enable-flexresp3 –enable-ipv6 –enable-decoder-preprocessor-rules \
–with-libpcap-includes=/usr/local/include \
–with-libpcap-libraries=/usr/local/lib \
–with-dnet-includes=/usr/local/include \
–with-dnet-libraries=/usr/local/lib \
–with-daq-includes=/usr/local/include \
–with-daq-libraries=/usr/local/lib
make && make install

Малък хак за да накараме dynamic plugin библиотеките да работят.

cd /usr/local/lib/snort_dynamicengine

ln -s libsf_engine.so.0.0 libsf_engine.so

cd /usr/local/lib/snort_dynamicpreprocessor

ln -s libsf_dce2_preproc.so.0.0 libsf_dce2_preproc.so

ln -s libsf_dns_preproc.so.0.0 libsf_dns_preproc.so

ln -s libsf_ftptelnet_preproc.so.0.0 libsf_ftptelnet_preproc.so

ln -s libsf_sdf_preproc.so.0.0 libsf_sdf_preproc.so

ln -s libsf_smtp_preproc.so.0.0 libsf_smtp_preproc.so

ln -s libsf_ssh_preproc.so.0.0 libsf_ssh_preproc.so

ln -s libsf_ssl_preproc.so.0.0 libsf_ssl_preproc.so

 
Регистрирайте се в сайта на Snort и изтеглете правилата – snortrules-snapshot-2905.tar.gz

Разархивирайте ги в /etc/snort

cd /etc/snort/
tar zxvf snortrules-snapshot-2903.tar.gz

Да променим /etc/snort/snort.conf
коментирайте следния ред:

dynamicdetection directory /usr/local/lib/snort_dynamicrules
#dynamicdetection directory /usr/local/lib/snort_dynamicrules

тези също:

preprocessor normalize_ip4
preprocessor normalize_tcp: ips ecn stream
preprocessor normalize_icmp4
preprocessor normalize_ip6
preprocessor normalize_icmp6

#preprocessor normalize_ip4
#preprocessor normalize_tcp: ips ecn stream
#preprocessor normalize_icmp4
#preprocessor normalize_ip6
#preprocessor normalize_icmp6

 

Променете и други опции, като $HOME_NET or $EXTERNAL_NET ако искате.

Създаваме структурата на директориите в, които ще работи Snort
mkdir /var/snort

mkdir /var/snort/log

Да направил тест. Променете -i {if} с интерфейса на, който ще слуша snort (example -i rl0). Ще използваме –daq-dir /usr/local/lib/daq в командата или snort ще даде грешка, че не може да намери daq библиотеките.

/usr/local/bin/snort –daq-dir /usr/local/lib/daq -c /etc/snort/snort.conf -l /var/snort/log -i {if}

Ако всичко мине без грешка стартирайте snort с -D опция.
pkill snort
/usr/local/bin/snort –daq-dir /usr/local/lib/daq -c /etc/snort/snort.conf -l /var/snort/log -i vr0 -D
Препоръчително е да добавите непривигерован потребител (_snort) и група (_snort) и да chroot snort в /var/snort , като добавите следната опция към командата -t /var/snort

/usr/local/bin/snort –daq-dir /usr/local/lib/daq -c /etc/snort/snort.conf -u _snort -g _snort -t /var/snort -l /var/snort/log -i {if} -D

 

Comment are closed.