Netflow. Centos 7. Коллектор Centos 7 + Сенсор Mikrotik

Материал из Wiki
Перейти к навигации Перейти к поиску

Коллектор Centos 7

Selinux disable

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

reboot

Firewall disable

systemctl stop firewalld

systemctl disable firewalld

Установка пакетов

yum update -y

yum install gcc flex rrdtool-devel

wget https://downloads.sourceforge.net/project/nfdump/stable/nfdump-1.6.13/nfdump-1.6.13.tar.gz

tar -xf nfdump-1.6.13.tar.gz

cd nfdump-1.6.13/

./configure --prefix=/opt/nfdump-1.6.13 --enable-nfprofile

make && make check

make install && make install check

Проверяем расположение nfdump

find /opt/nfdump-1.6.13/

Подготовка хранилища для данных:

mkdir /var/netflow

Первичная установка NfSen из архива

(в /etc/src/ будет лежать директория инсталляции nfsen

Директории назначения и настройки укажем в nfsen.conf)

wget https://downloads.sourceforge.net/project/nfsen/stable/nfsen-1.3.8/nfsen-1.3.8.tar.gz

tar -xf /tmp/nfsen-1.3.8.tar.gz -C /usr/src/

cd /usr/src/nfsen-1.3.8/

cp etc/nfsen-dist.conf etc/nfsen.conf

Подготовка конфигурации для рабочей установки:

nano etc/nfsen.conf

...
 $BASEDIR='/opt/nfsen';
 $HTMLDIR='/var/www/html/nfsen';
 $PROFILEDATADIR='/mnt/netflow/profiles-data';
 $PREFIX='/opt/nfdump-1.6.13/bin';
 $WWWUSER='apache';
 $WWWGROUP='apache';
 %sources = (
 'mikrotik-tmb-17' => { 'port' => '9996', 'col' => '#abcdef', 'type' => 'netflow' },
 );
...

Установка зависимостей для полноценной работы NfSen:

yum install cpan httpd php rrdtool-perl perl-MailTools perl-Socket6 perl-Sys-Syslog

cpan Mail::Header

cpan Mail::Internet

Добавить отдельного пользователя под которым будут работать NfSen в связке с инструментами из пакета NFDUMP:

useradd -c 'Netflow user' -G apache netflow

Указать правильную часовую зону для PHP:

nano /etc/php.ini

...
date.timezone = Europe/Moscow
...

Запустить perl-скрипт первичной установки:

cd /usr/src/nfsen-1.3.8/

./install.pl etc/nfsen.conf

Добавить символьную ссылку, чтобы не смотреть содержимое каталога при обращении по адресу http://srvX/nfsen:

cd /var/www/html/nfsen/

ln -s nfsen.php index.php

Настройка конфигурации nfsen для httpd

nano /etc/httpd/conf.d/nfsen.conf

Alias /nfsen /var/www/html/nfsen
<Directory /var/www/html/nfsen>
    DirectoryIndex index.php
        <IfModule mod_authz_core.c>
            # Apache 2.4
            Require all granted
        </IfModule>
        <IfModule !mod_authz_core.c>
            # Apache 2.2
            Order Deny,Allow
            Allow from All
            Allow from ::1
        </IfModule>
        Order deny,allow
        Allow from all
</Directory>

systemctl start httpd.service

systemctl enable httpd.service

Запуск

Корректнее создать службу (см. далее)

/opt/nfsen/bin/nfsen start

Создание службы для автозапуска

mkdir /root/scripts

nano /root/scripts/nfsen_start.sh

#!/bin/bash
/opt/nfsen/bin/nfsen start

nano /etc/systemd/system/nfsen.service

[Unit]
Description=Nfsen
Requires=network.target
After=network.target

[Service]
ExecStart=/root/scripts/nfsen_start.sh -n
Type=forking

[Install]
WantedBy=multi-user.target

systemctl start nfsen

systemctl enable nfsen

Обновление конфигурации "на лету":

nano /opt/nfsen/etc/nfsen.conf

/opt/nfsen/bin/nfsen reconfig

Остановка

/opt/nfsen/bin/nfsen stop

Обновление конфигурации при остановленном NfSen:

nano /opt/nfsen/etc/nfsen.conf

/opt/nfsen/bin/nfsen reconfig

/opt/nfsen/bin/nfsen start

Сенсор Mikrotik

192.168.17.7:9996 - адрес и порт (для микротика) коллектора

/ip traffic-flow set enabled=yes interfaces=all

/ip traffic-flow target add address=192.168.17.7:9996 version=5

Примеры фильтра на коллекторе

proto tcp and ip 192.168.17.7
tcp and ( src ip 172.16.17.18 or dst ip 172.16.17.19)
tcp and ( net 172.16/16 and src port > 1024 and dst port 80 ) and bytes > 2048