_Dark_ Опубликовано 29 мая, 2012 Поделиться Опубликовано 29 мая, 2012 Представляю вашему вниманию простой скрипт, который может защитить ваш сайт, если его атакуют. Скрипт защищает только если ваш сайт подвергнут механизму атаки описанному ниже. Недавно наш сайт (IPBMafia.Ru) был подвергнут этой атаке. Действовало все следующим образом: большое количество ботов постоянно открывали главную страницу сайта. Это не был HTTP флуд, это были реальные запросы, потому что IP.Board фиксировал этих ботов как гостей. Самому серверу сайта от этого ничего не было, это мелочь. Но вот база данных не могла справиться с этим, потому что около 10 раз в секунду к ней шли "тяжелые" запросы, направленные на построение главной страницы, которая сама по себе очень "тяжелая". Думаю всем понятно, что база данных не могла обработать все это и просто не отвечала. Таким образом основной целью этой атаки является не веб-сервер, а база данных. Мне пришла идея, что раз движок регистрирует их как посетителей, т.е. это не скрытые запросы, а фейковые пользователи, то и работать с ними можно как с реальными пользователями, и вот - скрипт готов. Скрипт подходит для любого движка, а установка очень простая. Забыл написать: Предупреждение! Устанавливайте этот скрипт только если у вас есть предположение или вы видите, что вас атакуют! В данный момент нельзя отследить кто бот, а кто честный пользователь, поэтому, если например, настоящий пользователь откроет одновременно несколько страниц, он тоже будет забанен! Принцип работы Вы указываете какое количество запросов разрешено в указанное вами количество секунд. Если клиент выполняет больше запросов, чем разрешено, скрипт завершает работу и клиент видит пустую страницу. Движок сайта соответственно не выполняется, поэтому "тормозов" в работе для других пользователей не будет.Требования PHP 4 / 5 УстановкаIP.Board Загрузите файл DAFQS.php в корень вашего сайта. globalTemplate.zip Откройте файл index.php, находящийся в корне вашего сайта и после первой строчки <?php вставьте: require_once 'DAFQS.php'; Перейдите к пункту Настройка Другие движки Процедура установки скрипта зависит от архитектуры конкретного движка, поэтому если вам нужно установить этот скрипт не на IP.Board напишите в эту тему название движка, а я сделаю инструкцию под него. Настройка После строчки require_once 'DAFQS.php'; вставьте: new DAFQS(a, b, c); Где a - максимальное количество запросов от одного клиента, b - лимит секунд, c - время бана в секундах. Все это расшифровывается как "Если выполнено больше a запросов за b секунд, то выдается бан* на с секунд". Естественно, в new DAFQS(a, b, c); a, b, c нужно заменить на необходимые значения, я рекомендую поставить 3, 1, 5. После этого сохраните файл. Скрипт установлен. * под баном подразумевается время, в течение которого пользователю не будет отображаться сайт и соответственно, не будет никакой нагрузки от этого пользователя. Информация Версия 1.10 Автор _Dark_ Написано для посетителей IPBMafia.Ru Список изменений: 1.11 - исправлен баг с баном пользователя. 1.10 - добавлена возможность вручную устанавливать время бана. 1.00 - первый релиз. Trateus, Quicksdk, AUYKGN и 11 других 14 Ссылка на комментарий Поделиться на другие сайты Поделиться
Respected Опубликовано 29 мая, 2012 Поделиться Опубликовано 29 мая, 2012 Дарк, да ты вообще молоток. Правильную вещь сделал. Осталось проверить скрипт и написать в тему отзыв :crazy: RealUser, Spray и AUYKGN 3 Ссылка на комментарий Поделиться на другие сайты Поделиться
Quicksdk Опубликовано 29 мая, 2012 Поделиться Опубликовано 29 мая, 2012 Супер! А кстати, если вставить другие механизмы защиты от ДДоса, то они смогут работать "в команде"? Ссылка на комментарий Поделиться на другие сайты Поделиться
Quicksdk Опубликовано 29 мая, 2012 Поделиться Опубликовано 29 мая, 2012 Кстати не знаешь, что можно предпринять против LOIC и HOIC? Ссылка на комментарий Поделиться на другие сайты Поделиться
_Dark_ Опубликовано 29 мая, 2012 Автор Поделиться Опубликовано 29 мая, 2012 Кстати не знаешь, что можно предпринять против LOIC и HOIC? LOIC / HOIC не знаю, мне нужно посмотреть на атаку на тестовом сайте, есть предположение, что можно отследить ботов. Забыл написать: Предупреждение! Устанавливайте этот скрипт только если у вас есть предположение или вы видите, что вас атакуют! В данный момент нельзя отследить кто бот, а кто честный пользователь, поэтому, если например, настоящий пользователь откроет одновременно несколько страниц, он тоже будет забанен! Супер! А кстати, если вставить другие механизмы защиты от ДДоса, то они смогут работать "в команде"? Да, без проблем, скрипт полностью самодостаточен и не влияет на работу других скриптов, равно как и они на него. Caius и Respected 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Gumbo Опубликовано 5 июня, 2012 Поделиться Опубликовано 5 июня, 2012 Кстати, я так понял баны дается даже если за секунду открыть несколько разных вкладок браузера с разными темами? Ссылка на комментарий Поделиться на другие сайты Поделиться
_Dark_ Опубликовано 5 июня, 2012 Автор Поделиться Опубликовано 5 июня, 2012 Кстати, я так понял баны дается даже если за секунду открыть несколько разных вкладок браузера с разными темами? Конечно. В описании все есть. Ссылка на комментарий Поделиться на другие сайты Поделиться
kile45 Опубликовано 11 июня, 2012 Поделиться Опубликовано 11 июня, 2012 предлагаю модифицировать немного разрешить скрипту анализировать логи apache/nginx и если "клиент" запрашивает страницу скорее всего одну и туже и часто, так вот их отсеивать. также добавить отображаение кого забанило с возможностью разбанить...ботов перенаправлять на другую страницу - html с ссылкой замаскированной атакуемого сайта, если это человек, то он перейдет по ссылке, а вот если бот..то будет отдаваться html страничка :) Ссылка на комментарий Поделиться на другие сайты Поделиться
MakSim Опубликовано 12 июня, 2012 Поделиться Опубликовано 12 июня, 2012 Как для DLE движка установить? Ссылка на комментарий Поделиться на другие сайты Поделиться
_Dark_ Опубликовано 12 июня, 2012 Автор Поделиться Опубликовано 12 июня, 2012 MakSim, устанавливать надо только если вас уже атакуют. предлагаю модифицировать немного разрешить скрипту анализировать логи apache/nginx и если "клиент" запрашивает страницу скорее всего одну и туже и часто, так вот их отсеивать. также добавить отображаение кого забанило с возможностью разбанить...ботов перенаправлять на другую страницу - html с ссылкой замаскированной атакуемого сайта, если это человек, то он перейдет по ссылке, а вот если бот..то будет отдаваться html страничка Если все это сделать на PHP, то вреда от атаки будет намного больше с этим скриптом, чем без него Чтение файлов, анализ - это относительно ресурсоемкий процесс. Ссылка на комментарий Поделиться на другие сайты Поделиться
kenni72 Опубликовано 12 июня, 2012 Поделиться Опубликовано 12 июня, 2012 _Dark_, есть skype?? Если есть добавь меня skypik34621 Ну или скинь свой. Ссылка на комментарий Поделиться на другие сайты Поделиться
Nike111 Опубликовано 4 августа, 2012 Поделиться Опубликовано 4 августа, 2012 А если сделать так что вместо бана по айпи,буде временый бан на срок который указан. (например 10-100 сек) Ссылка на комментарий Поделиться на другие сайты Поделиться
_Dark_ Опубликовано 4 августа, 2012 Автор Поделиться Опубликовано 4 августа, 2012 А если сделать так что вместо бана по айпи,буде временый бан на срок который указан. (например 10-100 сек) Прочитайте что вы написали и что написано выше, в описании. Ссылка на комментарий Поделиться на другие сайты Поделиться
egorea1999 Опубликовано 11 марта, 2013 Поделиться Опубликовано 11 марта, 2013 а где скачать?) Ссылка на комментарий Поделиться на другие сайты Поделиться
S1mple Опубликовано 3 апреля, 2013 Поделиться Опубликовано 3 апреля, 2013 а где скачать?) +1 дайте скрипт плиз Ссылка на комментарий Поделиться на другие сайты Поделиться
AUYKGN Опубликовано 11 апреля, 2013 Поделиться Опубликовано 11 апреля, 2013 Походу поезд уехал и прикреплённый файл ТС пропал. Spray 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Winexcel Опубликовано 26 апреля, 2013 Поделиться Опубликовано 26 апреля, 2013 Перезалейте пожалуйста, скачать не могу. Ссылка на комментарий Поделиться на другие сайты Поделиться
Romzes Опубликовано 17 октября, 2013 Поделиться Опубликовано 17 октября, 2013 Перезалейте пожалуйста. Ссылка на комментарий Поделиться на другие сайты Поделиться
quatrossential Опубликовано 4 января, 2014 Поделиться Опубликовано 4 января, 2014 Перезалейте файл! Ссылка на комментарий Поделиться на другие сайты Поделиться
dgakonda Опубликовано 19 февраля, 2014 Поделиться Опубликовано 19 февраля, 2014 перезалейте файл Ссылка на комментарий Поделиться на другие сайты Поделиться
AUYKGN Опубликовано 20 февраля, 2014 Поделиться Опубликовано 20 февраля, 2014 НЕ БУДЕТ УЖЕ ФАЙЛА. Spray 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Spray Опубликовано 20 февраля, 2014 Поделиться Опубликовано 20 февраля, 2014 Так как найдут обход! тему можно закрыть! я так думаю Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения