Nfsen Логирование NAT-сессий
NFSEN Главная
Centos nfdump+nfsen+ Debian fprobe
проверяем Selinux
./configure --enable-nfprofile --with-rrdpath=/usr/bin
(после конфигурации просто делал make && sudo make install)
$BASEDIR = "/usr/local/nfsen";
Пользователь от какого имени будет запускаться nfsen.Так как я переходил на nginx c apache то и права оставил те же
Если не найдет пути:
Создаем пользователя, если нужно
chown -R apache:apache /var/lib/nginx
chkconfig nginx on
chkconfig php-fpm on
Устанавливаем Nfsen с измененными настройками и запускаем его.
***********
Ошибка
Can't use string ("live") as a HASH ref while "strict refs" in use at libexec/NfProfile.pm line 1238.
Ставим патч
И тут не пошло, что-то не так
поменял вручную строки, там где + добавил, там где - удалил
фото патча
***********
*********************************************************************
Ошибка при запуске
http://sourceforge.net/p/nfsen/bugs/31/(по ошибке+решение в коментах)
файл в сети я не нашел, решил вручную. Идем в каталог с установочными файлами, находим файлы
nano /etc/yum.repos.d/nginx.repo
yum install php-fpm
Настройка nginx:
# nano nfsen.conf
DAEMON:
Даем права на веб
Автозапуск демона:
tcpdump port 9796
настройка iptables
nano /etc/init.d/firewall.sh
Centos 7 автозапуск
touch /etc/systemd/system/firewall.service
Просмотр статистики по веб (фильтры)
https://mikbill.blogspot.com/2016/01/nginx.html
Подключаем плагин карты:
Подключаем плагин Portracker
отслеживает 10 наиболее активных портов и отображает их на графике
для работы нужно заново собрать nfdump
Ошибка “Cannot Read Stats file”
не проинициализирован каталог /var/log/netflow/porttracker или нет прав на него.
Проверка
/usr/local/nfsen/profiles-data/live/router
Команды
(Тестировано на дебиан)
Тестирование nfcapd и nfdump
Остановите программу, нажав CTRL+C, потом посмотрите на каталог /tmp/nfcap-test
Настройка сбора netflow с cisco
https://mikbill.blogspot.com/2018/09/netflow-cisco.html
По фильтрам:
https://nsrc.org/workshops/2014/caren-nsrc-dante/raw-attachment/wiki/Agenda/exercise3-nfsen-top-talkers-vRU.htm
Инфа по установке, настройке
http://voipnotes.ru/lovim-netflow-pri-pomoshi-nfdump-i-nfsen/
Подключение карт google
http://sourceforge.net/projects/surfmap/
По установке, профили по графикам
http://www.natalink.ru/articles/analiz_statistiki_netflow_pri_pomoschi_nfsen
Возможности nfsen на русском
https://nsrc.org/workshops/2014/caren-nsrc-dante/raw-attachment/wiki/Agenda/nfsen-vRU.pdf
Описание
http://meetings.ripe.net/ripe-50/presentations/ripe50-plenary-tue-nfsen-nfdump.pdf
Неплохой мануал по установке(делал плагин Portracker)
Еще по установке
https://voipnotes.ru/lovim-netflow-pri-pomoshi-nfdump-i-nfsen/
Установка сенсора fprobe (Debian)
Строчка INTERFACE указывает, что следует перехватывать трафик на всех доступных интерфейсах.
FLOW_COLLECTOR указывает IP-адрес и порт, на котором коллектор будет принимать UDP-пакеты.
OTHER_ARGS указывает прочие опции. В данном случае указан фильтр, отбирающий только IP-пакеты (ARP-пакеты учитываться не будут).
проверяем
Сенсор микротик
Centos nfdump+nfsen+ Debian fprobe
проверяем Selinux
- /usr/sbin/sestatus
если включен выключаем
- mcedit /etc/selinux/config
меняем на
SELINUX=disabled
и перегружаем сервер
Установка nfdump:- yum install epel-release -y
- yum install nfdump -y
- nfdump -V
nfdump: Version: NSEL-NEL1.6.11 $Date: 2013-11-16 09:04:43 +0100 (Sat, 16 Nov 2013) $
- yum install rrdtool-devel -y
- yum install flex byacc -y
- yum install rrdtool-perl -y
- yum install gcc wget -y
или
- wget http://sourceforge.net/projects/nfdump/files/stable/nfdump-1.6.13/nfdump-1.6.13.tar.gz
- wget https://www.cubbyusercontent.com/pl/nfdump-1.6.13.tar.gz/_b015f1172b2e4588b2271a5279601f83 -O nfdump-1.6.13.tar.gz
tar -xvzf nfdump-1.6.13.tar.gz(при ошибке "configure: error: no acceptable C compiler found in $PATH" ставим компилятор gcc yum install gcc)
cd nfdump-1.6.13
yum install rrdtool-devel
yum install flex byacc
yum install rrdtool-perl (была ошибка Can't locate RRDs.pm)
./configure --enable-nfprofile --enable-nftrack --with-rrdpath=/usr/bin
./configure --enable-nfprofile --with-rrdpath=/usr/bin
(после конфигурации просто делал make && sudo make install)
Установка checkinstall в CentOS:
или
(yum install perl-CPAN)
Копируем шаблон конфигурационного файла и изменяем настройки в nfsen.conf на необходимые нам.
yum install -y rpm-build rpmdevtoolsДалее:
wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/ikoinoba/CentOS_CentOS-6/x86_64/checkinstall-1.6.2-3.el6.1.x86_64.rpm
rpm -i checkinstall-1.6.2-3.el6.1.x86_64.rpm
rpmdev-setuptree
checkinstall -R
Устанавливаем собранный RPM из указанного в конце сборки места.Проверяем установленную версию:
rpm -ivh /root/rpmbuild/RPMS/x86_64/nfdump-1.6.13-1.x86_64.rpm
# nfdump -VУстановка анализатора nfsen:
- wget http://sourceforge.net/projects/nfsen/files/stable/nfsen-1.3.7/nfsen-1.3.7.tar.gz
Новая версия
- wget http://sourceforge.net/projects/nfsen/files/stable/nfsen-1.3.8/nfsen-1.3.8.tar.gz
- tar -xvzf nfsen-1.3.8.tar.gz
- cd nfsen-1.3.8
- wget https://www.cubbyusercontent.com/pl/nfsen-1.3.7.tar.gz/_39b6b9f1856a41c18904809d644dba3b -O nfsen-1.3.7.tar.gz
tar -xvzf nfsen-1.3.7.tar.gzУстанавливаем необходимые модули perl.
cd nfsen-1.3.7
(yum install perl-CPAN)
- cpan Mail::Header
- cpan Mail::Internet
- cpan Sys::Syslog
Копируем шаблон конфигурационного файла и изменяем настройки в nfsen.conf на необходимые нам.
- cp etc/nfsen-dist.conf etc/nfsen.conf
- mcedit etc/nfsen.conf
$BASEDIR = "/usr/local/nfsen";
Пользователь от какого имени будет запускаться nfsen.Так как я переходил на nginx c apache то и права оставил те же
$USER = "apache";Порт на который будет приниматься статистика для данного устройства и цвет графика.
$WWWUSER = "apache";
$WWWGROUP = "apache";
%sources = ( 'router' => { 'port' => '9796', 'col' => '#abcdef', 'type' => 'netflow' }, );
Если не найдет пути:
$PREFIX = '/usr/bin';
Создаем пользователя, если нужно
groupadd apache
sudo useradd -d /var/nfsen -G apache -m -s /bin/false netflow(ставим nginx если нужно)
- yum install nginx -y
- cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.old
- mcedit /etc/nginx/nginx.conf
user apache;
- yum install php-fpm -y
- cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.old
- mcedit /etc/php-fpm.d/www.conf
;listen = 127.0.0.1:9000 комментируем
listen = /var/run/php-worker-socket
listen.owner = apache
listen.group = apache
эти проверить
user = apache
group = apache
chkconfig nginx on
chkconfig php-fpm on
Устанавливаем Nfsen с измененными настройками и запускаем его.
./install.pl etc/nfsen.conf(ошибка Can't locate Socket6.pm in @INC ставим
perl -MCPAN -e 'install Socket6')
***********
Ошибка
Can't use string ("live") as a HASH ref while "strict refs" in use at libexec/NfProfile.pm line 1238.
Ставим патч
- yum install patch -y
- wget https://github.com/mikbill/design/raw/master/nfsen/patch.1.3.8
- patch -p1 < patch.1.3.8
И тут не пошло, что-то не так
поменял вручную строки, там где + добавил, там где - удалил
фото патча
***********
- chown -R apache:apache /usr/local/nfsen
- /usr/local/nfsen/bin/nfsen start
*********************************************************************
Ошибка при запуске
Subroutine Lookup::pack_sockaddr_in6 redefined at /usr/share/perl/5.14/Exporter.pm line 67.У меня появилась на дебиан, решается установкой nfsen-socket6.patch
at /usr/local/nfsen/libexec/Lookup.pm line 43
Subroutine Lookup::unpack_sockaddr_in6 redefined at /usr/share/perl/5.14/Exporter.pm line 67.
at /usr/local/nfsen/libexec/Lookup.pm line 43
......
http://sourceforge.net/p/nfsen/bugs/31/(по ошибке+решение в коментах)
файл в сети я не нашел, решил вручную. Идем в каталог с установочными файлами, находим файлы
libexec/AbuseWhois.pmменяем в файлах строчки
libexec/Lookup.pm
use Socket6;
(или import Socket6;)
на
Проверяем:
Socket6->import(qw(pack_sockaddr_in6 unpack_sockaddr_in6 inet_pton getaddrinfo));**********************************************************************
Проверяем:
netstat -nl| grep 9796
ps auxwww | grep nfcapd
Апач
страница доступна на
http://192.168.10.11/nfsen/nfsen.phpСтавим nginx
nano /etc/yum.repos.d/nginx.repo
[nginx]Замените “OS” на “rhel” или “centos”, в зависимости от используемого дистрибутива, а “OSRELEASE” на “5”, “6” или “7”, для, соответственно, 5.x, 6.x или 7.x версий.
name=nginx repo
baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/
gpgcheck=0
enabled=1
yum install php-fpm
Настройка nginx:
# nano nfsen.conf
server {
listen 80;
root /var/www/nfsen;
index nfsen.php;
server_name IPSERVER;
error_log /var/log/nfsen/error.log error;
access_log /var/log/nfsen/access.log main;
location / {
autoindex on;
allow all;
}
location ~ .php$ {
try_files $uri = 404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-worker-socket;
fastcgi_index nfsen.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_read_timeout 300;
}
location ~/\.ht {
deny all;
}
}
- mkdir /var/log/nfsen
DAEMON:
- nano /etc/init.d/nfsen
#!/bin/bash
#
# chkconfig: - 50 50
# description: nfsen
DAEMON=/usr/local/nfsen/bin/nfsen
case "$1" in
start)
$DAEMON start
;;
stop)
$DAEMON stop
;;
status)
$DAEMON status
;;
restart)
$DAEMON stop
sleep 1
$DAEMON start
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
exit 0
- chmod +x /etc/init.d/nfsen
Даем права на веб
- chown -R apache:apache /var/www/nfsen
Автозапуск демона:
chkconfig nfsen onпроверяем приходящий трафик
tcpdump port 9796
настройка iptables
nano /etc/init.d/firewall.sh
#!/bin/bash
iptables -I INPUT 5 -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
iptables -I INPUT 6 -m state --state NEW -m udp -p udp --dport 9796 -j ACCEPT
где 5 и 6 номера правил в цепочке
- chmod +x /etc/init.d/firewall.sh
- mcedit rc.local
/etc/init.d/firewall.sh
Centos 7 автозапуск
touch /etc/systemd/system/firewall.service
chmod 664 /etc/systemd/system/firewall.service
nano /etc/systemd/system/firewall.service
[Unit]
Description=Routing Settings Service
After=network.target
[Service]
Type=oneshot
User=root
ExecStart=/etc/init.d/firewall.sh
[Install]
WantedBy=multi-user.target
- systemctl start firewall
- systemctl enable firewall
ошибка не меняются вкладки, везде отображается home
в логе /var/log/php-fpm/www-error.log пишет
Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session)
решение создать каталог /var/lib/php/session и дать права на него
- mkdir /var/lib/php/session
- chown -R apache:apache /var/lib/php/session
chown -R apache:apache /usr/local/nfsen
статистика использования протокола ssh
src or dst port 22
Куда ходила машина с адресом 10.96.0.120 по протоколам HTTP и HTTPS
ip 10.96.0.120 and (port 80 or port 443)
man nfdumpПример:
Src net 192.168.1.0/24 and ( dst net 68.30.13.0/20 or dst net 1.2.3.4/24 ) Src net 192.168.1.0/24 and not (net 68.30.13.0/20 or net 154.23.95/22)Защищаем паролем веб:
https://mikbill.blogspot.com/2016/01/nginx.html
Подключаем плагин карты:
# wget http://sourceforge.net/projects/surfmap/files/source/SURFmap_v3.3.1.tar.gzпроверяем в папке /usr/local/nfsen/plugins
# tar -xvzf SURFmap_v3.3.1.tar.gz
# cd SURFmap
# ./install.sh
# service nfsen restart
Подключаем плагин Portracker
отслеживает 10 наиболее активных портов и отображает их на графике
для работы нужно заново собрать nfdump
# cd nfdump-1.6.13Создаем новую директорию для nftrack данных
# ./configure --prefix /usr --enable-nfprofile --enable-nftrack
# make
$ mkdir -p /var/log/netflow/porttrackerПереносим плагин (лежит в /nfsen-1.3.7/contrib/PortTracker)
$ chown apache /var/log/netflow/porttracker
$ cp PortTracker.pm /var/nfsen/plugins/Добавляем путь в конфиге PortTracker.pm
$ cp PortTracker.php /var/www/nfsen/plugins/
my $PORTSDBDIR = "/data/ports-db";меняем на
my $PORTSDBDIR = "/var/log/netflow/porttracker";Идем в директорию с установщиком nfsen, добавляем плагин в конфиг
mcedit etc/nfsen.conf
@plugins = (Переустанавливаем nfsen
[ ’live’, ’PortTracker’],
);
./install.pl etc/nfsen.confИнициализируем базу данных portracker
$ sudo -u www-data nftrack -I -d /var/log/netflow/porttracker(ошибка- sudo: nftrack: command not found говорит о том, что nfdump собран без -nftrack)
$ chown -R netflow:www-data /var/log/netflow/porttrackerservice nfsen restart
$ chmod -R 775 /var/log/netflow/porttracker
Ошибка “Cannot Read Stats file”
не проинициализирован каталог /var/log/netflow/porttracker или нет прав на него.
Проверка
# ls -l /var/log/netflow/porttracker/portstat*
-rw-r--r-- 1 apache root 585 Jan 19 02:15 /var/log/netflow/porttracker/portstat24.txtтут хранится база устройсва router
-rw-r--r-- 1 apache root 597 Jan 19 02:15 /var/log/netflow/porttracker/portstat.txt
/usr/local/nfsen/profiles-data/live/router
Команды
(Тестировано на дебиан)
Тестирование nfcapd и nfdump
mkdir /tmp/nfcap-testЧерез какое-то время, серия потоков должна появиться на экране.(у меня минут 5 прошло)
nfcapd -E -p 9001 -l /tmp/nfcap-test
Остановите программу, нажав CTRL+C, потом посмотрите на каталог /tmp/nfcap-test
$ ls -l /tmp/nfcap-test
Вы должны увидеть один или несколько файлов вида nfcapd.<YEAR><MON><DAY><HR><MIN>
Пропустите файл(ы) через nfdump:
nfdump -r /tmp/nfcap-test/nfcapd.201Ywwxxyyzz | less
nfdump -r /tmp/nfcap-test/nfcapd.201Ywwxxyyzz -s srcip/bytes
Настройка сбора netflow с cisco
https://mikbill.blogspot.com/2018/09/netflow-cisco.html
По фильтрам:
https://nsrc.org/workshops/2014/caren-nsrc-dante/raw-attachment/wiki/Agenda/exercise3-nfsen-top-talkers-vRU.htm
Инфа по установке, настройке
http://voipnotes.ru/lovim-netflow-pri-pomoshi-nfdump-i-nfsen/
Подключение карт google
http://sourceforge.net/projects/surfmap/
По установке, профили по графикам
http://www.natalink.ru/articles/analiz_statistiki_netflow_pri_pomoschi_nfsen
Возможности nfsen на русском
https://nsrc.org/workshops/2014/caren-nsrc-dante/raw-attachment/wiki/Agenda/nfsen-vRU.pdf
Описание
http://meetings.ripe.net/ripe-50/presentations/ripe50-plenary-tue-nfsen-nfdump.pdf
Неплохой мануал по установке(делал плагин Portracker)
Еще по установке
https://voipnotes.ru/lovim-netflow-pri-pomoshi-nfdump-i-nfsen/
Установка сенсора fprobe (Debian)
- apt-get install fprobe
- nano /etc/default/fprobe
INTERFACE="any"
FLOW_COLLECTOR="localhost:9001"
OTHER_ARGS="-fip"
Строчка INTERFACE указывает, что следует перехватывать трафик на всех доступных интерфейсах.
FLOW_COLLECTOR указывает IP-адрес и порт, на котором коллектор будет принимать UDP-пакеты.
OTHER_ARGS указывает прочие опции. В данном случае указан фильтр, отбирающий только IP-пакеты (ARP-пакеты учитываться не будут).
проверяем
ps ax|grep fprobe
Сенсор микротик


Комментарии
Отправить комментарий