За прошедшие почти 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: https://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: https://github.com/FastVPSEestiOu/fastnetmon/tree/master/packages/CentOS6
- CentOS 7: https://github.com/FastVPSEestiOu/fastnetmon/tree/master/packages/CentOS7
- Fedora 21: https://github.com/FastVPSEestiOu/fastnetmon/tree/master/packages/Fedora21
- FreeBSD: https://github.com/FastVPSEestiOu/fastnetmon/tree/master/src/FreeBSD_port
Для других Linux систем рекомендуется использовать автоматический установщик: https://github.com/FastVPSEestiOu/fastnetmon/blob/master/docs/INSTALL.md
Новая версия позволяет достичь очень высокой производительности. Скорость обработки sFLOW/Netflow почти неограниченная (до десятков и сотен гигабит секунду). Для режима PF_RING (не ZC) максимально достигнутая скорость в районе ~3mpps/5GE. Наивысшей скорости можно добиться используя системы захвата трафика PF_RING ZC или netmap, обе библиотеки позволяют обрабатывать до 10 и более миллионов пакетов в секунду на зеркальных портах (10GE+). Обращаю внимание, что при очень высокой скорости рекомендуется отключать режим трекинга соединений, который очень сильно нагружает процессорные ресурсы. Все изменения приведены для Intel i7 2600 и сетевой карты Intel 82599.
Из вещей касающихся сообщества разработки стоит отметить подключение проекта Gitter для эффективного обсуждения вопросов, касающихся проекта: https://gitter.im/FastVPSEestiOu/fastnetmon?utm_source=badge&utm_medium=b... и в дополнение к нему добавлен классический список рассылки: https://groups.google.com/forum/#!forum/fastnetmon
Отдельно мы бы хотели поблагодарить людей внесших большой вклад в помощь проекту: https://github.com/FastVPSEestiOu/fastnetmon/blob/master/docs/THANKS.md :)
>>> Подробности