Реліз FastNetMon 1.1.2 відкритого рішення для моніторингу DoS/DDoS атак

За минулі майже 10 місяців з релізу 1.0.0 була дуже велика робота з поліпшення програми.


З основних змін варто відзначити наступні:

  • Можливість виявляти найпопулярніші види атак: syn_flood, icmp_flood, udp_flood, ip_fragmentation_flood
  • Додавання підтримки протоколу Netflow, підтримуються 5, 9 і 10 (IPFIX) версії
  • Додавання підтримки протоколу sFLOW v5, який підтримується більшістю сучасних мережевих комутаторів
  • Додано підтримку використання netmap (підтримуються Linux і FreeBSD, для Linux надається спеціальна версія драйвера ixgbe: github.com/pavel-odintsov/ixgbe-linux-netmap) для захоплення пакетів. Цей режим забезпечує найвищу продуктивність захоплення трафіку поряд з PF_RING ZC.
  • Додано підтримку PF_RING ZC (на жаль, цей режим вимагає окремої ліцензії на бібліотеку PF_RING)

Повний список змін можна знайти нижче:

  • Додано можливість збирання netflow на основі шаблонів з декількох пристроїв (у тому числі - віртуальних, в межах одного шасі)
  • Базова підтримка IPv6 у додатку Netflow, збірка може прослуховувати IPv6 інтерфейс, аналіз протоколу поки не підтримується
  • Інформація про атаку тепер включає дуже велику кількість полів, серед яких - використовувані протоколи, типи пакетів, прапори TCP і багато іншого, все це дозволяє ідентифікувати атаки максимально точно
  • Замість щосекундного розрахунку використовується усереднення швидкості атаки за Х останніх секунд, що дозволяє мінімізувати помилкові спрацьовування
  • Додано можливість збереження відбитків атаки в окремих файлах
  • Додано можливість вказувати ліміт з якого трафік вважається атакою в числі потоків, пакетів/секунду і байт/секунду.
  • Додано інтеграцію з проектом ExaBGP, за допомогою якого можна анонсувати блокувані IP адреси безпосередньо на BGP роутери власної мережі або безпосередньо оплинку
  • Додано підтримку плагінів, тепер можлива розробка власних систем захоплення трафіку на додаток до наявних
  • Додано файли init для систем на базі systemd
  • Додано можливість розблокування IP після закінчення вказаного періоду часу
  • Додано можливість збереження даних про атаку в Redis
  • Додано підтримку розпакування протоколу L2TP в режимі захоплення з дзеркальних портів

З боку розробки були здійснені такі зміни:

  • Виконано перехід на систему збирання cmake
  • Додано інтеграцію CI Travis CI
  • З міркувань переносимості виконано відмову від використання функціоналу С++ 11

Список підтримуваних платформ зазнав величезних змін, додано підтримку таких систем:

  • Fedora 21
  • Debian 6, 7, 8
  • CentOS 6, 7
  • FreeBSD 9, 10, 11
  • DragonflyBSD 4
  • MacOS X 10.10

Для наступних систем були зібрані бінарні пакети:

  • CentOS 6
  • CentOS 7
  • Fedora 21
  • FreeBSD

Для інших систем Linux рекомендується використовувати автоматичний установщик.

Нова версія дозволяє досягти дуже високої продуктивності. Швидкість обробки sFLOW/Netflow майже необмежена (до десятків і сотень гігабіт секунду). Для режиму PF_RING (не ZC) максимально досягнута швидкість в районі {3mpps/5GE. Найвищої швидкості можна домогтися використовуючи системи захоплення трафіку PF_RING ZC або netmap, обидві бібліотеки дозволяють обробляти до 10 і більше мільйонів пакетів в секунду на дзеркальних портах (10GE +). Звертаю увагу, що при дуже високій швидкості рекомендується відключати режим трекінгу з'єднань, який дуже сильно навантажує процесорні ресурси. Всі вимірювання наведені для Intel i7 2600 і мережевої карти Intel 82599.

З речей, що стосуються спільноти розробки варто відзначити підключення проекту Gitter для ефективного обговорення питань, що стосуються проекту і на додаток до нього додано класичний список розсилки.

Окремо ми б хотіли подякувати людям, які зробили великий внесок у допомогу проекту і в першу чергу компанію FastVPS, без якої даний проект був би неможливий!