> Такую ситуацию должен отслеживать нормальный файервол/пакетный фильтр Ну, ладно, меня одного с http_load забанить можно(и то, только если я не буду засранцем и не размажу это безобразие через жирный прокси-лист, что при желании сделать не вопрос).А вот что с ботами делать которые ведут себя реалистично, подобно юзерам?Попытка бана приведет к бану и легитимных юзеров если атака мало-мальски грамотная.Собственно несколько тыщ ботов и качать неторопливо файлики пожирнее.Как юзеры.Фигли.При этом каждому боту совсем не обязательно часто делать запросы-ему достаточно меееедленно выкачивать толстый файл полчаса.Заняв на полчаса под бесполезную деятельность целый увесистый процесс.В итоге или апач с префорком убьет все вокруг своими кучами процессов или же если урезать пул процессов до вменяемой величины - легитимные юзеры будут дооооолго ждать своей очереди(пока боты по полчаса медленно качают файл, сделав всего 1 запрос...).В итоге браузер им просто покажет табличку рассказывающую про то что connection timed out или они сами задолбутся ждать.
Это так, по мотивам виденных атак на реальные апачи в их более-менее дефолтном виде, т.е. дурной prefork.В итоге или апач кладет систему (клинч от тысяч процессов такой что по ssh порой не пробиться, ресурсов проца не хватает) или сайт почти перестает обслуживать юзеров хотя ресурсы вроде как есть(просто пул процессов озадачен левизной а юзерам-фига!).
> обязанность файервола.
От именно DDoS, даже весьма легкого, силами школоты - не спасет.Потому как индивидуальные боты в случае заточки атаки против именно апача с его префорком не обязаны часто делать запросы: количеством и медленностью скачки возьмут.И пока все воркеры будут по полчаса отдавать файлики ботам, юзеры, разумеется, подождут.А куда они денутся если всех воркеров на полчаса застолбили боты?А через полчаса можно другой файлик покачать.Еще полчаса.Реальные юзеры могут качать даже чаще.Их - в бан? =)
А уж вполне легитимный NAT какого-нибудь праводера с кучей юзеров за ним при случае накроет только в путь, если они потопают всей кучкой смотреть "а что это там такое?".А прописывать в исключения все NATы и т.п. - заколебешься.
В итоге имхо проще поставить лайт или нжинкс, им на такой тип нагрузки - класть с прибором, расход ресурсов на малоактивные соединения - невелик и уронить становится куда труднее (каналы у серваков обычно толстые и забить их шибко сложнее чем просто поставить апач с префорком в позу).