LINUX.ORG.RU
ФорумAdmin

Пользуетесь ли вы sFlow для мониторинга? Если да, то как именно?

 , ,


0

2

Привет, ЛОР.

Появились вопросы по поводу 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? Если да, то какие именно? Можете дать ссылку на документацию или вообще на какие-то статьи где об этом можно почитать?