• Главная
  • Карта сайта
Не найдено

Керівництво по використанню NetFlow для обліку трафіку

  1. архітектура NetFlow
  2. Інсталяція і налаштування сенсора
  3. запуск сенсора
  4. Перевірка
  5. стартовий скрипт
  6. Інсталяція і налаштування колектора
  7. інсталяція колектора
  8. запуск колектора
  9. Перевірка
  10. стартовий скрипт
  11. Інсталяція модуля Cflow.pm
  12. Установка Cflow з flow-tools / contribs
  13. Обробка і візуалізація даних NetFlow
  14. установка FlowScan
  15. конфігурація CUFlow
  16. Збереження записів Netflow з FlowScan
  17. запуск FlowScan
  18. побудова графіків
  19. Інтеграція засобів візуалізації Netflow і Cacti
  20. додаткова інформація
  21. програмне забезпечення
  22. джерела

Матеріал з Xgu.ru.

редактор: Ігор Чубин
оригінал: xgu.ru/wiki/NetFlow

Дана стаття розповідає про те, як організувати збір, обробку та візуалізацію інформації про мережевий трафік. Вона складена на основі статей [1] і [2] , І їх перекладів на російську мову [3] і [4] відповідно.

Крім того, додані:

  • невелике введення про термінологію NetFlow, основних елементів і принципах їх спільної роботи;
  • стартові скрипти для сенсора і колектора;
  • посилання на вільне програмне забезпечення NetFlow;
  • невеликі зміни вихідних статей.

Розглядається випадок, коли в якості основної операційної системи використовується FreeBSD. При використанні Linux необхідні невеликі зміни в скриптах і іменах конфігураційних файлів.

архітектура NetFlow

Netflow надає можливість аналізу мережевого трафіку на рівні сеансів, роблячи запис про кожну транзакції TCP / IP. Інформація не настільки докладна, як надається tcpdump'ом, але представляє досить докладну статистику.

Netflow має три найголовніших компонента:

  1. сенсор;
  2. колектор;
  3. система обробки та подання даних.

Сенсор - демон, який слухає мережу і фіксує дані сеансу. Також як Snort або будь-яка інша система виявлення вторгнень, колектор повинен мати можливість підключитися до хабу, "віддзеркалювати" порту комутатора або будь-якого іншого пристрою, для перегляду мережевого трафіку. Якщо ви використовуєте систему пакетної фільтрації на базі BSD або Linux, то це чудове місце для колектора Netflow, так як весь трафік буде проходити через цю точку. Сенсор буде збирати інформацію про сеанси і скидати її в колектор.

Колектор - другий демон, який слухає на UDP порту, вказаною вами і здійснює збір інформації від сенсора. Отримані дані він скидає в файл для подальшої обробки. Різні колектори зберігають дані в різних форматах.

Нарешті, система обробки читає ці файли і генерує звіти у формі, більш зручною для людини. Ця система повинна бути сумісна з форматом даних, що надаються колектором.

Як кожного з елементів системи може використовуватися кілька різних варіантів програм. Список доступного програмного забезпечення, призначеного для роботи з NetFlow наведено нижче .

Ми розглянемо свзяку:

  • softflowd як сенсор
  • flow-capture (з комплекту flow-tools) в якості колектора
  • flow-stat (з комплекту flow-tools) для аналізу в текстовому рядку
  • flowscan для візуалізації та подання в Web

softflowd як сенсор   flow-capture (з комплекту flow-tools) в якості колектора   flow-stat (з комплекту flow-tools) для аналізу в текстовому рядку   flowscan для візуалізації та подання в Web

Інсталяція і налаштування сенсора

інсталяція сенсора

Як програмне забезпечення сенсора будемо використовувати softflowd [5] . Інше програмне забезпечення, яке може використовуватися як сенсор, перераховано нижче .

Інсталяція softflowd:

#make all #install clean

Для роботи softlflowd потрібна наявність libpcap. У FreeBSD може використовуватися ng_netflow, в цьому випадку libpcap не обов'язковий.

запуск сенсора

Після того, як softflowd був встановлений, необхідно вибрати інтерфейс, моніторинг якого буде проводитися, вказати IP адреса і UDP порт колектора. Наприклад, для інтерфейсу em0 і колектора 172.16.13.5:8818 запуск softflowd буде виглядати наступним чином:

# Softflowd -i em0 -n 172.16.13.5:8818

Сенсор негайно почне слухати мережу і посилати інформацію на колектор.

Для того щоб програма працювала після перезавантаження, необхідно переконатися, що вона стартує на етапі початкового завантаження!

Перевірка

Softflowd включає в себе програму контролю softflowctl, за допомогою якої можна перевірити працездатність softflow:

# Softflowctl statistics softflowd [40475]: Accumulated statistics: Number of active flows: 2298 Packets processed: 268086 Fragments: 0 Ignored packets: 867 (867 non-IP, 0 too short) Flows expired: 3103 (0 forced) Flows exported: 6206 in 214 packets (0 failures) ...

Для того щоб подивитися інформацію про самих потоках, дайте команду:

# Softflowctl dump-flows softflowd [3716]: Dumping flow data: ACTIVE seq: 2 [192.168.15.21]: 57660 <> [192.168.15.254]: 18030 proto: 6 octets>: 3088 packets>: 5 octets <: 164 packets <: 3 start: 2006-05-27T06: 39: 58.098 finish: 2006-05-27T06: 39: 58.098 tcp>: 1b tcp <: 13 flowlabel>: 00000000 flowlabel <: 00000000 EXPIRY EVENT for flow 2 in 208 seconds. ..

У цьому висновку нас буде цікавити число активних потоків (2298) і рядок "exported", що повідомляє про кількість експортованих потоків в колектор.

Перевірити, чи дійсно дані відправляються і досягають колектора можна за допомогою ethereal , tcpdump або іншого аналізатора трафіку. У разі будь-яких проблем можна використовувати прапор -D демона softflowd. Softflowd посилає інформацію про потік після того, як той буде завершений, наприклад, припиниться FTP-сесія або завантажиться web-сторінка. Це означає, що в будь-який момент часу у softflowd є якийсь кеш відкритих потоків, в зв'язку з чим зупинку демона необхідно виконувати командою softflowctl shutdown. В іншому випадку ви втратите дані активних потоків, які ще не були завершені і відправлені на колектор.

стартовий скрипт

Для того щоб softflowd стартував при завантаженні автоматично, необхідно створити скрипт запуску і додати його в завантаження системи. На жаль, поки що в порт softflowd такий скрипт не входить, тому його прийдется створити самостійно:

#! / bin / sh# Set this rc.conf variables# * softflowd_enable - enable softflowd?# * Softflowd_interfaces - interfaces to listen# * softflowd_netflow_host - collector host# * softflowd_netflow_port - collector port# in rc.conf variables# Example:# softflowd_interfaces = "em0 em1 xl0"# softflowd_netflow_host =# softflowd_netflow_port =.

/etc/rc.conf if! PREFIX = $ (expr $ 0: "\ (/.* \) / etc / rc \ .d / $ (basename $ 0) \ $"); then echo "$ 0: Can not determine the PREFIX"> & 2 exit 1 fi echo "$ softflowd_enable" | grep -qix yes || exit [-z "$ softflowd_interfaces"] && exit case "$ 1" in start) [-x $ {PREFIX} / sbin / softflowd] || exit SOFTFLOWD = $ {PREFIX} / sbin / softflowd SOFTFLOWCTL = $ {PREFIX} / sbin / softflowctl for interface in $ {softflowd_interfaces} do $ {SOFTFLOWD} -i $ {interface} -n "$ softflowd_netflow_host": "$ softflowd_netflow_port" echo -n softflowd [$ interface] "" softflowd_netflow_port = "` expr $ softflowd_netflow_port + 1 ' "done ;; stop) $ {SOFTFLOWCTL} shutdown && echo -n 'softflowd' ;; *) Echo "Usage:` basename $ 0` {start | stop} "> & 2 ;; esac exit 0


Після того як скрипт створений, необхідно:

  • переконатися, що він знаходиться в каталозі / usr / local / etc
  • переконатися, що він має розширення .sh
  • переконатися, що він виконується, або дати команду:

# Chmod + x /usr/local/etc/rc.d/softflowd.sh

Для запуску скрипта в файлі /etc/rc.conf слід встановити змінні:

  • softflowd_enable - запускати softflowd при старті?
  • softflowd_interfaces - які інтерфейси прослуховувати?
  • softflowd_netflow_host - IP-адреса хоста колектора NetFlow
  • softflowd_netflow_port - Порт на якому слухає процес-колектор NetFlow

Запуск і зупинка скрипта виконуються командами:

# /Usr/local/etc/rc.d/softflowd.sh start # /usr/local/etc/rc.d/softflowd.sh stop

Інсталяція і налаштування колектора

Колектор NetFlow призначений для збору даних, що надаються сенсором і збереження їх на диск для подальшого зберігання та обробки.

інсталяція колектора

Як Netflow-колектора будемо використовувати flow-capture, дуже популярний колектор Netflow, що входить до складу пакету flow-tools.

У FreeBSD порт flow-tools розташовується в каталозі / usr / ports / net-mgmt / flow-tools. Встановіть його звичайним "make all install." Не робіть "make clean", так як, можливо, вам доведеться встановлювати деякі компоненти вручну. З цієї самої причини не рекомендується використовувати прекомпілірованние пакет.

# Cd / usr / ports / net-mgmt / flow-tools # make all install # # Не робіть make clean!

Створіть каталог в якому flow-capture буде зберігати свої дані. Нехай це буде / var / netflow. Переконайтеся, що на дисковому розділі, в якому створюється каталог, досить вільного місця: на швидкісній мережі дані Netflow можуть скласти кілька гігабайт на тиждень.

Для роботи системи відображення, необхідно створити каталог saved.

запуск колектора

Тепер нам необхідно виконати стартовий скрипт flow-capture. Виглядає він у такий спосіб:

# / Usr / local / bin / flow-capture -p /var/run/flow-capture.pid -n 287 \ -N 0 -w / var / netflows / -S 5 0/0/8818

Більшість параметрів можна залишити без изменеия. Прапор -w вказує каталог даних, заключний аргумент позначає локальний IP, видалення IP і прослуховується UDP порт. В цьому випадку, значення 0/0/8818 вказує колектору слухати на всіх локальних IP адреси, приймати дані з будь-яких віддалених хостів, порт 8818. У разі, якщо ви побоюєтеся приймати чужі данне, то жорстко задайте адресу сенсора.

Параметр -n вказує, скільки разів flow-capture повинен створювати новий файл. Параметр -N задає глибину ієрархії каталогів, в яких будуть зберігатися файли з даними NetFlow. Параметр -S вказує розмір інтервалу в хвилинах, протягом якого flow-capture буде записувати інформацію про лічильниках пакетів в файл.

Після старту flow-capture дані починають збиратися в робочому каталозі. Файл визначається як версія Netflow, дата і час початку збору даних. Наприклад, ім'я файлу tmp-v05.2005-04-28.201001-0400 означає тимчасовий файл, який містить дані 5 версії Netflow, зібрані 28 квітня 2005 з 20:10:01, тимчасова зона -4 години від Грінвіча. Кожні п'ять хвилин flow-capture переміщує тимчасовий файл в постійне місце розташування і починає новий тимчасовий файл. На відміну від тимчасового, файл, поміщений на постійне зберігання, починається на ft, але має той же префікс.

Перевірка

Для того, щоб переконатися, що дані збираються, подивіться, по-перше, чи з'явилися файли в каталозі netflow, а по-друге, збільшується розмір тимчасового файлу.

стартовий скрипт

Точно також як і для softflowd, для того щоб колектор стартував автоматично, необхідно створити скрипт запуску і додати його в завантаження системи. У порт flow-tools такий скрипт не входить, тому його прийдется створити самостійно:

#! / bin / sh# Set this rc.conf variables# * flowcapture_enable - enable flow-capture?# * Flowcapture_port - port to listen to netflow data [optional]# * flowcapture_dir - directory to place netflow statistics files to [optional]# * flowcapture_flags - override default specified in the script# and port and dir variables [optional]

flowcapture_port = 8818 flowcapture_dir = / var / netflow flowcapture_pid = / var / run / flow-capture.pid. /etc/rc.conf if! PREFIX = $ (expr $ 0: "\ (/.* \) / etc / rc \ .d / $ (basename $ 0) \ $"); then echo "$ 0: Can not determine the PREFIX"> & 2 exit 1 fi echo "$ flowcapture_enable" | grep -qix yes || exit case "$ 1" in start) [-x $ {PREFIX} / bin / flow-capture] || exit FLOWCAPTURE = $ {PREFIX} / bin / flow-capture port = "$ flowcapture_port" for dir in $ flowcapture_dir do [-z "$ flowcapture_flags"] && \ flags = "-p $ {flowcapture_pid} -n 287 -N 0 -w $ {dir} -S 5 0/0 / $ {port} "$ {FLOWCAPTURE} $ {flags} port =" `expr $ port + 1 '" done ;; stop) port = "$ flowcapture_port" for dir in $ flowcapture_dir do [-e "$ {flowcapture_pid}. $ {port}"] || {Echo NetFlow collector flow-capture is not running on port $ port; exit; } Kill "` cat $ {flowcapture_pid}. $ {Port} `" 2> / dev / null && echo -n 'flow-capture:' $ port '' port = "` expr $ port + 1 ' "done ;; *) Echo "Usage:` basename $ 0` {start | stop} "> & 2 ;; esac exit 0

Після того як скрипт створений, необхідно:

  • переконатися, що він знаходиться в каталозі / usr / local / etc
  • переконатися, що він має розширення .sh
  • переконатися, що він виконується, або дати команду:

# Chmod + x /usr/local/etc/rc.d/flowcapture.sh

Для запуску скрипта в файлі /etc/rc.conf слід встановити змінні:

  • flowcapture_enable - Запускати flow-capture при старті?
  • flowcapture_port - Порт, на якому повинен слухати колектор NetFlow (опціонально; за замовчуванням 8818)
  • flowcapture_dir - Ім'я каталогу, в який повинні складатися файли даних колектора NetFlow (опціонально; за замовчуванням / var / netflow)
  • flowcapture_flags - вказати прапори для запуску flow-capture вручну. Перекриває інші змінні. Прапор потрібно вказувати тільки в тому випадку, якщо необхідно перекрити значення, що використовуються в скрипті

Якщо потрібно запустити кілька копій flow-capture, необхідно задати кілька каталогів для запису даних в змінної flowcapture_dir. Прослуховується порт, в цьому випадку, буде автоматично збільшуватися на 1 для кожної копії flow-capture. Наприклад, нехай:

flowcapture_dir = "/ var / netflow / in / var / netflow / out" flowcapture_port = 8818

Тоді дані, що надходять на порт 8818 буду потрапляти в каталог / var / netflow / in, а, що надходять на порт 8819 - в каталог / var / netflow / out.

Запуск і зупинка скрипта виконуються командами:

# /Usr/local/etc/rc.d/flowcapture.sh start # /usr/local/etc/rc.d/flowcapture.sh stop

Інсталяція модуля Cflow.pm

Інформація в цих файлах знаходиться в бінарному форматі, що вимагає для перегляду спеціальних інструментальних засобів. Багато з тих інструментальних засобів використовують модуль Cflow.pm.

Cflow це perl-модуль, що надає API для читання двоічнх файлів даних NetFlow-колекторів, таких як argus, cflowd, flow-tools і lfapd.

Велика кількість програм складання звітів Netflow використовують perl модуль Cflow.pm для читання файлів Netflow. Цей модуль включає в себе бібліотеки і утиліти командного рядка, необхідні для перегляду і редагування файлів даних. Кожен колектор має власний формат зберігання файлів і хоча Cflow.pm спочатку створювався для читання файлів cflowd (8), зараз він здатний обробляти і інші формати.

В останніх версіях FreeBSD / usr / ports / net-mgmt / p5-Cflow автоматично виявляє бібліотеки flow-tools. Cflow викликає їх як -lnsl і в разі помилки видається попередження.

Note (probably harmless): No library found for -lnsl

Якщо ви побачили це попередження, то саме час почати хвилюватися - це означає, що Cflow працювати не буде! В цьому випадку необхідно деінсталювати пакет і встановити його як розказано нижче .


Якщо попередження не з'явилося, необхідно виконати перевірку працездатності. Cflow включає в себе утиліту flowdumper (1), яка читає файли даних з командного рядка. Скористаємося їй.

#flowdumper -s ft-v05.2005-04-28.201501-0400 | more 2005/04/28 19:14:01 172.16.30.247.80 -> 216.98.200.250.63647 6 (SYN | ACK) 3 144 2005/04/28 19:14:01 216.98.200.250.63647 -> 172.16. 30.247.80 6 (SYN) 1 48 2005/04/28 19:14:01 172.16.30.247.80 -> 216.98.200.250.63648 6 (SYN | ACK) 3 144 2005/04/28 19:14:01 216.98 .200.250.63648 -> 172.16.30.247.80 6 (SYN) 1 48 ...

У короткому (short, -s) режимі кожен рядок - потік. Вона включає в себе адресу джерела і призначення, тип транзакції і кількість пакетів і байтів в цьому потоці в наступному форматі:

  • дата;
  • час;
  • IP-адрес.порт відправника;
  • IP-адрес.порт одержувача;
  • прапори;
  • кількість пакетів в потоці;
  • кількість байтів в потоці.

У показаному вище прикладі представлено дві TCP / IP сесії - перший рядок вказує на трафік, що виходить з 172.16.30.247, порт 80, на хост 216.98.200.25. Наступний рядок показує трафік, що йде в зворотному напрямку.

Якщо інсталяція пройшла успішно, можна перейти до наступного розділу. В іншому випадку необхідно виконати дії, описані нижче.

Установка Cflow з flow-tools / contribs

У разі некоректної установки, flowdumper виведе помилку або нічого не виведе.

$ Flowdumper -v ft-v05.2006-05-24.150001 + 0300 ft-v05.2006-05-24.150001 + 0300: Invalid index in cflowd flow file: 0xCF100103! Version 5 flow-export is required with * all * fields being saved.

Якщо така ситуація сталася, продовжувати роботу не вийде. Необхідно деінсталювати p5-Cflow і спробувати встановити його в інший спосіб.

В теці джерельних кодів flow-tools повинен знаходитися каталог contrib. У підкаталозі contrib у нас усть інший архів Cflow. Розпакуємо його:

# Cd /usr/ports/net-mgmt/flow-tools/work/flow-tools-0.67/contrib # tar -xzvf Cflow-1.051.tar.gz #

Cflow часто збирає правильну бібліотеку, коли встановлюється flow-tools. Виконаємо збірку модуля:

# Perl Makefile.PL # make # make install

Пробуйте flowdumper знову, все повинно працювати.

В іншому випадку, можна застосувати рішення "в лоб". Flow-tools встановлює libft.a в каталог / usr / local / lib. Відредагуємо Makefile.PL модуля Cflow.pm в частині, що стосується бібліотек flow-tools:

