The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"FastNetMon 1.0.0 - программа для выявления входящих/исходящи..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"FastNetMon 1.0.0 - программа для выявления входящих/исходящи..."  +/
Сообщение от opennews (??) on 23-Июн-14, 10:10 
Доступен релиз программы FastNetMon 1.0.0 (https://github.com/FastVPSEestiOu/fastnetmon), предназначенной для выявления входящих и исходящих DDoS-атак на основе анализа транзитного трафика. Программа разработана для фиксации серьезных всплесков интенсивности отправки пакетов (сотни тысяч пакетов в секунду), как со стороны клиентов, так и со стороны внешней сети в сторону клиентов. Данные о трафике могут собираться через PF_RING (рекомендуется), PCAP (не рекомендуется) и ULOG2 (не рекомендуется).

На выходе программа выдаёт список 10 самых активных потребителей ресурсов сети. Выборки "топ 10" можно делать как по числу пакетов в секунду так и по трафику. Поддерживается  передача управления внешнему скрипту, который сможет предпринять блокировку IP на/с которого идет атка или уведомить об атаке группу администраторов. FastNetMon умеет считать трафик по заданным диапазонам. Для хранения статистики используется БД Redis.

В настоящее время приложение уже опробовано в промышленном применении (на миррор портах, с отдельной машины) с нагрузкой в несколько гигабит входящего+исходящего трафика (в среднем примерно 550kpps и более). Потребление ресурсов CPU в такой конфигурации составляет около 10% по всем ядрам на сервере с CPU  Intel i7 2600 и Intel X540 NIC. Программа написана на языке C++11 и проверена в работе на платформах Debian, CentOS и Ubuntu. Из-за использования C++11 для сборки требуется свежий инструментарий C++ (можно собрать в Debian 7, но g++ из CentOS 6 не подходит для сборки).
<center><a href="https://raw.githubusercontent.com/FastVPSEestiOu/fastnetmon/... src="http://www.opennet.dev/opennews/pics_base/0_1403502373.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>

URL: https://github.com/FastVPSEestiOu/fastnetmon
Новость: http://www.opennet.dev/opennews/art.shtml?num=40058

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "FastNetMon 1.0.0 - программа для выявления входящих/исходящи..."  +/
Сообщение от onorua email(??) on 23-Июн-14, 10:10 
Кто-то пробовал, на сколько удобнее NetFlow+скрипт для анализа?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "FastNetMon 1.0.0 - программа для выявления входящих/исходящи..."  +6 +/
Сообщение от Pavel Odintsov email on 23-Июн-14, 10:43 
Ну насколько удобнее - вопрос сложный. Netflow на мой взгляд не совсем верный путь решения данной проблемы, так как его генерация сама по себе часто сильно перегружает машину (если это, скажем, Linux BOX или не high end роутер). А кроме того, практикуемое в NetFlow сэмплирование (уплотнение) данные может привести к тому, что агент сгенерирует NetFlow об атаке уже тогда, когда ляжет вся сеть.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "FastNetMon 1.0.0 - программа для выявления входящих/исходящи..."  +1 +/
Сообщение от Алексей (??) on 23-Июн-14, 19:00 
Спасибо за разработку полезной программы.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

6. "FastNetMon 1.0.0 - программа для выявления входящих/исходящи..."  +/
Сообщение от Pavel Odintsov on 23-Июн-14, 19:51 
> Спасибо за разработку полезной программы.

Спасибо за использование ! :)

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

11. "FastNetMon 1.0.0 - программа для выявления входящих/исходящи..."  +/
Сообщение от Аноним (??) on 23-Июн-14, 20:37 
NETMAP (от Luigi Rizzo). Простой и удобный opensource фреймворк для обработки трафика на скоростях 10Gbit/s или 14 Mpps
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

12. "FastNetMon 1.0.0 - программа для выявления входящих/исходящи..."  +/
Сообщение от Pavel Odintsov email on 23-Июн-14, 21:46 
Так а чем плох полностью открытый PF_RING ? :)
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

16. "FastNetMon 1.0.0 - программа для выявления входящих/исходящи..."  +1 +/
Сообщение от Аноним (??) on 23-Июн-14, 22:41 
Нету на FreeBSD и MacOSX
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

19. "FastNetMon 1.0.0 - программа для выявления входящих/исходящи..."  +1 +/
Сообщение от Pavel Odintsov email on 24-Июн-14, 10:32 
Боюсь, что тут я могу сказать лишь то, что мой софт сугубо заточен на платформу Linux. Если кто-то сможет добавить поддержку netmap - я с радостью приму эти фиксы. Но сам я не специалист ни по FreeBSD, ни по netmap.
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

21. "FastNetMon 1.0.0 - программа для выявления входящих/исходящи..."  +/
Сообщение от Аноним (??) on 25-Июн-14, 16:16 
Какой трафик сможет обработать PF_RING+FastNetMоn в pps? Понятно, что все упирается в сервер, но на каких скоростях тестировали и железе? IPT_NETFLOW может генерировать netflow для трафика в несколько Mpps не на самом топовом сервере с 10Gb NIC.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

22. "FastNetMon 1.0.0 - программа для выявления входящих/исходящи..."  +/
Сообщение от Pavel Odintsov email on 25-Июн-14, 16:27 
При DDoS в почти ~1Mpps все работало отлично на i7 2600, но процессоры были нагружены почти полностью. Полагаю, если прикрутить PF_RING ZC, то будет еще быстрее, но тогда потребуется приобретать лицензию.  
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

