инструмент для статистики подключений к серверу

12 3
kosenka
На сайте с 02.12.2007
Offline
122
2678

День добрый.

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

Либо, может посоветуете некий анализатор логов, который бы показывал "кто, сколько, чего, откуда" ?

Спасибо.

zexis
На сайте с 09.08.2005
Offline
388
#1

вариант 1)

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

Когда то искал готовое решение, но не нашел, поэтому писал сам.

Подробнее здесь.

/ru/forum/494324

Может работать как в автоматическом режиме, так и в ручном.

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

В ручном режиме выдает детальную статистику для администратора по лог файлу.

(Количестово запросов по разным IP, страницам, реферрерам, юзерагентам.)

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

Анализатор работающий в автоматическом режиме я ставлю платно.

Анализатор работающий в ручном режиме, могу дать бесплатно всем желающим.

Для того что бы оценили и покритиковали.

вариант 2)

Частично такую задачу можно решить с помощью NGINX.

Задав в нем лимиты limit_req_zone и limit_zone

Быстрых ботов так можно обнаружить. Потом парсингом error.log найти эти IP которые превысили лимиты и занести их в фаервол.

Но проблема в том, что не всегда боты быстрые. Бывает, что атакуют например 5000 ботов, но каждый бот делает не более 10 запросов в минуту. В этом случае лимиты в NGINX не помогут и надо использовать более интеллектуальный анализатор логов, который я описал выше.

вариант 3)

Есть еще mod_evasive прикручиваемый к Apache , но это не эффективный инструмент, уступающий по возможностям NGINX-у с лимитами.

вариант 4)

Можно последние 100 000 записей лога проанализировать с помощью webalizer или его аналогов. Но для автоматического бана это не подходит.

M
На сайте с 01.12.2009
Offline
235
#2
kosenka:
День добрый.

Подскажите, есть ли в природе некий инструмент, который бы позволял в реальном режиме времени анализировать логи и если с "нехорошего ип" слишком много подлючений к серверу, то этот "нехороший ип" банится.
Либо, может посоветуете некий анализатор логов, который бы показывал "кто, сколько, чего, откуда" ?

Спасибо.

Надо оценить здраво вашу ситуацию, может логи и не надо будет лопатить, а достаточно Iptables + netstat

Администратор Linux,Freebsd. построения крупных проектов.
kosenka
На сайте с 02.12.2007
Offline
122
#3
zexis:
вариант 1)
Такой инструмент для анализа логов у меня написан.
Когда то искал готовое решение, но не нашел, поэтому писал сам.

спасибо, я подумаю

kosenka добавил 07.11.2010 в 17:34

madoff:
Надо оценить здраво вашу ситуацию, может логи и не надо будет лопатить, а достаточно Iptables + netstat

Но на сколько я себе это представляю, то Iptables + netstat не дадут автоматом блокировать "нехорошие ип" или я не прав?

Все дело в том, что с сайта (сервера), который я хочу защитить, "нехорошие люди" тянут видео-файлы. Да, файлы не уникальные, но на их поиск и размещение было затрачено много времени и я бы хотел хоть как-то обезопасить себя и не дать их утянуть.

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

zexis
На сайте с 09.08.2005
Offline
388
#4

автоматом будет банить Iptables + netstat , если написать скрипт и запускать его по крону.

В ваше случае лучше указать отдельный location в nginx и задать для него нужные лимиты

limit_req_zone и limit_zone

Тех кто превысит лимиты, скриптом по крону, находить в файле error.log и банить фаерволом.

kosenka
На сайте с 02.12.2007
Offline
122
#5
zexis:
автоматом будет банить Iptables + netstat , если написать скрипт и запускать его по крону.

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

Ох... если бы я еще что-нибудь понимал в "location в nginx" и "limit_req_zone и limit_zone"...

А ваш скрипт, позволяет соорудить такую защиту ?

zexis
На сайте с 09.08.2005
Offline
388
#6

Не понял до конца вашу цель.

Вы хотите защитить свои файлы от хотлинка или сервер от доса?

Хотлинк – это когда без вашего разрешения на других сайтах дают ссылки на ваши статические файлы для скачивания.

Например в теге <IMG SRC="">

M
На сайте с 16.09.2009
Offline
278
#7
kosenka:
Ох... если бы я еще что-нибудь понимал в "location в nginx" и "limit_req_zone и limit_zone"...

zexis тоже, ИМХО, не много в этом понимает - ему о таких вещах рассказывали прямо на этом форуме ;) Не уверен, что толк был, поскольку желание писать свой велосипед с квадратными колесами - у него не прошло...

"Соорудить защиту" можно на индивидуальном уровне. Под конкретный сайт, где такие вещи экономически оправданы. Или/и просто нанять постоянного администратора.

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
zexis
На сайте с 09.08.2005
Offline
388
#8

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

Я тогда не знал, что такое NGINX и нечего не знал о ДДОС.

Поэтому задавал тогда простейшие вопросы новичка и изобретал велосипед.

Жизненная необходимость заставила во всем этом разбираться.

По специальности я программист. Работаю по этой специальности 12 лет.

В течении нескольких месяцев я написал и отладил софт, для обнаружения и блокировки ддос. В работе NGINX разобрался.

Свои сайты и сайты тех кто ко мне обращается за помощью, я от ддос успешно защищаю.

pupseg
На сайте с 14.05.2010
Offline
364
#9
kosenka:
День добрый.

Подскажите, есть ли в природе некий инструмент, который бы позволял в реальном режиме времени анализировать логи и если с "нехорошего ип" слишком много подлючений к серверу, то этот "нехороший ип" банится.
Либо, может посоветуете некий анализатор логов, который бы показывал "кто, сколько, чего, откуда" ?

Спасибо.

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

http://www.sawmill.net/

ценник - 200$ в год.

PS: на староватые версии валяются по интернету кряки. но я бы не ставил в продакшн крякнутый продукт.

Качественная помощь в обслуживании серверов. (/ru/forum/661100) Бесплатных консультаций не даю, не помогаю, не обучаю. Минималка от 100$. Как пропатчить KDE-просьба не спрашивать. Есть форумы (http://linux.org.ru) и полезные сайты (http://www.opennet.ru/).
WhiteSuite
На сайте с 09.11.2010
Offline
21
#10
zexis:
В течении нескольких месяцев я написал и отладил софт, для обнаружения и блокировки ддос. В работе NGINX разобрался.
Свои сайты и сайты тех кто ко мне обращается за помощью, я от ддос успешно защищаю.

Это физически невозможно. Существует несколько десятков видов DDoS-атак. Каждая из них имеет свои симптомы и свои методы обнаружения. Вы их предусмотрели? Скорее всего, у Вас просто блокируются адреса, которые бьют в лог апача или те, кто висит в netstat. Это покрывает максимум 5-6 видов атак. А появись Slow Loris какой-нибудь, Ваш скрипт ничего не поймет, что происходит.

Более того, гарантированно, что если Вы используете netstat, то у Вас в iptables сидят настоящие посетители атакуемого сайта. Их так же рубит.

Есть только один вид борьбы с DDoS - смотреть по месту и выискивать что же точно отличает бота от пользователя. Это минимум 20-ти минутна работа человеческого интеллекта, а не 3-х секундная работа глупого скрипта. Иначе работа будет топорная.

Покажите код своего скрипта и я Вам составлю багрепорт пунктов на 100.

Скоростной хостинг на платформе NodeSquad. Скромные цены и большие тестовые периоды. Отзывы на SearchEngines. (/ru/forum/comment/7975529)
12 3

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