sub find_flow_tools {my ($ ver, $ dir); my ($ libdir, $ incdir); if (-f '../../lib/libft.a') {$ dir = '../../lib'; $ Incdir = "-I $ dir -I $ dir / .."; $ Libdir = "-L $ dir"; }

замінимо

if (-f '../../lib/libft.a') {

на

if (-f '/usr/local/lib/libft.a') {

Після виконання make і make install чого ми працездатний flow-tools повинен бути встановлений.

За допомогою CFlow можна написати безліч різноманітних скриптів, які вирішують найрізноманітніші завдання обробки і візуалізації.

Обробка і візуалізація даних NetFlow


FlowScan є скриптом, написаним на Perl і, аналізуючи записи NetFlow, зберігає їх у базі даних RRD , Round Robin Database. RRD призначений для зберігання постійно змінюються даних, найбільш важливими з яких є останні дані, а більш старі мають не таке важливе значення, і тому можуть зберігатися не цілком, а в усередненому вигляді. За рахунок цього RRD не вимагає багато дискового простору навіть для зберігання інформації про великих проміжках часу.

FlowScan дозволяє стороннім модулів використовувати свої процеси, для генерування власних звітів. Нижче розглядається один з таких модулів - CUFlow і CGI-скрипт CUGrapher.pl, який дозволяє отримати доступ до нього через Web-інтерфейс.

pl, який дозволяє отримати доступ до нього через Web-інтерфейс

установка FlowScan

Установку flowscan ми будемо робити з системи портів, каталог програми знаходиться в / usr / ports / net-mgmt / flowscan. Таже будуть встановленні кілька модулів Perl в якості залежностей. Весь інструментарій FlowScan буде за замовчуванням встановлений в / usr / local / var / db / flows / bin. Врахуйте, що відразу після установки FlowScan не працездатний!

Перш за все, нам необхідно оновити модуль FlowScan, так як офіційний дистрибутив довгий час не оновлювався і не здатний обробляти записи потоку. Автор написав оновлений модуль flowscan.pm, але не включив його до складу дистрибутива. Отримайте FlowScan.pm версії [6] і скопіюйте її в каталог / usr / local / var / db / flows / bin, перезаписавши модуль версії 1.5.

У Цьому ж самому каталозі знаходиться зразковий файл конфігурації FlowScan flowscan.cf.sample. В першу чергу необхідно вказати FlowScan, де шукати файли потоку. FlowScan намагатиметься обробити кожен файл в каталозі, якщо ви не вкажіть регулярний вираз, що описує необхідні файли, включаючи тимчасові файли і вкладені каталоги. У наступному прикладі ми обробляємо тільки завершені файли потоку, що зберігаються в каталозі / var / netflows:

FlowFileGlob / var / netflows / ft-v * [0-9]

У ReportClasses перераховуються всі використовувані для виведення звітів модулі. FlowScan поставляється з двома модулями: CampusIO і SubNetIO. Можливо, вони впоследтсвіі виявляться комусь корисними, але зараз буде використовуватися CUFlow.

ReportClasses CUFlow

Параметр WaitSeconds задає інтервал очікування між спробами FlowScan перевірити каталог. Досить багато інструментальних засобів використовують п'ятихвилинний інтервал і можуть функціонувати належним чином з меншим значенням.

WaitSeconds 300

На закінчення, включимо налагодження для перевірки правильності встановлення:

Verbose 1

Конфігурація FlowScan закінчено, але нам все ще необхідно налаштувати модуль звітів для правильного відображення інформації.

конфігурація CUFlow

скачайте [7] , Розпакуйте і скопіюйте CUFlow.pm і CUFlow.cf в / usr / local / var / db / flows / bin. Сам модуль можна залишити без змін, але необхідно відредагувати cuflow.cf, щоб він відповідав вашим налаштувань Perl.

Інструкція Subnet вказує належать вам мережі. На підставі цих даних CUFlow буде розрізняти вхідний і вихідний трафік.

Subnet 192.168.2 / 23

Інструкція Network описує мережі, які ви хочете обробляти окремо один від одного. Кожна інструкція буде відображатися як варіант в CGI скрипт. Як ви бачите в цьому прикладі, діапазони можуть перекриватися:

Network 192.168.2.3,192.168.2.5,192.168.3.80 webservers Network 192.168.2.9,192.168.3.1 mailservers Network 192.168.2.0/25 infrastructure Network 192.168.2.128/25 dmz Network 192.168.3.0/25 administration Network 192.168.3.128/25 development

Директивою OutputDir вказується, де зберігати звіти. Не зберігайте їх у доступному по мережі місці або в каталозі flow-capture.

OutputDir / var / log / cuflow

CUFlow також обчислює найактивніші сайти і будує "хіт-парад" IP адрес, які передали більшу кількість трафіку протягом 5 хвилин. За цей параметр відповідає опція Scoreboard. Ця опція використовує три аргументи: число IP в "хіт-параді", ім'я каталогу для зберігання старих списків і ім'я файлу поточного списку. У наступному прикладі вказується вести "Top 10" IP адрес, зберігати звіти в / usr / local / www / data / scoreboard і поточним вважати файл /usr/local/www/data/scoreboard/topten.html:

Scoreboard 10 / usr / local / www / data / scoreboard \ /usr/local/www/data/scoreboard/topten.html

У той час як список найбільших споживачів / генераторів трафіку в даний п'ятихвилинний період корисний для запобігання проблем, так само був би корисний список найактивніших хостів. Опція AggregateScore дозволяє вам зробити це:

AggregateScore 10 /var/log/cuflow/agg.dat /usr/local/www/data/overall.html

Якщо у вас досить складна мережа, то може виникнути необхідність в декількох сенсорах Netflow. CUFlow може відокремлювати дані від різних сенсорів, при цьому різні маршрутизатори буду доступні в CUFlow CGI.

Router 192.168.2.1 fred Router 192.168.3.1 barney

Директива Services призначена для вказівки TCP / IP портів, які ви хочете відстежувати окремо. Ця директива дозволяє вам робити такі висновки як "80% нашого трафіку припадає на HTTP" тощо. Врахуйте, що це підвищує навантаження на сервер, тому не варто тут вказувати весь / etc / services. Не варто вказувати сервіси, які заблоковані, наприклад Gnutella, Edonkey і т.д:

Service 20-21 / tcp ftp Service 22 / tcp ssh Service 23 / tcp telnet


Директива Protocol дуже схожа на Services, тільки замість Layer 4 використовується Layer 4 моделі OSI. Я рекомендую вказувати Protocol 1 (ICMP), Protocol 6 (UDP) і Protocol 17 (TCP) в якості базового мінімуму. Якщо є багато користувачів VPN то варто відстежувати IPSec і GRE.

Protocol 1 icmp Protocol 6 tcp Protocol 17 udp


Так як Netflow був розроблений в Cisco, то не дивно, що багато Netflow датчиків включають інформацію BGP. CUFlow може відображати інформацію про трафік до / від різних AS, використовуючи для цього номер AS (опція ASNumber), softflowd НЕ предосталяет інформацію про номер автономної системи. У разі використання softflowd закоментуйте опцію ASNumber.

Збереження записів Netflow з FlowScan

За замовчуванням, FlowScan видаляє записи після обробки. Можна зберігати ці записи протягом декількох місяців або поки дозволяє дисковий простір. Створіть підкаталог saved в директорії Netflow і тоді FlowScan автоматично буде зберігати там оброблені файли. Навіть якщо ви не плануєте зберігання старих файлів потоку, я рекомендую робити це хоча б перший час, поки ви не переконаєтеся, що FlowScan працює правильно. У разі, якщо щось піде не так, наявність цих данни полегшить пошук і усунення несправності.

запуск FlowScan

Теоретично у нас все готово до запуску:

# / Usr / local / var / db / flows / bin / flowscan


FlowScan повинен запуститися, виводячи подібні повідомлення:

2004/09/02 11:35:18 flowscan-1.020 CUFlow: Cflow :: find took 1 wallclock secs (0.60 usr + 0.02 sys = 0.62 CPU) for 43011 flow file bytes, flow hit ratio: 2759/2760 2004/09 / 02 11:35:18 flowscan-1.020 CUFlow: report took 0 wallclock secs (0.15 usr 0.19 sys + 0.02 cusr 0.09 csys = 0.44 CPU)


FlowScan аналізує всі старі файли потоку, при цьому процес можеть зайняти досить тривалий час, все залежить від того, скільки файлів накопичилося в системі. Гідну згадки річчю тут є "flow hit ratio", котороя вказує на кількість файлів, які не відповідають формату FlowScan і це дуже хороший показник. Якщо цей параметр дорівнює 0, то швидше за все ви неправильно вказали параметр Subnet.

Якщо FlowScan видає помилку "Invalid index in cflowd flow file", то швидше за все, ви не встановили нову версію модуля Flowscan.pm. Після обробки всіх файлів FlowScan виведе повідомлення "sleep 300 ...", протягом цього часу ви можете перевірити появу нових файлів потоку. Ви можете натиснути Ctrl-C для виходу з FlowScan. Ймовірно ви захочете запускати FlowScan на етапі початкового завантаження. Для цього перейдіть в каталог /usr/local/etc/rc.d і скопіюйте туди зразково-показовий скрипт flowscan.sh. Для його роботи зовсім необов'язково його редагувати, але можна змінити параметр logfile в разі, якщо ви використовуєте інший каталог.

Якщо FlowScan видає помилку "ERROR updating / var / netflow / ...: unknown option", необхідно внести виправлення в файл FlowScan.pm, описані в [8] .

Стартовий скрипт flowscan.sh:

#! / bin / sh# Set this rc.conf variables# * flowscan_enable - directory to place netflow statistics files to [optional]# * flowscan_dir - directory to place netflow statistics files to [optional]

flowscan_dir = / usr / local / var / db / flows. /etc/rc.conf echo "$ flowscan_enable" | grep -qix yes || exit case "$ 1" in start) echo Starting Flowscan from ... for dir in $ flowscan_dir / * do [-x $ dir / flowscan] || continue echo $ dir nohup $ dir / flowscan> / dev / null 2> & 1 & done echo Ok ;; stop) kill `ps aux | grep perl. * flowscan | grep -v grep | awk '{print $ 2}' `&& echo -n flowscan ;; *) Echo "Usage:` basename $ 0` {start | stop} "> & 2 ;; esac exit 0

побудова графіків

На щастя, побудова графіків з RRD файлів є досить тривіальним завданням. До складу CUFlow входить CGI скрипт, CUGrapher.pl. Скопіюйте його в каталог cgi-bin вашого web-сервера. Необхідно встановити дві змінні: $ rrddir і $ organization. Параметр $ rrddir вказує на каталог, де CUFlow зберігає файли RRD.

my $ rrddir = "/ var / log / cuflow";

Для виведення імені організації у верхній частині сторінки використовується змінна $ organization:

my $ organization = "Your Company Name";

Тепер перейдемо на URL і виберемо, для прикладу, мережа. Ви повинні будете побачити масив розкривних меню. Виберете будь-який і натисніть "Generate graph".

Інтеграція засобів візуалізації Netflow і Cacti

Інтеграція засобів візуалізації Netflow і Cacti

додаткова інформація

При написанні цього розділу використовувалися наступні матеріали:

Дивіться також:

програмне забезпечення

Сенсори NetFlow:

  • softflowd - Netflow-сенсор для Linux і FreeBSD
  • fprobe - NetFlow-сенсор для Linux, що базується на libpcap
  • nProbe - Розширюваний NetFlow-сенсор під Linux / FreeBSD і Windows

Колектори NetFlow:

  • argus by Carter Bullard
  • flow-tools by Mark Fullmer (with NetFlow v1, v5, v6, or v7)
  • CAIDA's cflowd 2.x by Daniel McRobb (with Cisco's NetFlow v5); Див. такоже [9]
  • lfapd by Steve Premeau (with Riverstone's LFAPv4):
  • flowc by Uninet Ltd. and Taras Shevchenko Kiev University
  • nfdump

Програми візуалізації даних NetFlow:

  • FlowScan
  • CUFlow
  • NfSen - NetFlow Sensor, Web-фронтенд для nfdump

джерела

При написанні використовувалися матеріали статей:


Спонсори:

Хостинг:



Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью