Анализатор логов вебсервера для поиска ддос

zexis
На сайте с 09.08.2005
Offline
388
9037

Хотелось бы узнать кто какими пользуется анализаторами логов для поиска ддос ботов.

И последующего занесения IP адресов найденных ботов в фаервол.

Хочется иметь удобный, продвинутый анализатор логов для поиска ддос.

Возможно, гуру скажут, что при мощном ддосе в логи сервера нечего записаться не успеет.

Но лично мне удавалось заблокировать несколько ддос атак, найдя IP ботов в логах и занеся их в фаервол. (атаки были с ботнета от 50 до 5000 IP)

Поэтому считаю, что поиск ботов в логах вебсервера – довольно эффективен.

Можно анализировать логи, написав скрипт на языке Shell.

Но я считаю, что сложный анализ логов на shell реализовать сложно.

Конечно, можно на шелле реализовать анализ лог файла error.log у nginx и банить тех, кого не пропустил nginx из за превышения лимитов.

Это тоже не плохой вариант.

У меня написан анализатор логов на языке С, который запускается по крону и анализирует логи access.log и netstat. Найденные IP адреса ботов заносятся в фаервол iptables.

Мне хотелось бы найти новые, эффективные алгоритмы для поиска ддос ботов.

Буду признателен за идеи в этом направлении.

Перечислю алгоритмы и критерии для поиска ддос ботов, которые у меня уже реализованы.

1. поиск тех, кто сделал более N любых запросов за любой интервал времени T лога

2. поиск тех, кто сделал более N запросов к одной и той же странице за любой интервал времени T лога

3. поиск тех, кто сделал более N ошибочных запросов за интервал времени T

4. поиск тех кто не сделал ни одной паузы в запросах продолжительностью T1 секунд за интервал времени T2 секунд.

5. Поиск тех открыл более определенного количества коннектов с заданными параметрами (список коннектов берется командой netstat)

6. Поиск группы IP адресов, которые используют один и тот же юзер агент и сделавших более определенного числа запросов.

7. В программе есть файл для белого списка IP и подсетей, в которые можно занести боты поисковых систем, что бы они не забанились по ошибке.

Программа позволяет одновременно делать несколько проверок по разным параметром.

Например.

1. найти тех кто сделал более 100 запросов к PHP файлам за любые 60 секунд лога

2. найти тех кто сделал более 150 запросов к PHP файлам за любые 120 секунд лога

3. найти тех кто сделал более 200 запросов к PHP файлам за любые 240 секунд лога

Найдены будут все кто удовлетворяет хотя бы одному условию.

Размышляю над таким алгоритмом

Проверка того, что при переходе на новую страницу, на предыдущей странице была бы на нее ссылка.

Но как это реализовать, что было просто, надежно и удобно пока не придумал.

Использовать для поиска ботов javascript не хотелось бы, так как у многих пользователей он отключен и эти пользователи лишатся доступа к сайту.

Я заинтересован в совершенствовании и тестировании своей программы.

Поэтому могу бесплатно установить свою программу всем кто столкнулся с проблемой ддос. Моя аська 169938шесть79

Подведу итог чего я хотел от этого поста.

1. узнать кто какими анализаторами логов для поиска ддос пользуется и рекомендует

2. узнать о новых алгоритмах поиска ддос и о опыте их использования

3. найти желающих для тестирования моей программы, на которых осуществляется ддос атака. Моя аська 169938шесть79

Какие используете анализаторы логов для поиска ддос?

Использую для этого готовый софт.
20% (5)
Писал анализатор логов сам на языке С
8% (2)
Анализирую логи средствами shell
40% (10)
Никогда не сталкивался с ДДОС и надобности в анализе логов не было
20% (5)
С ДДОС сталкивался, но анализ логов не производился
12% (3)
Всего проголосовало: 25
C
На сайте с 11.01.2010
Offline
45
#1

Заявленный функционал вполне можно реализовать в рамках shell, в чем преимущество Вашей программы?

zexis
На сайте с 09.08.2005
Offline
388
#2
Caviar:
Заявленный функционал вполне можно реализовать в рамках shell, в чем преимущество Вашей программы?

1. В том что разные алгоритмы поиска с разными параметрами можно накладывать одновременно.

2. В том что можно реализовывать довольно сложные алгоритмы для анализа.

3. Исходный код программы на языке С сейчас занимает 2300 строк. Отладить такой объем кода не шелле не реально.

4. 10 000 строк лог файла программа анализирует за 1-2 секунды. У программы на шелле (реализующие такие же алгоритмы) на это ушло бы больше времени.

N
На сайте с 06.05.2007
Offline
419
#3

Скатываетесь до уровня Андрейки. Уже вроде все видели ваш суперанализатор и обсосали со всех сторон. Опять что-ли хочется пиара?

на практике достаточно одного взгляда в /server-status, чтобы понять что это пришел ддос.

Кнопка вызова админа ()
C
На сайте с 11.01.2010
Offline
45
#4

Я не видел ...

Где можно посмотреть?

M
На сайте с 16.09.2009
Offline
278
#5
zexis:
1. В том что разные алгоритмы поиска с разными параметрами можно накладывать одновременно.

А что мешает сделать это на sh+awk/sed ?

zexis:

2. В том что можно реализовывать довольно сложные алгоритмы для анализа.

Ну, Perl тогда. (Хотя я в упор сложностей в Ваших алгоритмах не вижу).

zexis:

3. Исходный код программы на языке С сейчас занимает 2300 строк. Отладить такой объем кода не шелле не реально.

Может Вы просто не знакомы со скриптовыми языками, вот и все? Ну не windows

это :) Для потоковой обработки текстовых логов есть куча инструментов, awk замечательно

подойдет. Хочется еще быстрее - можно sed использовать.

zexis:

4. 10 000 строк лог файла программа анализирует за 1-2 секунды. У программы на шелле (реализующие такие же алгоритмы) на это ушло бы больше времени.

А как вы это узнали?

PS:

"Алгоритмы" Ваши уже обсосали со всех сторон в предыдущих топиках. Часть их реализуется

на уровне вебсервера (nginx limit* модули) - часть элементарной строчкой tail + awk.

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
zexis
На сайте с 09.08.2005
Offline
388
#6
netwind:
Скатываетесь до уровня Андрейки. Уже вроде все видели ваш суперанализатор и обсосали со всех сторон. Опять что-ли хочется пиара?
на практике достаточно одного взгляда в /server-status, чтобы понять что это пришел ддос.

Цель у меня не пиар, а совершенствование софта.

Какие готовые программы может кто то порекомендовать для анализа логов для поиска ддос?

D
На сайте с 05.06.2007
Offline
155
#7

У меня подобная штука работает, глушит дос по логам апача/нгнюкса и по сетевой активности, фильтер на поисковики, собственно полноценный фаер... нужно лишь интелекта добавить. Написана была изначально на перле, потом по разным причинам переписал на пхп, не поверите, если уметь, он такой же быстрый как ваш си ;)

Написал не мало шедевров ;)
zexis
На сайте с 09.08.2005
Offline
388
#8

Посоветуйте, пожалуйста, готовый софт для защиты от ддос силами самого сервера.

В частности интересует софт для поиска ддос ботов в логах вебсервера.

/server-status – показывает лишь текущие обрабатываемые запросы.

Если ддос атакует лишь одну страницу на сайте(или не более 3-4 страниц) , то в отчете /server-status будет хорошо видно ддос атаку.

А если ддос боты более интеллектуальные, И имитируют работу пользователя ?

Какой есть софт для поиска в логах высокоинтеллектуальных ботов?

C
На сайте с 11.01.2010
Offline
45
#9

ну например так:

cut -d" " -f1 access_log|sort|uniq -c|sort -n

потом смотрим зачем пришли топовые ипы , ну или сразу в iptables самых рьяных

при необходимости процесс выявления-блокировки автоматизируем.

еще error логи нжинкса можно смотреть на предмет систематического превышения limit_conn

Правда все это барахтанье провоцировало мощный ддос, с последующим закрытием серва на аплинках хостером.

AX
На сайте с 20.09.2008
Offline
133
#10

Вот это может подойдет?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий