Jump to content

Recommended Posts

Posted

Коллеги, не далее как два дня назад соорудил небольшой коллектор/агрегатор статистики по SFLOW, вчера с его помощью отловил 200 Мбит транзитного DDoS-а).

Если кому-то надо, могу поделиться. Написан на Perl. Работает без СУБД, на файлах.

Поиск злодейства делается через cat ... | sort ... )

Возможно, будут какие-то ЦУ, замечания, предложения, буду рад дополнить.

Posted

dignity, а что мой анализатор не хотите взять? :) У него уже добрая сотня отловленных атак на счету. Ждете, как PF_RING прикручу?

Posted

dignity, а что мой анализатор не хотите взять? :) У него уже добрая сотня отловленных атак на счету. Ждете, как PF_RING прикручу?

 

Наверное потому не захотел брать, что ваш анализатор не-sFlow :-). Я ваш анализатор не смотрел, но вы сами пишете, что используется миррор трафика, т.е. вы в анализатор вдуваете *весь* трафик. У sFlow другой подход -- можно делать выводы, имея 1/1000 трафика для анализа. Причём выводы будут правильные в пределах статистической погрешности (все пакеты имеют равную вероятность попасть в коллектор - заявлено технологией sFLow, как на самом деле реализовано в китайских свичах, неизветно, но фича аппаратная, должно быть как заявлено).

 

Хотелось бы посмотреть на творчество dignity.

Posted

Выложу. Монитор простой) особой интеллектуальной аналитики нет. В основном каунтеры пакетов. Если будет предложение по каким-то интеллектуальным плюхам, могу реализовать попробовать.

Posted

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 портам.

Posted

dignity, а что мой анализатор не хотите взять? :) У него уже добрая сотня отловленных атак на счету. Ждете, как PF_RING прикручу?

 

Наверное потому не захотел брать, что ваш анализатор не-sFlow :-). Я ваш анализатор не смотрел, но вы сами пишете, что используется миррор трафика, т.е. вы в анализатор вдуваете *весь* трафик. У sFlow другой подход -- можно делать выводы, имея 1/1000 трафика для анализа. Причём выводы будут правильные в пределах статистической погрешности (все пакеты имеют равную вероятность попасть в коллектор - заявлено технологией sFLow, как на самом деле реализовано в китайских свичах, неизветно, но фича аппаратная, должно быть как заявлено).

 

Хотелось бы посмотреть на творчество dignity.

 

Ох, да, ваша правда, мой с flow не работает, у нас задачка стоит чуточку иная и нужна высокая точность и отлов всех пакетов.

Posted
Коллеги, не далее как два дня назад соорудил небольшой коллектор/агрегатор статистики по SFLOW, вчера с его помощью отловил 200 Мбит транзитного DDoS-а).
почему просто nfdump'ом или flow-tools'ом не собрать top dstip по flows и если flows и bps больше определенного значения кидать dstip в блекхол ? :)

 

ps: 200Mbps - это разве DDoS ? даже DoS бывает крупнее. :)

Posted

Это обсуждать не буду. Вот что у меня сейчас строится:

 

===========================================================

_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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.