The OpenNET Project / Index page

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

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

23.06.2014 01:52

Доступен релиз программы FastNetMon 1.0.0, предназначенной для выявления входящих и исходящих 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 не подходит для сборки).



  1. Главная ссылка к новости (https://github.com/FastVPSEest...)
  2. OpenNews: Зафиксирована DDoS-атака, в которую вовлечено 162 тысячи сайтов на базе WordPress
  3. OpenNews: DDoS-атака в 400 Гбит/с была совершена с привлечением всего 4529 NTP-серверов
  4. OpenNews: Зафиксирована рекордная DDoS-атака с интенсивностью трафика в 400 Гбит/с (дополнено)
  5. OpenNews: Оценка методов усиления трафика при организации DDoS-атак
  6. OpenNews: Волна DDoS-атак, использующих NTP-серверы для усиления трафика
Автор новости: Pavel Odintsov
Тип: Программы
Короткая ссылка: https://opennet.ru/40058-fastnetmon
Ключевые слова: fastnetmon, ddos, monitor
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (23) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, onorua (??), 10:10, 23/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кто-то пробовал, на сколько удобнее NetFlow+скрипт для анализа?
     
  • 1.2, Pavel Odintsov (?), 10:43, 23/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Ну насколько удобнее - вопрос сложный. Netflow на мой взгляд не совсем верный путь решения данной проблемы, так как его генерация сама по себе часто сильно перегружает машину (если это, скажем, Linux BOX или не high end роутер). А кроме того, практикуемое в NetFlow сэмплирование (уплотнение) данные может привести к тому, что агент сгенерирует NetFlow об атаке уже тогда, когда ляжет вся сеть.
     
     
  • 2.3, Алексей (??), 19:00, 23/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Спасибо за разработку полезной программы.
     
     
  • 3.6, Pavel Odintsov (?), 19:51, 23/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Спасибо за разработку полезной программы.

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

     
  • 2.11, Аноним (-), 20:37, 23/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    NETMAP (от Luigi Rizzo). Простой и удобный opensource фреймворк для обработки трафика на скоростях 10Gbit/s или 14 Mpps
     
     
  • 3.12, Pavel Odintsov (?), 21:46, 23/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Так а чем плох полностью открытый PF_RING ? :)
     
     
  • 4.16, Аноним (-), 22:41, 23/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нету на FreeBSD и MacOSX
     
     
  • 5.19, Pavel Odintsov (?), 10:32, 24/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Боюсь, что тут я могу сказать лишь то, что мой софт сугубо заточен на платформу Linux. Если кто-то сможет добавить поддержку netmap - я с радостью приму эти фиксы. Но сам я не специалист ни по FreeBSD, ни по netmap.
     
  • 2.21, Аноним (-), 16:16, 25/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Какой трафик сможет обработать PF_RING+FastNetMоn в pps? Понятно, что все упирается в сервер, но на каких скоростях тестировали и железе? IPT_NETFLOW может генерировать netflow для трафика в несколько Mpps не на самом топовом сервере с 10Gb NIC.
     
     
  • 3.22, Pavel Odintsov (?), 16:27, 25/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    При DDoS в почти ~1Mpps все работало отлично на i7 2600, но процессоры были нагружены почти полностью. Полагаю, если прикрутить PF_RING ZC, то будет еще быстрее, но тогда потребуется приобретать лицензию.  
     
     
  • 4.24, Аноним (-), 16:34, 25/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Насколько сложно прикрутить получение данных из нетфлоу? Было бы интересное решение: на больших трафках генерировать нетфлоу, а для уменьшения нагрузки анализировать в FastNetMOn уже нетфлоу, в данном случае минусы нетфлоу нивелируются из-за больших скоростей =) В данный момент такое можно сделать с помощью nProbe, но в таком режиме он платный...
     
     
  • 5.25, Pavel Odintsov (?), 18:02, 25/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Идея отличная, но я не уверен, что смогу использовать те же парсеры для подключения к ipt_netflow, например. У меня наоборот есть мысль генерировать netflow или что-то опдобное ему - конвертировать набор байт в набор потоков от/до.
     

  • 1.7, Аноним (-), 20:03, 23/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чего только люди не придумают, лишь бы man ipcad не читать.
     
     
  • 2.18, Pavel Odintsov (?), 10:08, 24/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    К IpCad данная задача не имеет ни малейшего отношения. Он считает трафик, мы - фиксируем атаки.
     

  • 1.8, Аноним (-), 20:13, 23/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    От забития канала не поможет.
     
     
  • 2.9, Pavel Odintsov (?), 20:35, 23/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Почему? Как раз для защиты от таких атак и писалось - просто подключите BGP blackhole к notify скрипту и как раз сможете отразить атаку до того, как будет забить канал.
     

  • 1.13, pavlinux (ok), 22:10, 23/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А чё PF_RING уже в ядре???
     
     
  • 2.14, Pavel Odintsov (?), 22:24, 23/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем ему там быть? Это же 1 легкий модуль.
     

  • 1.15, Аноним (-), 22:38, 23/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >>  CentOS 6 не подходит для сборки

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

     
     
  • 2.17, Pavel Odintsov (?), 23:03, 23/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    О, класс! А может попробуете собрать?
     

  • 1.20, Аноним (-), 14:06, 25/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    DDoS также отличается от остального трафика тем, что на атакуемые хосты идет трафик со значительно большего количества адресов чем в обычной ситуации. Само количество трафика не обязательно сильно вырастает. Если один клиент подключен на скорости 10Мбит/с, а другой на 1Гбит/с, и DDoS идет на первого клиента, то атаку можно считать успешной при сравнительно низком трафике в его сторону, но в топе мы его не увидим, т.к. у нас есть другие клиенты с большими скоростями, которые и будут находится в топе со своим обычным трафиком.
     
     
  • 2.23, Pavel Odintsov (?), 16:30, 25/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > DDoS также отличается от остального трафика тем, что на атакуемые хосты идет
    > трафик со значительно большего количества адресов чем в обычной ситуации. Само
    > количество трафика не обязательно сильно вырастает. Если один клиент подключен на
    > скорости 10Мбит/с, а другой на 1Гбит/с, и DDoS идет на первого
    > клиента, то атаку можно считать успешной при сравнительно низком трафике в
    > его сторону, но в топе мы его не увидим, т.к. у
    > нас есть другие клиенты с большими скоростями, которые и будут находится
    > в топе со своим обычным трафиком.

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

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

     

  • 1.26, Pavel Odintsov (?), 22:20, 30/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Есть апдейты :)

    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

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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