Snort

From Ilianko

NIDS Snort

Инсталация

OS

Debian 7.1 wheezy on VirtualBox 4.2.16

MySQL, PHP5, Apache

За по-лесен достъп и структуриране на получените данни

  • apt-get install mysql-server
  • apt-get install mysql-client
  • apt-get install apache2
  • apt-get install php5 libapache2-mod-php5 php5-mysql libphp-adodb php-pear php-mail php-mail-mime

За по лесно управление на базата данни - не задължително

  • apt-get install phpmyadmin (dbconfig-common fontconfig-config libfontconfig1 libgd2-xpm libjpeg8 libltdl7 libmcrypt4 libpng12-0 php5-gd php5-mcrypt phpmyadmin ttf-dejavu-core)

С phpmyadmin се създавата потребител и база данни snort

snort

Debian има компилиран пакет. Ако е нужна по-нова версия, трябва да се изтегли изходния код от http://www.snort.org/snort-downloads

  • apt-get install snort-mysql

(Database logging can be reconfigured later by running 'dpkg-reconfigure -plow snort-mysql')


dpkg-reconfigure -plow snort-mysql

Създаване на таблиците в базата данни:

cd /usr/share/doc/snort-mysql/                                              
zcat create_mysql.gz | mysql -u <user> -h <host> -p <databasename>

тестване на снорт

С автоматичната инсталация се е създал конфигурационен файл /etc/snort/snort.conf. Той включва правила за сканиране на трафика в директория /etc/snort/rules

Първноначално ще коментираме или ще изтрием всички правила от ред 572 надолу в /etc/snort/snort.conf.

    1. vi /etc/snort/snort.conf
  • :set nu (визуализира номерата на редовете в vi)

Активно ще остане само Ред #570 include $RULE_PATH/local.rules

В файла /etc/snort/rules/local.rules ще добавим следното правило:

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

Това правило ще генерира известие при преминаване на ICMP пакет безначение откъде, насочен към вътрешната мрежа. Известието ще има съобщение "ICMP test" и ще е с идентификатор 1000001.

Snort ще се стартира с:

snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0

Ако пуснете ping от друга машина към NIDS сървъра трябва да получите следния резултат в конзолата където е стартиран снорт:

07/19-09:20:54.139379  [**] [1:10000001:0] ICMP test [**] [Priority: 0] {ICMP} 172.16.16.162 -> 172.16.16.165
07/19-09:20:54.139563  [**] [1:10000001:0] ICMP test [**] [Priority: 0] {ICMP} 172.16.16.165 -> 172.16.16.162
...

Свързване с базата данни

Ще добавим най-отдолу в /etc/snort/snort.conf

output database: log, mysql, user=snort password=<a_secure_passwd> dbname=snort host=localhost
  • <a_secure_passwd> се замества с паролата

Визуализиране с BASE

pear config-set preferred_state alpha && pear channel-update pear.php.net && pear install --alldeps Image_Color Image_Canvas Image_Graph
wget http://sourceforge.net/projects/secureideas/files/latest/download

mkdir
cp -r /var/www/base



/usr/share/php/adodb 


Прихващане на пакети с pcap

apt-get install libpcap0.8

build-essential php5 php5-mysql


Barnyard

Output spool reader for Snort! This program decouples output overhead from the Snort network intrusion detection system and allows Snort to run at full speed. It takes input and output plugins and can therefore be used to convert almost any spooled fil

wget http://sourceforge.net/projects/barnyard/files/latest/download
tar -xf download
cd barnyard
apt-get install libmysqlclient-dev
./configure --with-mysql --with-mysql-libraries=/usr/lib/x86_64-linux-gnu/ --with-mysql-includes=/usr/include/
make
make install
cp /root/barnyard-0.2.0/etc/barnyard.conf /etc/snort/


output database: log, mysql, user=snort password=<mypassword> dbname=snort host=localhost