Difference between revisions of "Snort"

From Ilianko
 
(11 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
===OS===
 
===OS===
  
Debian 6.0.7 sqeezy on VirtualBox 4.2.16 with ssh access
+
Debian 7.1 wheezy on VirtualBox 4.2.16
  
 
===MySQL, PHP5, Apache ===
 
===MySQL, PHP5, Apache ===
Line 14: Line 14:
 
*apt-get install apache2
 
*apt-get install apache2
  
*apt-get install php5 libapache2-mod-php5 php5-mysql
+
*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)
 
*apt-get install phpmyadmin (dbconfig-common fontconfig-config libfontconfig1 libgd2-xpm libjpeg8  libltdl7 libmcrypt4 libpng12-0 php5-gd php5-mcrypt  phpmyadmin  ttf-dejavu-core)
  
създаване на потребител и база данни snort
+
С phpmyadmin се създавата потребител и база данни snort
*през CLI
 
#mysql -u root -p
 
mysql>CREATE USER 'snort'@'localhost' IDENTIFIED BY  '***';
 
mysql>GRANT USAGE ON * . * TO  'snort'@'localhost' IDENTIFIED BY  '***' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
 
mysql>CREATE DATABASE IF NOT EXISTS  `snort` ;
 
mysql>GRANT ALL PRIVILEGES ON  `snort` . * TO  'snort'@'localhost';
 
  
 
=== snort ===
 
=== snort ===
Line 32: Line 26:
 
*apt-get install snort-mysql
 
*apt-get install snort-mysql
 
(Database logging can be reconfigured later by running 'dpkg-reconfigure -plow snort-mysql')
 
(Database logging can be reconfigured later by running 'dpkg-reconfigure -plow snort-mysql')
 +
 +
 +
dpkg-reconfigure -plow snort-mysql
  
 
Създаване на таблиците в базата данни:
 
Създаване на таблиците в базата данни:
Line 67: Line 64:
 
* <a_secure_passwd> се замества с паролата  
 
* <a_secure_passwd> се замества с паролата  
  
== Preapration ==
+
== Визуализиране с 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
 
Прихващане на пакети с pcap

Latest revision as of 22:35, 19 July 2013

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