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

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

Я забыл главное - ветка в мастере собирается на Фре и у нее есть кастомеры. Я самолично собирал ее на Фре 9 и 10 - все было ОК. Невозможность поймать птридс - дьявольщина, почему нет - не знаю.

 

GoBGP стандартно не собирается, как и модули API и gRPC, protobuf. Нужно раскомментить строчку в инсталлере. Вот это под Фрей - не тестировалось (и скорее всего не соберется), а остальное - должно работать как часы.

 

Поэтому вся инфа, что в доках есть и в инсталлере - верна, просто тестеров мало. Найдете багу - с радостью приму пул риквест.

Изменено пользователем pavel.odintsov

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


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

а вот когда таким забито все в /var/log/messages при включении локального syslog

Mar 23 03:39:29 localhost fastnetmon: 1458686369 INFO : We have found host group for this host as: global

Mar 23 03:39:29 localhost fastnetmon: 1458686369 INFO : We have found host group for this host as: global

Mar 23 03:39:29 localhost fastnetmon: 1458686369 INFO : We have found host group for this host as: global

Mar 23 03:39:29 localhost fastnetmon: 1458686369 INFO : We have found host group for this host as: global

 

что можно сделать? ))

PDF читал не нашел..

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


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

Починил, стяните новую версию из репо :) Сори, пытались отладчить фичу, а в итоге залили логами всем диски. Бага добавлена дня два назад, надеюсь, много народу не пострадало.

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


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

Починил, стяните новую версию из репо :) Сори, пытались отладчить фичу, а в итоге залили логами всем диски. Бага добавлена дня два назад, надеюсь, много народу не пострадало.

 

спасибо.. только вот осваиваться начал.. пока смущает, что отъедает 40% неслабого cpu, на входе netflow от netbrobe с полосы 10гиг.

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


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

Проц отъедает потому что сетей много :) Скорости обсчитываются для каждой.

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


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

Pavel, а скажите, на сколько сложно расширить чутка вашу систему и добавить в неё мониторинг не только pps, а мягко говорят брута?

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

 

Я понимаю что в принципе можно сделать на роутере через дублирование пакетов и подсчет через тот же iptables но как-то хочется более элегантное решение и возможно стороними средствами.

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


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

Давно все просят, но честно говоря, задача немного не из серии обнаружения атак. Брутфорсы можно чем-то помедленнее ловить типа Bro / Suricata.

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


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

Ну, напишите мануал, как к вашему мониторингу прикрутить стратегию определения мелких аномалий, типа массового брута :)

Спасибо.

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


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

Это немного out of scope для проекта, он задумывался не для этих задач - прикрутить совершенно не подходящую задачу для него будет сложнее, чем написать с нуля утилиту чисто под эти цели :) Потому что брутфорс - это application level, мы же работает сугубо на l3/l4.

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


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

Pavel, прекрасно вас понимаю, понимаю что в случае попыток встраивания алгоритма детекта брута тоже будет не сильно производительно, но может все таки вам удастся что-то влепить.

Для меня например было бы достаточно увидеть когда один внешний хост делает больше N обращений к хостам внутри сети за N времени, к примеру по всем портам или только по опеределенным.

Разбирать сам пакет не надо, только увидеть что кто-то сделал большее 100 обращений ко внутреним адресам в течении N времени.

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


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

Есть проблема

При атаках скрипт отрабатывает несколько раз и

демон закрывается и в лог пишет

[ERROR] Sorry but we experienced error with popen. Please check your scripts. It should receive data on stdin!

 

UP: в начале в скрипт передаёт 178.172.ххх.хх incoming 3042 attack_details

а уже при передачи ban сервис падает

 

UP зы notify_script_pass_details = no :) баг-фича

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

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


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

Да, баго-фича. Скрипт должен принимать данные на stdin, иначе происходит исключение и все валится. Это фича линукса. Я не знаю до сих пор как красиво обрабатывать случай, когда мы пишем в процесс данные на stdin, но он их не принимает. Если у кого есть мысль - с радостью выслушаю.

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


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

2016-05-25 09:22:34,443 [iNFO] We run execute_ip_ban code with following params in_pps: 3447 out_pps: 939 in_bps: 4659422 out_bps: 61455 and we decide it's incoming attack

2016-05-25 09:22:34,443 [iNFO] Attack with direction: incoming IP: 213.xx.xx.xx Power: 3447

2016-05-25 09:22:34,443 [iNFO] Call script for ban client: 213.xx.xx.xx

2016-05-25 09:22:34,443 [iNFO] Script for ban client is finished: 213.xx.xx.xx

2016-05-25 09:23:16,314 [iNFO] Attack with direction: incoming IP: 178.xx.xx.xx Power: 3224 traffic sample collected

2016-05-25 09:23:16,314 [iNFO] Call script for notify about attack details for: 178.xx.xx.xx

2016-05-25 09:23:16,314 [iNFO] Script for notify about attack details is finished: 178.xx.xx.xx

2016-05-25 09:23:17,964 [ERROR] Sorry but we experienced error with popen. Please check your scripts. It should receive data on stdin!

Что-то ерунда

вроде как отключил, но всё ровно падает.

 

# pass attack details to notify_script via stdin

# Pass details only in case of "ban" call

# No details will be passed for "unban" call

notify_script_pass_details = no

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

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


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

У вас самая новая версия из git или stable? Эта опция появилась только в git версии, в стейбле ее нету.

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


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

ставил чуть больше месяца назад через

wget https://raw.githubusercontent.com/pavel-odintsov/fastnetmon/master/src/fastnetmon_install.pl -Ofastnetmon_install.pl

perl fastnetmon_install.pl

вроде как из git тянет

 

UP тянет то из git`a но не последнюю, а 1.0

почитал редми для дебиана слил текущую

perl fastnetmon_install.pl --use-git-master

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

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


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

Да, именно так стягивать актуальную версию :)

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


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

добрый день коллеги

 

вопрос по fastnetmon есть.

привязал его к netflow с пограничного роутера.

долго не мог раздублить почему он показывает скорости выше раза в два реальной, но затем поменял параметр отвечающий за частоту сбора данных, и выставил на 1 с. есть sflow с коммутатора но пока не работает .

 

сам вопрос

в файле networks_list указал свои сети. получаю сработку и в этот момент сохранаяется дамп. кто в этом случается занимается udp_flood , по чем парсить , где почитать ?

к примеру вот часть заголовка

 

IP: 91.197.76.254

Attack type: udp_flood

Initial attack power: 31723 packets per second

Peak attack power: 31723 packets per second

2016-05-28 01:26:36.817339 77.247.233.1:0 > 91.197.76.254:0 protocol: icmp frag: 0 packets: 1 size: 96 bytes ttl: 0 sample ratio: 1

2016-05-28 01:26:37.105330 96.7.49.129:53 > 91.197.76.254:51368 protocol: udp frag: 0 packets: 1 size: 144 bytes ttl: 0 sample ratio: 1

2016-05-28 01:26:37.105330 96.7.50.128:53 > 91.197.76.254:55369 protocol: udp frag: 0 packets: 1 size: 164 bytes ttl: 0 sample ratio: 1

2016-05-28 01:26:37.121333 95.100.173.129:53 > 91.197.76.254:31442 protocol: udp frag: 0 packets: 1 size: 148 bytes ttl: 0 sample ratio: 1

2016-05-28 01:26:37.137388 84.53.139.129:53 > 91.197.76.254:63541 protocol: udp frag: 0 packets: 1 size: 94 bytes ttl: 0 sample ratio: 1

2016-05-28 01:26:37.465330 174.35.36.46:53161 > 91.197.76.254:33434 protocol: udp frag: 0 packets: 1 size: 92 bytes ttl: 0 sample ratio: 1

2016-05-28 01:26:37.513332 174.35.21.42:43458 > 91.197.76.254:33434 protocol: udp frag: 0 packets: 1 size: 92 bytes ttl: 0 sample ratio: 1

2016-05-28 01:26:37.529330 123.30.183.14:34284 > 91.197.76.254:33434 protocol: udp frag: 0 packets: 1 size: 92 bytes ttl: 0 sample ratio: 1

2016-05-28 01:26:37.545332 124.40.233.147:44196 > 91.197.76.254:33434 protocol: udp frag: 0 packets: 1 size: 92 bytes ttl: 0 sample ratio:

---часть файла порезана ---

 

 

И второй вопрос , если кто-то сканирует мою сеть по 5060 порту , я вижу это по алертам в nfsen , это можно увидеть в FNM ?

 

И третий вопрос , я собираю только входящий трафик к абоненту , в network_list указана моя сеть /22 и /23 маски.

Включил ban и в результате заблокировал свои адреса , а не атакующего ... Как так ?

ddos.tar

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

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


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

А у меня такой вопрос. Программа получает трафик по нетфлоу. Несколько раз в день происходит срабатывание причем кол-во пакетов почти всегда одинаково 48 миллионов. Это какой то баг или фича?

Выглядит примерно так

attack with power 48659153 pps

Естественно атаки никакой нет и столько пакетов тоже.

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


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

А у меня такой вопрос. Программа получает трафик по нетфлоу. Несколько раз в день происходит срабатывание причем кол-во пакетов почти всегда одинаково 48 миллионов. Это какой то баг или фича?

Выглядит примерно так

attack with power 48659153 pps

Естественно атаки никакой нет и столько пакетов тоже.

 

1) Поставить версию из Git, там исправлен баг с счетчикам:

wget https://raw.githubusercontent.com/pavel-odintsov/fastnetmon/master/src/fastnetmon_install.pl -Ofastnetmon_install.pl 
sudo perl fastnetmon_install.pl --use-git-master

2) Со стороны роутера flow_active_timeout и flow_inactive_timeout должен быть меньше цифры указанной в average_calculation_time. 99% проблем вызвано этим.

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


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

Спасибо, попробую для начала поиграть с таймаутами т.к. насколько помню ставил версию из Git

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


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

Угу, тамауты - основное.

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


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

Павел, приветствую.

Вот появилась возможность фильтровать трафик в случае мелких атак (до 10 гбит), однако при этом хочется сохранить возможность блокирования c помощью блекхола всего что больше этого объема. По сему вопрос:

Можно ли добавить уровни атак к treshholds?

К примеру в случае атак:

threshold_pps = 20000

threshold_mbps = 1000

threshold_flows = 3500

выполняем только sh script

 

а в случае:

 

big_threshold_pps = 200000

big_threshold_mbps = 10000

big_threshold_flows = 35000

уже вызываем все что можно: и sh скрипт и ExaBGP и все остальное?

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


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

Боюсь, что нет - только внешней логикой. Но есть проект Nethealer от Vicente De Luca, который как раз добаляет подобную логику.

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


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

Вот появилась возможность фильтровать трафик в случае мелких атак (до 10 гбит) ...

snort не рассматривали?

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


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

а в вызов скрипта ban/unban добавить атакуемый порт и протокол возможно ?

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


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

Join the conversation

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

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

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

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

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

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

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