Здравствуйте. Подскажите, что можно предпринять в борьбе с DDoS, кроме как переезд на новое железо? Как можно отличать ботов от людей и посылать их лесом? или это бесполезно?
на форуме много раз обсуждался ддос,думаю что то нового вам никто не скажет.наверное лучше покопайтесь в архиве форума.
Вот полезная тема: http://forum.antichat.net/thread134300.html Антиддос скрипты, антиддос команды и т. д.
Спасибо за ссылку, я, если честно, совсем в другом разделе искал ) ===== выбрал пока этот класс: http://forum.antichat.ru/showpost.php?p=1725619&postcount=4 завтра буду тетсировать, ddos ведь уже 2 недели ежедневно проходит (
Как я уже говорил 100% защиты не существует. Вот помощь при линуксе (debian/unix) (с) Если же на вас совершается ддос атака (или вы предполагаете ее наличие) - нужно все же убедится, что подобная атака действительно имеет место. Для начала - мы выведем списки открытых портов на нашем сервере. Сделать это конечно можно банально используя статистику netstat, либо же используя более грамотное правило: В итоге, мы получим некий список "активности". Из него, нас интересует лишь 4ая колонка (Local Address). Выводимые данные будут иметь формать лок_адресс:порт_службы. Локальный адрес - чаше всего будет выражен видом * а порт службы - самим названием службы (после - вы можете использовать листинг по нетстату по нему же - netstat -na | grep порт_службы). Все как бы отлично. Мы установили все интересующие порты служб. Следующим действием для нас будет установление - а есть ли "ддос"(хотя лучше делать его 1м шагом). Итак, выводим общее количество подключений на наш сервер: Таким образом - мы получим общее количество подключений к нашему выделенному серверу. Я надеюсь, вы выполните эту команду в "нормальное рабочее время сервера", чтобы знать какое количество подключений есть примерно нормальным. Если же мы вывели количество подключений к нам, и их ну явно очень много(в 2 раза > нежели обычно хотябы) - мы стали жертвой ddos атаки. Не паникуем, ведь теперь - нам нужно определить, какой из портов подвергается зловредному трафику. Чаще всего, школота орудуя "скачанным DDOS-софтом(аля DcDDOS и другие)" немного убогая в своем мозге и ставит атаку - "в лоб" (долбежка в 1 порт). Следовательно, мы идем в поисках того самого "атакуемого" порта. Выше - мы вывели цепочку открытых портов, следовательно - установить атакуемый для нас не составит труда. Попутно, можно выполнить top и узнать pid самого груженного процесса, а после - отлистить его с помощью: можете сразу с grep по ид-у процесса, как возбуждает. В результате - мы установили атакуемый процесс, а так же занимаемый им порт. ---------------------------------------------------------------------------------------------------------- Если же на вас навалилась бот-сеточка и работа вашего сервиса приостановлена - нужно искать решение блокировки атаки, так как в ручную это доволи долгий и скудный процесс. Как решение и более грамотную замену connlimit я предлагаю использовать одноименный мод из той же области - hash-limit. Вся разница будет заключаться в том - что для тех, кто превысит количество заданных нами подключений будет выдан полный блок на указанное нами время, в отличии от чего конлимит лишь сбросит подключения, которые нам не нравятся. Итак, идем к нашей консоли и переписываем заданное ACCEPT правило на атакуемый порт на: Полное описание вы с уловкой сможете нагуглить, я же остановлюсь на главном. В данном случае мы создадим цепочку правил, которая будет работать по следующей схеме. Все новые подключения, создаваемые одним ip адрессом, будут записаны а после - обработаны. Если количество попыток создания подключения за 1 час привысит 50 данный злободей получит блок на 60000мс.(1минуту). При повторной попытке подключения от заблокированного ип-адресса счетчик будет сброшен и он снова получит 1 минуту бана. Таким образом - каждый ацкий бот, атакующий ваш порт созданием новых подключений - пойдет курить, блокируя сам себя. Для само-утверждения вы можете использовать ограничения не только почасовые, а и минутные/секундные (--hashlimit 1/m , 1/s и т д ). Всю статистику работы хеш-лимитов вы сможете узнать ровно в 3 клика: где GS - имя созданного лимитирования (--hashlimit-name). После того, как убедитесь что ботеры отлочены и нагоняют сами себя - вы смело можете подключать любимый процесс(сервер, веб и т д) работать дальше. П.с. - не забудьте сказать ддосерам "Ку"
модифицируй скрипты: если ддосят гет и пост запросами, создавай сессию и переменную счетчик. инкременть переменную при каждом заходе на страницу с сесси: PHP: session_start(); if($_SESSION["counter"]<10) { $_SESSION["counter"]++; include "stranica.php";//страница сайта exit; } else { Echo "вы достигли максимальног кол-ва коннектов!"; exit; } если просто syn-флудом - поставь ограничение на число коннектов, и отказывай в коннекте после 5-10 попыток если UDP флудом: проверяй длину пакета и также посылай лесом при посылке некорректных данных. если медленно посылают http-пакеты - ставь таймаут на коннект
господа, с хорошим ботнетом никакие защиты непомогут. сайт с базовым анти-ддосом с 3к ботов оптимы клался менее чем за минуту.