dignity Posted March 7, 2014 Коллеги, не далее как два дня назад соорудил небольшой коллектор/агрегатор статистики по SFLOW, вчера с его помощью отловил 200 Мбит транзитного DDoS-а). Если кому-то надо, могу поделиться. Написан на Perl. Работает без СУБД, на файлах. Поиск злодейства делается через cat ... | sort ... ) Возможно, будут какие-то ЦУ, замечания, предложения, буду рад дополнить. Share this post Link to post Share on other sites More sharing options...
chipset Posted March 7, 2014 (edited) Выложи тут интересно посмотреть. Ну или в личку. Edited March 7, 2014 by chipset Share this post Link to post Share on other sites More sharing options...
pavel.odintsov Posted March 7, 2014 dignity, а что мой анализатор не хотите взять? :) У него уже добрая сотня отловленных атак на счету. Ждете, как PF_RING прикручу? Share this post Link to post Share on other sites More sharing options...
Antares Posted March 7, 2014 Просим просим :) Можно и в личку, можно оба :) Share this post Link to post Share on other sites More sharing options...
chipset Posted March 7, 2014 Если можно тоже оба Share this post Link to post Share on other sites More sharing options...
pavel.odintsov Posted March 7, 2014 Так http://forum.nag.ru/forum/index.php?showtopic=89703 и https://github.com/FastVPSEestiOu/fastnetmon. Share this post Link to post Share on other sites More sharing options...
wtyd Posted March 7, 2014 dignity, а что мой анализатор не хотите взять? :) У него уже добрая сотня отловленных атак на счету. Ждете, как PF_RING прикручу? Наверное потому не захотел брать, что ваш анализатор не-sFlow :-). Я ваш анализатор не смотрел, но вы сами пишете, что используется миррор трафика, т.е. вы в анализатор вдуваете *весь* трафик. У sFlow другой подход -- можно делать выводы, имея 1/1000 трафика для анализа. Причём выводы будут правильные в пределах статистической погрешности (все пакеты имеют равную вероятность попасть в коллектор - заявлено технологией sFLow, как на самом деле реализовано в китайских свичах, неизветно, но фича аппаратная, должно быть как заявлено). Хотелось бы посмотреть на творчество dignity. Share this post Link to post Share on other sites More sharing options...
dignity Posted March 7, 2014 Выложу. Монитор простой) особой интеллектуальной аналитики нет. В основном каунтеры пакетов. Если будет предложение по каким-то интеллектуальным плюхам, могу реализовать попробовать. Share this post Link to post Share on other sites More sharing options...
dignity Posted March 7, 2014 https://github.com/netpoint-dc/sflow-analyzer Изначально SFLOW снимается с BROCADE CER. Как пользоваться: 0) устанавливаем sflowtool 1) создаем каталог /sflow /sflow/processed 2) помещаем каталоги из репозитория в корень 3) генерируем ключ SSH (/root/.ssh/id_rsa.backup) для того хоста, на который будут складываться архивы SFLOW и каунтеров каждый час для последующего временного анализа. 4) меняем хост, куда будут складываться архивы по SSH в /etc/cron.hourly/rotate-sflow и меняем там прочие шурушки 5) запускаем /etc/cron.hourly/rotate-sflow 6) начинает генерироваться файл /sflow/current 7) каждый час создается /sflow/processed/sflow-MMDD.csv 8) если хотим что-то проанализировать, делаем /opt/get_aggregated_by_hour /sflow/current получаем /sflow/aggregated-DD-HH 9) cat /sflow/aggregated-DD-HH/_utilization | sort -n -k3 -r | head -n 20 10) так же там есть различная статистика, агрегированная по IP портам. Share this post Link to post Share on other sites More sharing options...
pavel.odintsov Posted March 11, 2014 dignity, а что мой анализатор не хотите взять? :) У него уже добрая сотня отловленных атак на счету. Ждете, как PF_RING прикручу? Наверное потому не захотел брать, что ваш анализатор не-sFlow :-). Я ваш анализатор не смотрел, но вы сами пишете, что используется миррор трафика, т.е. вы в анализатор вдуваете *весь* трафик. У sFlow другой подход -- можно делать выводы, имея 1/1000 трафика для анализа. Причём выводы будут правильные в пределах статистической погрешности (все пакеты имеют равную вероятность попасть в коллектор - заявлено технологией sFLow, как на самом деле реализовано в китайских свичах, неизветно, но фича аппаратная, должно быть как заявлено). Хотелось бы посмотреть на творчество dignity. Ох, да, ваша правда, мой с flow не работает, у нас задачка стоит чуточку иная и нужна высокая точность и отлов всех пакетов. Share this post Link to post Share on other sites More sharing options...
pfexec Posted March 11, 2014 Коллеги, не далее как два дня назад соорудил небольшой коллектор/агрегатор статистики по SFLOW, вчера с его помощью отловил 200 Мбит транзитного DDoS-а).почему просто nfdump'ом или flow-tools'ом не собрать top dstip по flows и если flows и bps больше определенного значения кидать dstip в блекхол ? :) ps: 200Mbps - это разве DDoS ? даже DoS бывает крупнее. :) Share this post Link to post Share on other sites More sharing options...
dignity Posted March 11, 2014 Это обсуждать не буду. Вот что у меня сейчас строится: =========================================================== _utilization Holds general utilization statistics in PPS for period. Format is: IP PPS_Send PPS_Received COUNTRY =========================================================== ports/<PORT>.ips Holds IP exchange statistics per port. Format is: IP PPS_Send&ReceivedFromLocal<PORT> PPS_Send&ReceivedFromRemote<PORT> =========================================================== <OCTET>/<IP>.packets Holds IP exchange statistics per IP for every minute. Format is: MINUTE PPS_Send PPS_Received =========================================================== <OCTET>/<IP>.peers Holds IP exchange statistics for IP for every peer. Format is: <IP> PPS_Send PPS_Received COUNTRY =========================================================== <OCTET>/<IP>.geo Holds IP exchange statistics for IP for every peer. Format is: <COUNTRY> PPS_Send PPS_Received =========================================================== <OCTET>/<IP>.ports Holds IP exchange statistics for IP per port. Format is: <PORT> PPS_SendFromLocalPort PPS_SendToRemotePort PPS_ReceivedFromRemotePort PPS_ReceivedToLocalPort =========================================================== countries/<CC>.ips Holds IP exchange statistics for certain countries for IPs. Format is: <IP> PPS_Send PPS_Received =========================================================== countries/_stats Holds IP exchange statistics for every country. Format is: <CC> PPS_Send PPS_Received Share this post Link to post Share on other sites More sharing options...