Какой же это DDoS ? :DЭто детсадовский цикл с запросами POST-GET, который лечится таким же детсадовским скриптом на уровне сервера.
И если хостинг-провайдер пишет такую ересь, как банн за запросы, то его нужно действительно поменять.
Попытаюсь обьяснить и разграничить на русском языке понятия DDoS и флудерастия, а еще насоветовать плохого
ЧТО ПРОИСХОДИТ ?
При DDoSе чаще всего, к серверу идут нестандартные обращения с тысяч компьютеров, и это не обязательно веб-запросы, это может быть пинг, или что-то другое.
Флудерастия - это попытка завалить конкретно веб-сервер количеством запросов к нему.
Как обычно происходит работа с сайтом ?
1) Ваш браузер посылает запрос на сервер.
2) Веб-сервер на сервере, открывает соединение для вашего клиента, смотрит к чему идет обращение, обрабатывает его и отдает контент.
3) После чего ждет определенное время, после чего закрывает соединение. Это делается для того, чтоб не тратить время на их открытие, если например вы послали запрос на 2 веб страницы, с 20-тью картинками. В этом случае все делается через один запрос.
Что происходит при флуде ?
Программа, установленная у человека, имитирует разные запросы, заставляя держать открытыми несколько сотен(тысяч) соединений, хотя при этом по сути ничего не требует отдавать.
Веб-сервер, получая такой запрос, открывает соединение, которое держит открытым...ну скажем 10 секунд.
Если программа для флуда сможет открыть за эти 10 секунд, например 1000 соединений, она вызовет ту ситуацию, которую должна, а именно:
У недовебсерверов(к которым я отношу Apache) есть такой параметр как "лимит соединений", который с одной стороны делается и для предотвращения сбоя веб-сервера, а с другой стороны реализация ответа на превышение соединений состоит в ... отсечении последующих.
Получаем то что получаем. Один малолетний хакер с помощью быдлоскрипта на пыхе (или С++) наоткрывал у нас 1000 (а у кого 2000) соединений, Apache просек что его флудят, и запретил открывать следующие до тех пор пока не разберется с предыдущими. В итоге сайт кагбе в дауне, хотя нагрузка на сервер минимальная.
ЧТО ДЕЛАТЬ?
Если на недохостинге (он же shared), то линять оттуда на минимум VPS, где сможете делать все что заблагорассудится. Если поддержка хостинга вменяемая (в чем я сомневаюсь), то можно накукарекать красиво о том, что сервера будут ддосить, и они будут терять клиентов, пока не разберутся.
Если на VPS или на сервере, на котором вы root, то:
1) Если юзаете Apache, то снести его к чертям, заменив на православный nginx или lighttpd
2) Если не юзаете, то и не надо, ставьте nginx или lighttpd
3) К этим чудам, прикручиваете PHP в режиме FPM (как - гуглите).
4) Пишете скрипт, который анализирует запросы к серверу (на порты, логи вебсервера, в общем ВСЕ), и заносит в блек лист через iptables все то, что выглядит подозрительно.
5) Регулярно анализируйте логи, это поможет вам знать слабые места.
6) Поюзайте стресс тест
wm-tools.net/stresstest (wm-tools.net/stresstest]stresstest)
7) Профессиональную тулзу для флудинга и теста я могу дать ТОЛЬКО при запросе на почту biznika@gmail.com , поскольку нельзя чтоб она находилась во всеобщем доступе.
ЧТО НЕ ДЕЛАТЬ ?
1) Не ставить Apache.
2) Не делать самопальные скрипты блоккинга через .htaccessы, PHP скрипты и так далее.
3) Не юзать недоsharedхостинги.
4) Не забывать регулярно делать снапшоты (а лучше через скрипт), чтобы в случае чего восстановить и не потерять базу.
5) Не забивать на простейшие статьи на тему "как засекьюрить мой веб сервер".
Удачной Вам борьбы