Перейти к содержимому
Калькуляторы

FastNetMon - программа для выявления входящих/исходящих атак

Да, фича делалась именно для такого случая :) Чудесная замена yes на on везде решит вашу проблему :)

И вправду решило) Запутался в on/off, yes/no

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я эту "фичу" исправлю, честно-честно :( Я уже и не помню, что мне в голову ударило сделать on и no вместо хотя бы on/off no/yes... :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я эту "фичу" исправлю, честно-честно :( Я уже и не помню, что мне в голову ударило сделать on и no вместо хотя бы on/off no/yes... :)

Павел вам нужно поработать над документацией. Потому что даже в вашем гите не сказано где лежит тот же самый конфиг. Я конечно понимаю что программа предназначена для узкого круга специалистов, но тем не менее это болезнь всех Русских программистов, что у вас документация с примерами отсутствует что в соседней теме theNOC project тоже документация и примеры отсутствуют. Хотя оба продукта очень интересные и аналогов у них нету.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Отличные новости! Начинаем бета-тестирование бинарных сборок под все ключевые платформы: https://github.com/FastVPSEestiOu/fastnetmon/blob/master/docs/PACKAGES_INSTALL.md !!! Фидбэк велкам :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я эту "фичу" исправлю, честно-честно :( Я уже и не помню, что мне в голову ударило сделать on и no вместо хотя бы on/off no/yes... :)

Павел вам нужно поработать над документацией. Потому что даже в вашем гите не сказано где лежит тот же самый конфиг. Я конечно понимаю что программа предназначена для узкого круга специалистов, но тем не менее это болезнь всех Русских программистов, что у вас документация с примерами отсутствует что в соседней теме theNOC project тоже документация и примеры отсутствуют. Хотя оба продукта очень интересные и аналогов у них нету.

 

Рекомендую подписаться на рассылку https://groups.google.com/forum/#!forum/fastnetmon и почитать архивы + подписаться на IRC. Функции новые и добавляются буквально каждую неделю и описываются именно там, обычно документация еще никуда не дублируется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Установлена dev версия из git.

Linux debian8 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64 GNU/Linux

 

В выводе клиента выводится статистика всегда для [max_ips_in_list + 1] IP адресов.

 

Куда посмотреть?

/etc/fastnetmon.conf

...

# Netmap traffic capture (very fast but need patched drivers)

mirror_netmap = on

 

# Port mirroring could be sampled

netmap_sampling_ratio = 1

...

###

### Client configuration

###

 

# Field used for sorting in client, could be: packets, bytes or flows

sort_parameter = packets

# How much IP's we will list for incoming and outgoing channel eaters

max_ips_in_list = 10

 

==========================================================

 

FastNetMon 1.1.3 master FastVPS Eesti OU © VPS and dedicated: http://FastVPS.host

IPs ordered by: packets

Incoming traffic 685494 pps 5665 mbps 0 flows

xxx.xxx.99.70 17325 pps 166 mbps 0 flows

xxx.xxx.99.93 17071 pps 157 mbps 0 flows

xxx.xxx.99.153 16270 pps 159 mbps 0 flows

xxx.xxx.99.66 15595 pps 164 mbps 0 flows

xxx.xxx.99.77 14381 pps 147 mbps 0 flows

xxx.xxx.99.103 14308 pps 148 mbps 0 flows

xxx.xxx.99.35 14228 pps 129 mbps 0 flows

xxx.xxx.99.131 13611 pps 116 mbps 0 flows

xxx.xxx.99.114 13539 pps 103 mbps 0 flows

xxx.xxx.99.140 12653 pps 131 mbps 0 flows

xxx.xxx.65.11 0 pps 0 mbps 0 flows

 

Outgoing traffic 481688 pps 1979 mbps 0 flows

xxx.xxx.99.70 12689 pps 35 mbps 0 flows

xxx.xxx.99.114 10749 pps 48 mbps 0 flows

xxx.xxx.99.71 9813 pps 45 mbps 0 flows

xxx.xxx.99.35 9773 pps 35 mbps 0 flows

xxx.xxx.99.131 9673 pps 34 mbps 0 flows

xxx.xxx.99.66 9317 pps 17 mbps 0 flows

xxx.xxx.99.28 9019 pps 73 mbps 0 flows

xxx.xxx.99.50 8926 pps 41 mbps 0 flows

xxx.xxx.99.81 8565 pps 48 mbps 0 flows

xxx.xxx.99.153 8216 pps 12 mbps 0 flows

xxx.xxx.65.11 0 pps 0 mbps 0 flows

 

Internal traffic 10 pps 0 mbps

 

Other traffic 14 pps 0 mbps

 

Screen updated in: 0 sec 987 microseconds

Traffic calculated in: 0 sec 2580 microseconds

Total amount of IPv6 packets related to our own network: 0

Total amount of not processed packets: 4488318

Изменено пользователем shaytan

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Установлена dev версия из git.

Linux debian8 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64 GNU/Linux

 

В выводе клиента выводится статистика всегда для [max_ips_in_list + 1] IP адресов.

 

Куда посмотреть?

/etc/fastnetmon.conf

...

# Netmap traffic capture (very fast but need patched drivers)

mirror_netmap = on

 

# Port mirroring could be sampled

netmap_sampling_ratio = 1

...

###

### Client configuration

###

 

# Field used for sorting in client, could be: packets, bytes or flows

sort_parameter = packets

# How much IP's we will list for incoming and outgoing channel eaters

max_ips_in_list = 10

 

==========================================================

 

FastNetMon 1.1.3 master FastVPS Eesti OU © VPS and dedicated: http://FastVPS.host

IPs ordered by: packets

Incoming traffic 685494 pps 5665 mbps 0 flows

xxx.xxx.99.70 17325 pps 166 mbps 0 flows

xxx.xxx.99.93 17071 pps 157 mbps 0 flows

xxx.xxx.99.153 16270 pps 159 mbps 0 flows

xxx.xxx.99.66 15595 pps 164 mbps 0 flows

xxx.xxx.99.77 14381 pps 147 mbps 0 flows

xxx.xxx.99.103 14308 pps 148 mbps 0 flows

xxx.xxx.99.35 14228 pps 129 mbps 0 flows

xxx.xxx.99.131 13611 pps 116 mbps 0 flows

xxx.xxx.99.114 13539 pps 103 mbps 0 flows

xxx.xxx.99.140 12653 pps 131 mbps 0 flows

xxx.xxx.65.11 0 pps 0 mbps 0 flows

 

Outgoing traffic 481688 pps 1979 mbps 0 flows

xxx.xxx.99.70 12689 pps 35 mbps 0 flows

xxx.xxx.99.114 10749 pps 48 mbps 0 flows

xxx.xxx.99.71 9813 pps 45 mbps 0 flows

xxx.xxx.99.35 9773 pps 35 mbps 0 flows

xxx.xxx.99.131 9673 pps 34 mbps 0 flows

xxx.xxx.99.66 9317 pps 17 mbps 0 flows

xxx.xxx.99.28 9019 pps 73 mbps 0 flows

xxx.xxx.99.50 8926 pps 41 mbps 0 flows

xxx.xxx.99.81 8565 pps 48 mbps 0 flows

xxx.xxx.99.153 8216 pps 12 mbps 0 flows

xxx.xxx.65.11 0 pps 0 mbps 0 flows

 

Internal traffic 10 pps 0 mbps

 

Other traffic 14 pps 0 mbps

 

Screen updated in: 0 sec 987 microseconds

Traffic calculated in: 0 sec 2580 microseconds

Total amount of IPv6 packets related to our own network: 0

Total amount of not processed packets: 4488318

xxx.xxx.65.11

Это случайно не локальный IP?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

xxx.xxx.65.11

Это случайно не локальный IP?

Нет, и в конфете отключено:

# With this option enabled we could add local IP addresses and aliases to monitoring list

# Works only for Linux

monitor_local_ip_addresses = no

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

shaytan, а можете наложить патчик на fastnetmon.cpp вот такой:

 

-element_number > max_ips_in_list
+element_number >= max_ips_in_list

 

И после этого пересобрать? Должно помочь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

shaytan, а можете наложить патчик на fastnetmon.cpp вот такой:

 

-element_number > max_ips_in_list
+element_number >= max_ips_in_list

 

И после этого пересобрать? Должно помочь.

 

Да, помогло.

 

Еще вопрос, о чем говорит постоянное увеличение значения счетчика в выводе fastnetmon_client?

Total amount of not processed packets: 4796354

Изменено пользователем shaytan

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо за тест, исправил в основной версии.

 

Означает, что это либо IPv6 трафик либо ARP либо еще что-то в чем нет понятия IP адреса.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо за тест, исправил в основной версии.

 

Означает, что это либо IPv6 трафик либо ARP либо еще что-то в чем нет понятия IP адреса.

 

200000pps? Не может быть.

Еще заметил что FNM не весь трафик мониторит. По Outgoing traffic все правильно показывает, а по Incoming traffic примерно 20% не показывает. Это при условии что мониторится порт между Cisco и JuniperMX, А если снимать трафик между Cisco и Cisco то все точно показывает.

 

Как проверить что FNM не может разобрать?

 

PS. Сейчас с аплинками используем BGP FlowSpec в ручном режиме, как добьемся правильных значений трафика в FNM, хотим поднять BGP FS с FSN для автоматической блокировки.

Изменено пользователем shaytan

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это не pps, это суммарное число пакетов с момента запуска.

 

А трафик чистый или vlan/qnq/mpls между циской и джуном летает? А режим захвата какой - PF_RING / netmap / sflow / netflow?

 

Какие у Вас крутые аплинки - я такое еще не встречал, чтобы все умели :)

 

Чтобы эффективно юзать флоу спек с оператором, нужна одна полезняшка от оператора. И если Вы ее начнете просить заранее - это сильно упростит интеграцию. Так как число правил Flow Spec дают жестко лимитированое, то со стороны оператора нужно выпросить SNMP или иной механизм, чтобы видеть динамику работы правил флоу спека. То есть, нужно фиксировать, какие правила отбивают трафик, а какие уже бесполезны и их нужно снимать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Павел подскажите, как происходит определение атак типа amplification и как fastnetmon об этом уведомляет?

Как определяется атака по pps, если на программу сливается sFlow и конфиг выглядит примерно так

Global default sampling rate: 32768

Global default counter polling interval: 86400

Изменено пользователем FATHER_FBI

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У sFLOW слишком большой sampling rate. Разумные цифры обеспечивающие точный обсчет можно найти вот тут, например: http://blog.sflow.com/2009/06/sampling-rates.html

 

Global default counter polling interval: 86400 - вот это не интересует вовсе, так как нагрузку по ифейсам мы не собираем сейчас в принципе.

 

Если включен режим DPI, то в логе при успешном обнаружении атаки будет описан flow spec анонс, который был бы выброшен в данном случае. Определение амплификаций идет по внутренностям пакетов.

 

Логика описана вот здесь: https://github.com/FastVPSEestiOu/fastnetmon/blob/master/src/fastnetmon.cpp#L3313 Она довольно слабая, нужно дообучение на реальных атаках. Если они есть - всегда с радостью приму шаблоны новых атак.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это не pps, это суммарное число пакетов с момента запуска.

 

А трафик чистый или vlan/qnq/mpls между циской и джуном летает? А режим захвата какой - PF_RING / netmap / sflow / netflow?

 

Какие у Вас крутые аплинки - я такое еще не встречал, чтобы все умели :)

 

Чтобы эффективно юзать флоу спек с оператором, нужна одна полезняшка от оператора. И если Вы ее начнете просить заранее - это сильно упростит интеграцию. Так как число правил Flow Spec дают жестко лимитированое, то со стороны оператора нужно выпросить SNMP или иной механизм, чтобы видеть динамику работы правил флоу спека. То есть, нужно фиксировать, какие правила отбивают трафик, а какие уже бесполезны и их нужно снимать.

 

Павел, я в pps указал скорость увеличения этого счетчика.

Режим захвата netmap, трафик dot1q.

Думаю может перейти на jflow с JuniperMX, т.к. статистику надо собирать с двух бордеров, которые еще установленны на двух разных площадках.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У sFLOW слишком большой sampling rate. Разумные цифры обеспечивающие точный обсчет можно найти вот тут, например: http://blog.sflow.com/2009/06/sampling-rates.html

 

Global default counter polling interval: 86400 - вот это не интересует вовсе, так как нагрузку по ифейсам мы не собираем сейчас в принципе.

 

Если включен режим DPI, то в логе при успешном обнаружении атаки будет описан flow spec анонс, который был бы выброшен в данном случае. Определение амплификаций идет по внутренностям пакетов.

 

Логика описана вот здесь: https://github.com/FastVPSEestiOu/fastnetmon/blob/master/src/fastnetmon.cpp#L3313 Она довольно слабая, нужно дообучение на реальных атаках. Если они есть - всегда с радостью приму шаблоны новых атак.

Какая будет примерная прогрешность если sample ratio: 8192?

Просто хочется понять как вообще происходит подсчет pps, тупо вычисляет количество пришедших пакетов и получает цифру pps или пытается кореллировать эту цифру с sample ratio?

И как вычисляется mbps?

Потому что если на 10G поставить sample ratio 2048, мне кажется ни одна железка не справится, она умрет или сгорит:-)

Просто хочется понять какая погрешность при sFlow, потому что когда трафика много, нечем принять mirror.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дык проще включить экспорт графика в Grahite из FNM и с самого свича по SNMP и сравнить :) Логика простая - sampling ration выдирается из потока и на него умножается число пакетов/байт полученное с/на конкретный хост за секунду. Но в sFLOW режиме стоит понимать, что никакого DPI или Flow Spec ожидать не стоит, внутренностей пакета, которые можно детально проанализировать в этом случае не хватает. Далеко не всегда можно разобраться что за протокол по куску хидера.

 

По поводу сэмплинга и смерти свича - честно говоря, я такое не проверял, по-хорошему, конечно поставить генератор на line rate (тот же Moongen) и посмотреть, как будет вести себя свич.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если тут остались те, что до сих пор боится поставить софт, то специально для Вас с наводки FATHER_FBI написал ПОЛНЫЙ гайд по проекту: https://github.com/FastVPSEestiOu/fastnetmon/raw/master/docs/FastNetMon_Reference_Russian.pdf :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Павел, я правильно понял, что если мы заменим netmap на jflow, то функционал по FS мы потеряем?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ога, именно так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ога, именно так.

 

Тогда надо разбирать где FNM теряет трафик.

На порт сейчас отправляется 10G/1.5Mpps, а FNM суммарно показывает:

Incoming traffic 645931 pps 5040 mbps 0 flows

Outgoing traffic 482239 pps 2032 mbps 0 flows

 

При этом 8 ядер равномерно загружены всего на 10-11%

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Отписал ответ по ЛС :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а почему ответ не в теме? :)

я так внимательно слежу за развитием этого топика и тут такой облом :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а там все интересно, "Total amount of not processed packets: 61096601" и растет на скорости 200kpps.

 

Как фикс предложил включить отладку для случая Netmap:

 

Приведу пример с netmap:

в файле src/netmap_plugin/netmap_collector.cpp

 

 

Нужно изменить вот этот кусок кода:

   if (packet_header.extended_hdr.parsed_pkt.ip_version != 4 && packet_header.extended_hdr.parsed_pkt.ip_version != 6) {
       return false;
   }

 

На:

 

  if (packet_header.extended_hdr.parsed_pkt.ip_version != 4 && packet_header.extended_hdr.parsed_pkt.ip_version != 6) {
       char print_buffer[512];
       fastnetmon_print_parsed_pkt(print_buffer, 512, (u_char*)buffer, &packet_header);
       logger.info("%s", print_buffer);

       return false;
   }

 

 

После этого он отпечатает в лог /var/log/fastnetmon.log содержимое пакетов. И станет понятно, почему так происходит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.