The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Скрипты для борьбы с флудом и подбором паролей

08.11.2005 21:57

Роб из HSpherePackages.com создал хороший BFD (Brute Force Detection) скрипт, который позволяет автоматически блокировать атакующие хосты. Скрипт бесплатный и может работать как на Linux, так и FreeBSD.

Дополнение от редактора: Для борьбы с перегрузками на сервере opennet.ru используется скрипт apache_mon, который на основе периодического анализа access лога apache и превышении заданной величины Load Average на сервере, производит блокировку адресов превысивших заданный rate limit. Кроме того, при обнаружении большого числа запросов к динамически создаваемой странице, скрипт позволяет прокэшировать данную страницу через статику. Блокировка осуществляется через mod_rewrite правило через .htaccess, но нетрудно переработать скрипт для блокировки через rewrite map или пакетный фильтр.

  1. Главная ссылка к новости (http://dedic.ru/node/116...)
Автор новости: eSupport.org.ua
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/6399-apache
Ключевые слова: apache, dos, flood
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (51) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Otto Katz Feldkurat (?), 23:55, 08/11/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Для борьбы с перегрузками на сервере
    > opennet.ru используется скрипт

    Зачем???

     
     
  • 2.2, Otto Katz Feldkurat (?), 00:08, 09/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    посмотрел невнимательно по диагонали.

    ИМХО чушь сабачачия.

    Есть SNORT, есть PF\IPFW, есть GUARDIAN, который на основе анализа IP трафика скоро и правильно банит зломышленника. И есть ACID, который заносит в БД всю историю инцидентов.

    Зачем при этом такие тупые полумеры?

     
     
  • 3.3, _Nick_ (ok), 01:20, 09/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    как прибили - так и держица
     
  • 3.4, неаноним (?), 03:52, 09/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Ну или snortsam
     
  • 3.5, citrin (ok), 08:21, 09/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >посмотрел невнимательно по диагонали.
    >
    >ИМХО чушь сабачачия.
    >
    >Есть SNORT, есть PF\IPFW, есть GUARDIAN, который на основе анализа IP трафика
    >скоро и правильно банит зломышленника. И есть ACID, который заносит в
    >БД всю историю инцидентов.

    Чувствуется у вас очень маленький опыт администрирования web-серверов. На уровне SNORT очень сложно определить нормальный это пользователи или он делает слишком много запросов перегружая этим сервер.

    >Зачем при этом такие тупые полумеры?

    А затем, что если кто то перегружает именно web-сервер то вполне достаточно блокировать его запросы к web.

     
     
  • 4.7, Otto Katz Feldkurat (?), 10:16, 09/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    > если кто-то перегружает именно web-сервер???
    > или он делает слишком много запросов перегружая этим сервер?


    вообще-то я (и все все все) обратную задачу решаю - привлечь к своему сервису как можно больше пользователей и задержать их на сервере как можно дольше.

    Вы представляете себе Ливжорнал или Mail сообщающих "заходите завтр, когда будет поменьше народ"?

    ИМХО тупизна.

     
     
  • 5.9, citrin (ok), 10:31, 09/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >вообще-то я (и все все все) обратную задачу решаю - привлечь к своему сервису как можно больше пользователей и задержать их на сервере как можно дольше.
    >Вы представляете себе Ливжорнал или Mail сообщающих "заходите завтр, когда будет поменьше народ"?
    >ИМХО тупизна.

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

     
  • 3.6, Maxim Chirkov (ok), 09:29, 09/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >Есть SNORT, есть PF\IPFW, есть GUARDIAN, который на основе анализа IP трафика
    >скоро и правильно банит зломышленника.

    Т.е. вы предлагайте на и так загруженном серере, дополлнительно постоянно грузить его snort'ом, который будет давать сравнимую с apache нагрузку (про безопасность такого решения я не буду подробно говорить, месяц или два назад в snort очередную дыру находили).

    К томуже злоумышленники появляются редко, а вот любители зеркалировать сайт в несколько потоков сплош и рядом. Когда они зеркалируют по одному и раздел в статике, ничего страшного, но когда они начинают зеркалировать динамику, да еще попадается одновременно несколько таких злодеев, при этом LA взлетает,  - тут то их и нужно приструнить (не просто зафаерволить, а выдать страницу с предупреждением). Причем, как только они осознали свою ошибку и запросы прекратились или приняли приемлимый объем - убрать адреса из списка блокировки.

    Второй вариант - борьба с slashdot-эффектом, когда объем запросов к нескольким страницам приводит к DDoS, здесь выход в подмене на время всплеска активности динамики - статикой.

    Через snort, без серьезного рукоприкладства, вы не добъетесь ни первого, ни второго.

    > И есть ACID, который заносит в
    > БД всю историю инцидентов.

    Нехватало еще БД дергать.


     
     
  • 4.8, Otto Katz Feldkurat (?), 10:20, 09/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    и зеркалироания есть только расширение канала, а SNORT у меня грузит процы на уровне 0.001% в самом страшном пике.
     
     
  • 5.10, HilL (?), 12:08, 09/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    и в нем постоянно находят дыры.
    аш страшно!
     
  • 5.12, Maxim Chirkov (ok), 13:47, 09/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >и зеркалироания есть только расширение канала, а SNORT у меня грузит процы
    >на уровне 0.001% в самом страшном пике.

    Какое расширение канала ? Если мы не статику раздаем и 10 одновременных запросов к ресурсоемкому скрипту без всякого трафика задерут LA до небес.

     
     
  • 6.14, Otto (?), 15:50, 09/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >>и зеркалироания есть только расширение канала, а SNORT у меня грузит процы
    >>на уровне 0.001% в самом страшном пике.
    >
    >Какое расширение канала ? Если мы не статику раздаем и 10 одновременных
    >запросов к ресурсоемкому скрипту без всякого трафика задерут LA до небес.
    >


    Пусть зеркалируют хоть в триста потоков - юзер=ТИЦ=реклама=деньги

    Сысоевский mod_accel с опцими "кешировать все" и "кешировать на веки"

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

     
     
  • 7.15, Maxim Chirkov (ok), 16:17, 09/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >Поолльзователей надо беречь

    Когда один пользователь, недумая ни о ком кроме себя, пытается в 100 потоков скачать себе сайт размером несколько Гб и  создает нагрузку как тысяча других посетителей, его нужно заносить в какой-нибудь глобальный бан-лист.

    >Пусть зеркалируют хоть в триста потоков - юзер=ТИЦ=реклама=деньги

    Для крутилки он не юзер, а робот, для рекламы совершенно не интересный. Давайте тогда и за показ баннеров поисковым роботам деньги брать. Чем они хуже автоматических качалок ;-)

    >Сысоевский mod_accel с опцими "кешировать все" и "кешировать на веки"

    Речь про необходимую динамику, например, в форуме новые сообщения для ников отображать или что-то в шапке крутить в зависимости от контекста. Которую на полную статику можно заменить только в экстренном случае.

     
     
  • 8.21, Otto Katz Feldkurat (?), 23:59, 09/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Речь о другом В страницы Opennet Ru нужно вставить ссылки на Opennet Ru, кнопоч... текст свёрнут, показать
     
     
  • 9.23, Maxim Chirkov (ok), 09:22, 10/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Вы не поняли - Под зеркалированием я подразумеваю инициативу Васи Пупкина реши... текст свёрнут, показать
     
     
  • 10.27, Otto Katz Feldkurat (?), 11:13, 10/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Не мог даже и вообразить, что кто-то может качать сайт в локал для изучения на д... текст свёрнут, показать
     
     
  • 11.35, eSupport.org.ua (?), 13:25, 10/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Давай ссылку, потестим сколько запросов выдержит акселлератор ... текст свёрнут, показать
     
     
  • 12.42, Otto Katz Feldkurat (?), 16:14, 10/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    заранее благодарен... текст свёрнут, показать
     
     
  • 13.43, Otto Katz Feldkurat (?), 16:29, 10/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Забыл попросить UA пропиши Чтобы Рэмблер тебя посчитал ... текст свёрнут, показать
     
  • 13.48, eSupport.org.ua (?), 09:11, 11/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Да, не сдюжил сайт-то ... текст свёрнут, показать
     
     
  • 14.49, Otto Katz Feldkurat (?), 11:08, 11/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    А поконкретнее Не вижу тебя в логах Или ты бан от SNORT а принимаешь за не с... текст свёрнут, показать
     
     
  • 15.51, eSupport.org.ua (?), 08:05, 12/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Я тестил с разных серверов А за что бан Я просто попробовал натравить пару сот... текст свёрнут, показать
     
  • 11.41, sash (??), 16:14, 10/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    А в чем вы считаете Load Average Всегда считал значение попугаями, а не процен... текст свёрнут, показать
     
     
  • 12.47, Otto Katz Feldkurat (?), 20:09, 10/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    ... текст свёрнут, показать
     
  • 7.19, eSupport.org.ua (?), 18:46, 09/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >Пусть зеркалируют хоть в триста потоков - юзер=ТИЦ=реклама=деньги

    Зеркалируют не юзера :)

    >
    >Сысоевский mod_accel с опцими "кешировать все" и "кешировать на веки"
    >
    >Скрипт запусается первым, кто требует динамику, все остальные получают статику. Нагрузка снижается
    >резко.

    Попробуйте поставить на своем shared хостинге. И услышать жалобы владельцев разнообразных CMS, о том что их контент не обновляется. Вы судя по всему достаточно далеки от области хостинга.


     
     
  • 8.20, Otto Katz Feldkurat (?), 23:54, 09/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    на моем личном физическом сервере и я соврешенно точно не хостер и не провайдер... текст свёрнут, показать
     
     
  • 9.22, eSupport.org.ua (?), 08:25, 10/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    На личном сервере может жить что угодно Но когда это публичный популярный веб-с... текст свёрнут, показать
     
  • 5.18, eSupport.org.ua (?), 18:44, 09/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >и зеркалироания есть только расширение канала, а SNORT у меня грузит процы
    >на уровне 0.001% в самом страшном пике.


    Вы представитель техотдела какого-то хостинга? Или у Вас просто корпоративный сервер с 5-ю файлами на HTML?

     
  • 4.11, HilL (?), 12:11, 09/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    клевый у тебя скрипт.
    еще и роботом меня обозвал!

    Sorry. Restricted area ! Only for humans.

    Извините, при запросе данной интерактивной формы сработала система блокирования роботов.
    По этому URL нет полезных для индексации данных. По всем вопросам обращайтесь по адресу mc@tyumen.ru
    Если вы получили данный текст по ошибке, наиболее вероятной причиной является использование браузера или прокси сервера
    с настройками направленными на излишнюю анонимность.

    8))))))))

    смех и не только.

    :-@

     
     
  • 5.13, Maxim Chirkov (ok), 13:53, 09/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >клевый у тебя скрипт.
    >еще и роботом меня обозвал!
    >смех и не только.

    Нечего тереть все подряд HTTP заголовки без надобности или использовать анонимные proxy.  Чем, напирмер, вам HTTP_USER_AGENT помешал ?

     
     
  • 6.34, HilL (?), 12:23, 10/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >>клевый у тебя скрипт.
    >>еще и роботом меня обозвал!
    >>смех и не только.
    >
    >Нечего тереть все подряд HTTP заголовки без надобности или использовать анонимные proxy.
    > Чем, напирмер, вам HTTP_USER_AGENT помешал ?

    ну вот...
    8-(
    я оказываеца и проксю теперь неправильно сконфигурил.
    и анонимность избыточная.

    извините...

     
  • 6.50, _Nick_ (ok), 06:05, 12/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >>клевый у тебя скрипт.
    >>еще и роботом меня обозвал!
    >>смех и не только.
    >
    >Нечего тереть все подряд HTTP заголовки без надобности или использовать анонимные proxy.
    > Чем, напирмер, вам HTTP_USER_AGENT помешал ?

    нее... маразм основанный на паранойе
    я хочу страничку - посчу запрос. Если сервант по запросу не дает контент
    при отстутствии НЕНУЖНЫХ заголовков - то нуна че-то менять в  консерватории...

     
     
  • 7.52, NuclearCat (?), 08:36, 27/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    RFC:

    14.43 User-Agent

       The User-Agent request-header field contains information about the
       user agent originating the request. This is for statistical purposes,
       the tracing of protocol violations, and automated recognition of user
       agents for the sake of tailoring responses to avoid particular user
       agent limitations. User agents SHOULD include this field with
       requests. The field can contain multiple product tokens (section 3.8)
       and comments identifying the agent and any subproducts which form a
       significant part of the user agent. By convention, the product tokens
       are listed in order of their significance for identifying the
       application.

           User-Agent     = "User-Agent" ":" 1*( product | comment )

       Example:

           User-Agent: CERN-LineMode/2.15 libwww/2.17b3


    Так, что... не нравится использовать UA поле, готовьтесь к глюкам. Параноидальное приваси с нормальным функционированием несовместимы.

     

  • 1.16, Gennadi (??), 17:35, 09/11/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нечто подобное?...

    http://gennadi.dyn.ee/modules.php?name=Forums&file=viewtopic&t=27

     
  • 1.17, GR (??), 17:36, 09/11/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Любопытно ... некто Отто поц пытается учить создателя оного из лучших сайтов рунета :)

    Отто - что создал Максим мы все видим. И только из за этого уже есть смысл прислушиваться к его мнению. Хотелось бы URL на ваш сайт для зацеки глубины и крутизны тэээкссказать ...
    А пока я вижу полько ваш талант к созданию флэйма, уж извините за деревенскую простоту :)

     
  • 1.24, Ыгыдшл (?), 10:22, 10/11/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Когда один пользователь, недумая ни о ком кроме
    >себя, пытается в 100 потоков скачать себе сайт
    >размером несколько Гб и  создает нагрузку как
    >тысяча других посетителей, его нужно заносить в
    >какой-нибудь глобальный бан-лист.

    яндекс например так делает

     
  • 1.25, Аноним (-), 10:58, 10/11/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    echo '* * * * * root hspherebfd >> /dev/null' >> /etc/crontab

    Разъясните плиз что делает это строчка..
    Т.е скрипт запускается один раз или что ? ъ
    и что значит: hspherebfd >> /dev/null'

     
  • 1.28, ZloiJoker (??), 11:17, 10/11/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не сильный знаток, поверхносно пока изучил скрипт.. идея хорошая.
    Но вот анализ логов апача это не хорошая идея..
    пример: на странице 50 картинок, при аткрытии этой страницы, в логах апача будет больше 50 строк, в моменте скрипт забанит этого перца..

    вобщем тут не все так хорошо..

     
     
  • 2.30, Maxim Chirkov (ok), 11:32, 10/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >пример: на странице 50 картинок, при аткрытии этой страницы, в логах апача
    >будет больше 50 строк, в моменте скрипт забанит этого перца..

    Картинки скачаются только первый раз, остальное время будут браться из кэша. Для сайтов, на которых на каждой странице по 50 неповторяющихся картинок достаточно увеличить в конфигурации скрипта число допустимых запросов или задать список игнорируемых типов.

     

  • 1.29, ZloiJoker (??), 11:23, 10/11/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    кстати аксес лог он не аналезирует
     
     
  • 2.31, Maxim Chirkov (ok), 11:39, 10/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >кстати аксес лог он не аналезирует

    Он парсит "combined" тип лога apache, если используется другой формат - нужно править regex в скрипте.

     
     
  • 3.32, ZloiJoker (??), 11:47, 10/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >>кстати аксес лог он не аналезирует
    >
    >Он парсит "combined" тип лога apache, если используется другой формат - нужно
    >править regex в скрипте.

    код в студию где он цепляет лог апача.

     
     
  • 4.33, Maxim Chirkov (ok), 12:06, 10/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    > код в студию где он цепляет лог апача.

    http://www.opennet.dev/dev/alertmon/apache_mon.pl
    путь к логу задается через log_path, далее по тексту см. где этот log_path используется.

     
     
  • 5.36, ZloiJoker (??), 13:51, 10/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    И что в итоге мы видем: httpd/logs/error_log
    А что у нас попадает в error_log  так что от флуда он ни каким боком не спасает
     
     
  • 6.37, Maxim Chirkov (ok), 13:56, 10/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >И что в итоге мы видем: httpd/logs/error_log
    > А что у нас попадает в error_log  так что от
    >флуда он ни каким боком не спасает

    Вы про какой скрипт ? apache_mon  error_log  не трогает.


     
     
  • 7.38, ZloiJoker (??), 14:13, 10/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Так же обязательно указать корректный путь к логу ошибок apache: /%cfgpath/bfd/rules/apache
     
     
  • 8.39, ZloiJoker (??), 14:14, 10/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    так вот кроме лога ошибак этот скрипт ничего не смотрит ... текст свёрнут, показать
     
  • 8.40, Maxim Chirkov (ok), 14:29, 10/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    - Вы прочитали описание от одного скрипта, а смотрите исходники другого - ... текст свёрнут, показать
     
     
  • 9.44, ZloiJoker (??), 16:37, 10/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    я ничего ничитал а взял и посмотрел исходники не досконально его конешно пониам... текст свёрнут, показать
     
     
  • 10.45, Maxim Chirkov (ok), 17:15, 10/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Еще раз говорю, мы с вами разные исходники обсуждаем, я говорю про http www op... текст свёрнут, показать
     

  • 1.46, ZloiJoker (??), 18:27, 10/11/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ок прошу прощение просто не понял что в новости 2 скрипта.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру