Arpwatch freebsd how-to

Назначение ARPWatch

  • отслеживать появление в сети новых устройств
  • отслеживать подмену IP-адресов
  • обнаруживать атаки ARP-вирусов


#cd /usr/ports/net-mgmt/arpwatch/ && make install clean && rehash
# cd /usr/local/arpwatch
# fetch http://standards.ieee.org/regauth/oui/oui.txt
oui.txt 100% of 2437 kB 432 kBps
# ./massagevendor oui.txt > ethercodes.dat
# rm oui.txt
# echo ‘# ARPWatch — IP-MAC monitoring’ >> /etc/rc.conf
# echo ‘arpwatch_enable=»YES»‘ >> /etc/rc.conf
# echo ‘arpwatch_flags=»-m admin@domain.com»‘ >> /etc/rc.conf
# echo ‘arpwatch_interfaces=»vlan96 vlan97 vlan98″‘ >> /etc/rc.conf
# sh /usr/local/etc/rc.d/arpwatch start
# ps -ax | grep arpwatch
# echo ‘!arpwatch’ >> /etc/syslog.conf
# echo ‘*.notice /var/log/arpwatch.log’ >> /etc/syslog.conf
# touch /var/log/arpwatch.log
# killall -HUP syslogd
# echo ‘/var/log/arpwatch.log 640 5 * $W6D0 JN’ >> /etc/newsyslog.conf
# sh /usr/local/etc/rc.d/arpwatch stop
Stopping arpwatch.
# rm /usr/local/arpwatch/arp.*.dat
# rm /usr/local/arpwatch/arp.*.dat-
#mysql -u root -p
mysql> create database arpwatch;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on arpwatch.* to arpwatch@localhost identified by ‘Password’;
Query OK, 0 rows affected (0.00 sec)
mysql> use arpwatch;
Database changed
CREATE TABLE flip_flop(
hostname VARCHAR( 255 ) ,
ip_address VARCHAR( 15 ) ,
ethernet_address VARCHAR( 17 ) ,
ethernet_vendor VARCHAR( 255 ) ,
old_ethernet_address VARCHAR( 17 ) ,
old_ethernet_vendor VARCHAR( 255 ) ,
TIMESTAMP VARCHAR( 19 ) ,
previous_timestamp VARCHAR( 19 ) ,
delta VARCHAR( 50 )
);

CREATE TABLE changed_ethernet_address(

hostname VARCHAR( 255 ) ,
ip_address VARCHAR( 15 ) ,
ethernet_address VARCHAR( 17 ) ,
ethernet_vendor VARCHAR( 255 ) ,
old_ethernet_address VARCHAR( 17 ) ,
old_ethernet_vendor VARCHAR( 255 ) ,
TIMESTAMP VARCHAR( 19 ) ,
previous_timestamp VARCHAR( 19 ) ,
delta VARCHAR( 50 )
);

CREATE TABLE new_station(

hostname VARCHAR( 255 ) ,
ip_address VARCHAR( 15 ) ,
ethernet_address VARCHAR( 17 ) ,
ethernet_vendor VARCHAR( 255 ) ,
TIMESTAMP VARCHAR( 19 )
);

CREATE TABLE new_activity(

hostname VARCHAR( 255 ) ,
ip_address VARCHAR( 15 ) ,
ethernet_address VARCHAR( 17 ) ,
ethernet_vendor VARCHAR( 255 ) ,
TIMESTAMP VARCHAR( 19 )
);
quit;
# cd /usr/local/arpwatch
# fetch http://muff.kiev.ua/files/arpwatch.pl.tar.gz
arpwatch.pl.tar.gz 100% of 1210 B 9 MBps
# tar -xzf arpwatch.pl.tar.gz
$db_user = «arpwatch»;
$db_passwd = «Password»;
$db_name = «arpwatch»;
$db_host = «localhost»;
$db_port = «3306»;

# cd /usr/ports/databases/p5-DBI && make install clean && rehash
# cd /usr/ports/databases/p5-DBD-mysql && make install clean && rehash
# cd /usr/ports/devel/p5-Getopt-Long && make install clean && rehash
# pw useradd -n arpwatch -u 1005 -g mailnull -c ARPWatch -d /nonexistent -s /usr/sbin/nologin
# cat /etc/rc.conf | grep arpwatch_flags
arpwatch_flags=»-m arpwatch@localhost»
# echo ‘arpwatch: «|/usr/bin/perl /usr/local/arpwatch/arpwatch.pl»‘ >> /etc/mail/aliases
# sendmail -bi
# cd /usr/local/www
# fetch http://muff.kiev.ua/files/arpwatch-www.tar.gz
arpwatch-www.tar.gz 100% of 51 kB 52 MBps
# tar -xzf arpwatch-www.tar.gz
# chown -R www:www /usr/local/www/arpwatch
# rm arpwatch-www.tar.gz
Необходимо указать параметры доступа к базе данных в файле /usr/local/www/arpwatch/config.inc.php. Редактируем следующие поля:

$dbhost = «localhost»; //Сервер базы данных
$dbuser = «arpwatch»; //Имя пользователя БД
$dbpassword = «Password»; //Пароль в БД
$dbname = «arpwatch»; //Имя БД
Добавим такой блок в httpd.conf — конфигурационный файл веб-сервера Apache:

Alias /arp/ «/usr/local/www/arpwatch/»

Options -Indexes
DirectoryIndex index.php
AllowOverride None
Order Deny,Allow
Allow from all

Отправим Apache команду на перечитывание конфигурации:

# apachectl graceful

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Time limit is exhausted. Please reload the CAPTCHA.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.