Пользуетесь ли вы sFlow для мониторинга? Если да, то как именно?
Привет, ЛОР.
Появились вопросы по поводу sFlow, надеюсь здесь на них смогут ответить.
Преамбула:
Я участвую в разработке Netflow/IPFIX коллектора https://github.com/vmxdev/xenoeye
Недавно человек из интернета попросил нас добавить в коллектор поддержку sFlow. Мы этот sFlow не использовали, технология выглядит не очень интересно. Плюс его надо снимать с коммутаторов, люди которые занимаются непосредственно сетью говорят что им это геморойно.
Тем не менее, почитал документацию, добавил поддержку семплированых фловов (это когда sFlow-агент посылает коллектору куски некоторых пакетов, первые несколько десятков/сотен байт). Так как добавлялось это уже в готовый netflow-коллектор, сделали очень просто: из сырого пакета выбираются поля, которые могли бы быть в netflow (IP адреса, TCP/UDP порты, TCP флаги, тип ICMP и т.п.) и дальше обрабатывается как будто это флов из netflow со своей частотой семплирования.
Насколько я понимаю, *flow-коллекторы (по крайней мере известные) делают приблизительно так же, и не парсят остальной кусок пейлоада пакета.
Но, даже из небольшого кусочка теоретически можно получить какую-то дополнительную и полезную информацию:
- Флаги из DNS (например, бит рекурсии). Можно увидеть криво настроенный DNS-сервер, который может участвовать в DDoS атаке с DNS-амплификацией
- Такие же криво настроенные NTP-сервера
- Если прилетает кусок пакета достаточного размера, можно брать из DNS и HTTPS SNI имена ресурсов и составлять «карту хостинга»: для IP-адресов будут известны дополнительно их имена. Это, возможно, не очень этично, но если вы хостер и видите что кто-то хостит у вас домен с именем «s6erbank.ru», это может вызвать некоторые вопросы
- возможно, в куске пакета можно найти признаки каких-то еще атак на сервисы, например медленных DoS атак
Да, конечно, это все (и даже больше) можно получить со SPAN/зеркала трафика/оптического разветвителя, но предположим что это не всегда возможно.
Собственно вопросы к сетевым специалистам:
- Пользуетесь ли вы sFlow? Это живая или умирающая технология?
- Если пользуетесь, какую информацию вы из него берете? sFlow может экспортировать как кусочки пакетов, так и некоторые счетчики (in/out по портам, например). Вы пользуетесь этими счетчиками или вам проще снимать те же данные с помощью SNMP?
- Может ли ваш sFlow-коллектор/анализатор обрабатывать дополнительные данные из sFlow? Если да, то какие именно? Можете дать ссылку на документацию или вообще на какие-то статьи где об этом можно почитать?