24. "FastNetMon 1.0.0 - программа для выявления входящих/исходящи..."  +/
Сообщение от Аноним (??) on 25-Июн-14, 16:34 
Насколько сложно прикрутить получение данных из нетфлоу? Было бы интересное решение: на больших трафках генерировать нетфлоу, а для уменьшения нагрузки анализировать в FastNetMOn уже нетфлоу, в данном случае минусы нетфлоу нивелируются из-за больших скоростей =) В данный момент такое можно сделать с помощью nProbe, но в таком режиме он платный...
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

25. "FastNetMon 1.0.0 - программа для выявления входящих/исходящи..."  +/
Сообщение от Pavel Odintsov email on 25-Июн-14, 18:02 
Идея отличная, но я не уверен, что смогу использовать те же парсеры для подключения к ipt_netflow, например. У меня наоборот есть мысль генерировать netflow или что-то опдобное ему - конвертировать набор байт в набор потоков от/до.
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

7. "FastNetMon 1.0.0 - программа для выявления входящих/исходящи..."  +/
Сообщение от Аноним (??) on 23-Июн-14, 20:03 
Чего только люди не придумают, лишь бы man ipcad не читать.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

18. "FastNetMon 1.0.0 - программа для выявления входящих/исходящи..."  +/
Сообщение от Pavel Odintsov email on 24-Июн-14, 10:08 
К IpCad данная задача не имеет ни малейшего отношения. Он считает трафик, мы - фиксируем атаки.
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

8. "FastNetMon 1.0.0 - программа для выявления входящих/исходящи..."  +/
Сообщение от Аноним (??) on 23-Июн-14, 20:13 
От забития канала не поможет.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "FastNetMon 1.0.0 - программа для выявления входящих/исходящи..."  +/
Сообщение от Pavel Odintsov on 23-Июн-14, 20:35 
Почему? Как раз для защиты от таких атак и писалось - просто подключите BGP blackhole к notify скрипту и как раз сможете отразить атаку до того, как будет забить канал.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

13. "FastNetMon 1.0.0 - программа для выявления входящих/исходящи..."  +/
Сообщение от pavlinux (ok) on 23-Июн-14, 22:10 
А чё PF_RING уже в ядре???
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "FastNetMon 1.0.0 - программа для выявления входящих/исходящи..."  +/
Сообщение от Pavel Odintsov email on 23-Июн-14, 22:24 
А зачем ему там быть? Это же 1 легкий модуль.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

15. "FastNetMon 1.0.0 - программа для выявления входящих/исходящи..."  +/
Сообщение от Аноним (??) on 23-Июн-14, 22:38 
>>  CentOS 6 не подходит для сборки

CentOS 7 использует gcc 4.8.2

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

17. "FastNetMon 1.0.0 - программа для выявления входящих/исходящи..."  +/
Сообщение от Pavel Odintsov email on 23-Июн-14, 23:03 
О, класс! А может попробуете собрать?
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

20. "FastNetMon 1.0.0 - программа для выявления входящих/исходящи..."  +/
Сообщение от Аноним (??) on 25-Июн-14, 14:06 
DDoS также отличается от остального трафика тем, что на атакуемые хосты идет трафик со значительно большего количества адресов чем в обычной ситуации. Само количество трафика не обязательно сильно вырастает. Если один клиент подключен на скорости 10Мбит/с, а другой на 1Гбит/с, и DDoS идет на первого клиента, то атаку можно считать успешной при сравнительно низком трафике в его сторону, но в топе мы его не увидим, т.к. у нас есть другие клиенты с большими скоростями, которые и будут находится в топе со своим обычным трафиком.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

23. "FastNetMon 1.0.0 - программа для выявления входящих/исходящи..."  +/
Сообщение от Pavel Odintsov email on 25-Июн-14, 16:30 
> DDoS также отличается от остального трафика тем, что на атакуемые хосты идет
> трафик со значительно большего количества адресов чем в обычной ситуации. Само
> количество трафика не обязательно сильно вырастает. Если один клиент подключен на
> скорости 10Мбит/с, а другой на 1Гбит/с, и DDoS идет на первого
> клиента, то атаку можно считать успешной при сравнительно низком трафике в
> его сторону, но в топе мы его не увидим, т.к. у
> нас есть другие клиенты с большими скоростями, которые и будут находится
> в топе со своим обычным трафиком.

Да, боюсь в данном случае он ничего не покажет.  Но серьезный трафик не всегда связан с высоким PPS и обычно что-то большое генерирует не более 1000 pps, поэтому при сортировке по пакетам/секунду Вы четко увидите.

Но вообще есть план, как сделать более серьезные тесты на DDoS, чем я в данный момент и занят.

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

26. "FastNetMon 1.0.0 - программа для выявления входящих/исходящи..."  +/
Сообщение от Pavel Odintsov email on 30-Июн-14, 22:20 
Есть апдейты :)

1) Теперь нет завязки на С++ 11, он выкинут от начала до конца и теперь все должно компилится под Debian 6/7 и CentOS 6/7.
2) Внедрил отличный лакапер - patricia из MPM пакета
3) Отошел от пересчета с сэмплирование и обсчитываю данные ежесекундно
4) Исправил лютые баги :)

Чуточку больше Changes здесь:
We recalculate data for _all_ local ip's every second. You lock DoS/DDoS with speed of light!
In attack details added nanosecond timestamps
We dropped off C++ 11 support because it's buggy. Now you can compile tool on any modern platform!
Optimize calls of banner script. In old version it can result to script hangs
Migrate to boost::threads as more reliable threads for C++
Introduce new patricia based ip lookup code
Migrate to ncruses and do not produce loooong output in console

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру