|
|
|
| Здравствуйте!
Подскажиту пожалуйста, как мне защитить свой сайт от дос-атак, при том чтобы поисковые боты заходили на сайт нормально.
Если можно напишите код.
Спасибо. | |
|
|
|
|
|
|
|
для: kotProger
(22.02.2006 в 16:39)
| | Нас ДОСили недвано. ДОСили через дырку в апаче. Вообщем у меня единственный и думаю самый важный совет: ставить на сервер самое новое ПО, постоянно следить за обнолвением PHP, APACHE, PERL, MySQL и т.д... | |
|
|
|
|
|
|
|
для: JIEXA
(22.02.2006 в 17:50)
| | Дос - как многократный пустой вызов.
Можно ли это сделать средствами php на сайте? | |
|
|
|
|
|
|
|
для: kotProger
(22.02.2006 в 18:22)
| | PHP не очень удобно использовать, так как время выполнения скрипта часто ограничено 30 секундами... для этого используют либо системные скрипты, либо программы на C/C++. | |
|
|
|
|
|
|
|
для: cheops
(22.02.2006 в 19:54)
| | Ну а вообще, в каком направлении мни двигаться? Определить с какого ip адреса заходят в короткий промежуток времени и закрыть им доступ? Но тогда я закрываю доступ ip диапазона того провайдера, от которого подключается хакер. На каком принципе работает защита от дос-атак? Да, мне нужно, чтобы боты поисковиков свободно попадали на сайт. | |
|
|
|
|
|
|
|
для: kotProger
(23.02.2006 в 10:25)
| | Я бы в первую очередь пожаловался бы хост-провайдеру - у них все инструменты и возможности для определения атак и противостояния им. | |
|
|
|
|
|
|
|
для: cheops
(23.02.2006 в 14:29)
| | Дело в том, что мне дали задание (типа проверочного) для того, чтобы взяли меня на работу. Мне нужно написать прогу на PHP, для отражения дос-атак на сайте. | |
|
|
|
|
|
|
|
для: kotProger
(23.02.2006 в 16:21)
| | Хм... ну тогда нужно анализировать обращения с IP-адресов (или даже с подсетей, как правило DoS-актаки производят с зомби-сетей) и частоту обращений, если частота первышает некторое разумное число в минуту - блокировать такой адрес... Только на решать такую задачу на PHP не самое мудрое решение, так как сам PHP жрёт приличное число ресурсов... а если к скрипту будет ещё и база данных прикручена скрипт для отражения DoS атак сам и положит сайт. | |
|
|
|
|
|
|
|
для: kotProger
(23.02.2006 в 10:25)
| | При обнаружении DOS-атаки создавайте файл .htaccess c запретом доступа из обнаруженного диапазона IP. И через некоторый промежуток времени убирайте это ограничение (чтобы бан был не на всю жизнь). В базе можно хранить время установки каждого ограничения.
Таким образом вы перекладываете часть защиты на Apache. А php остается только контролирующим инструментом.
>Но тогда я закрываю доступ ip диапазона того провайдера, от которого подключается хакер
Да, можете закрыть и целый диапазон, но это меньшее зло, чем если «положат» весь сервер.
> Да, мне нужно, чтобы боты поисковиков свободно попадали на сайт.
При принятии решения: закрывать доступ или нет - проверяйте useragent. Если это робот, то доступ не запрещаем. Useragent-ы большинства поисковых роботов известны.
Либо по другому. Непосредственно в файле .htaccess вместе с запретом доступа из диапазона IP сделать исключения для обращений с useragent-ами поисковых роботов. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(24.02.2006 в 12:44)
| | В принципе, ДОС атаки, правильно написанному сайту не страшны. Возможность закачать и исполнить че-нить на вашем хосте защищает хостер, а возможность вызвать отказ в обслуживании - должны вы предусматривать.
Если движок написан грамотно, то ему не страшны одновременные обращения даже нескольких тысяч клиентов.
Конечно хостер ограничивает кол-во одновременных сеансов и подключений, но большинство из них кэшируются и не вызывают новой сессии. ДОС атака тоже должна закэшироваться на второй-третьей попытке - и дальше никакие ресурсы жрать не должна. Если конечно не идет автоформирование заголовков атакующим на низком уровне, тогда он будет получать новые сеансы и реально может сожрать выделенные ресурсы.
Защиту на ПХП тут трудновато придумать реальную, очень много придется контролить и действительно, как сказал cheops, сам сайт сожрет ресурсы раньше, чем его успеют забить пакетами злые дяди.
Контролить ИП при формировании заголовков на низком уровне - бесполезно, всегда разный ИП подставляется, хакеру ведь не нужно получать ответ от вашего сервера, поэтому он может указывать все, что угодно в своем ИП.
Если организовать загрузку страниц с проверкой во время выдачи контента о наличии соединения в середине выдачи - не знаю возможно-ли так.
Короче, акромя, как фильтр пакетов на самом интерфейсе компа где хост расположен, с глубокими и своевременными настройками админом, не представляю возможности защитится без серьезных потерь для сайта.
Дизайнер:
На счет User-Agent, это бессмысленно. Если атакующий даже ИП меняет сволочь, то User-Agent, даже я меняю, когда через свой софт по нету лажу. И часто, если кто-то не хочет пускать моего бота, первое, что я делаю - представляюсь гуглом. | |
|
|
|
|
|
|
|
для: XPraptor
(24.02.2006 в 12:57)
| | Может ли хакер нагрузить сервер при помощи CGI к примеру на Perl? Т.е. слить мне в каталог cgi-bin прогу, которая, лихим образом, будет заставлять Apache создавать кучу процессов. Тогда РНР вообще не при делах будет? | |
|
|
|
|
|
|
|
для: kotProger
(24.02.2006 в 14:46)
| | Сомнительно. Хостер врядли позволит загрузить чегото в эту директорию. А если такой хостер, что позволит, то самому надо защитить ее.
А нагрузить конечно сможет, если удастся запустить оттуда чего-нить. | |
|
|
|
|
автор: Никоza (25.02.2006 в 01:43) |
|
|
для: XPraptor
(24.02.2006 в 15:07)
| | Никак не спасёшься от DoS. Диапазон сетей при такой атаки огромен.
Или программная защита (файерволы) уничтожат все созданые операционкой сокеты, (как последнее средство защитить систему от сбоя и перезагрузки), или операционка сама это сделает. Или вообще перезагрузится. Пропадёт доступ вообще ко всему. (Если сам сервак атаковать.) А атаковать сайт DoS -фтакой - что это значит?... | |
|
|
|
|
|
|
|
для: XPraptor
(24.02.2006 в 12:57)
| | >На счет User-Agent, это бессмысленно.
Это единственный реальный способ учесть условие пропуска роботов. Можно, конечно, еще по IP проверять, но нужна база IP роботов. Да и такая проверка сама по себе увеличит нагрузку.
Поэтому чтобы учесть условие пропуска роботов, принимаем предположение, что DOS-атакующий не маскируется под робота.
>Если движок написан грамотно, то ему не страшны одновременные обращения даже нескольких тысяч клиентов.
Как сказать... движку, конечно, ничего не будет. А вот ресурсов сервера, выделенных под этот сайт может не хватить. | |
|
|
|