Защита от DDoS

deepslam

Новичок
Защита от DDoS

Всем привет!

На один из моих сайтов регулярно производится DDoS атака и нужно как то средствами PHP (хотя бы) защиться от нее.

Заранее извиняюсь за немного ламерский (возможно) вопрос , просто хочу удостоверится, что мой алгоритм будет эффективен, суть его в следующем:

Когда человек (бот) заходит на сайт , то в сессию сохраняется метка времени когда он зашел, при следующем заходе сравнивается предыдущее время захода и текущее и если оно например меньше секунды , то выдается просто что то типа:

PHP:
die("ddos");
Если же скрипт засечет несколько таких обращений , то можно дополнить это автоматическим баном IP через .htaccess, добавляя строку deny from $IP

Суть моего вопроса в том - будут ли работать сессии , если запрос идет не из браузера? С остальным вроде бы понятно.
Ну и хотелось бы также услышать мнение насчет самого алгоритма, будет ли он эффективен? Не повлияет на индексирования сайта поисковиками? (они ведь не заходят по несколько раз в секунду насколько я знаю)
 

Splurov

Новичок
Маловероятно, что боты используют куки, лучше работать с айпи-адресом. Поисковикам можно указать как часто посещать сайт, да и айпи-адреса поисковиков не секрет, только за этим следить постоянно нужно.
 

tz-lom

Продвинутый новичок
сессии работать будут
правда скорее всего бот будет откидывать CSS так что сессий у вас будет больше чем инодов в /home

а вообще средствами PHP от DDOS нельзя защититься
 

deepslam

Новичок
Да, следить за базой нужно , именно поэтому нужно сделать универсальный вариант, т.к. за базой следить я не буду )))
Спасибо за ответ, буду думать как оптимальнее всего сделать через IP :)

-~{}~ 04.09.10 23:17:

Автор оригинала: tz-lom
сессии работать будут
правда скорее всего бот будет откидывать CSS так что сессий у вас будет больше чем инодов в /home

а вообще средствами PHP от DDOS нельзя защититься
У меня не очень сильная атака была , грузила только MySQL , я думаю, что это немного снизит нагрузку.
А почему из за отсутствия CSS будет больше сессий? Не очень понял из за чего , ведь этот файл тут по сути вообще будет не причем, т.к. до генерации шаблона дело даже не дойдет (во второй раз)
 

ХакИрФсимагущий

[засикречино]
Если DDos то вам пхп ничем не поможет даже фаервол не справится с истинным DDOS
поясню почему для создания ддос атак используется максимально возможное количество компов с максимальным исходяшм каналом выхода в интернет. + ко всем используется Спуфинг(подделка ip адресов) в итоге все эти (допустим проффисиональные серера 3 штуки) с исходяшим каналом по 10Гб/сек каждый может отправлять запросы с бескоечным диапазоном ip адресов причем гораздо быстрее чем эти запросы успеет обработать ваш скрипт (пусть даже на очень мощном сервере) или даже профиссиональный фаервол.
 

Ragazzo

TDD interested
ХакИрФсимагущий
с фаерволом проще, можно трафик фильтровать и запрещать вообще, порты отключить на которые стучаться, так что с фаерволом можно, а вот про php я даже не знаю...скорее нет
 

ХакИрФсимагущий

[засикречино]
с php ослабить чуствительность к небольшому ддос только можно, но при достаточном бюджете вас положат.

-~{}~ 05.09.10 01:32:

Автор оригинала: Ragazzo
ХакИрФсимагущий
с фаерволом проще, можно трафик фильтровать и запрещать вообще, порты отключить на которые стучаться, так что с фаерволом можно, а вот про php я даже не знаю...скорее нет
В ддосе дело не только в фильтрации трафика для фильтрации нужны ресурсы которые будет потреблять фаервол обрабатывая трафик атакуюших. В итоге true DDOS либо забивает канал либо забивает сервер. Выхода нет.
 

Ragazzo

TDD interested
ХакИрФсимагущий
ну тут можно еще кучу дополнительных средств на помощь призвать как например, аппаратные фаерволы, настройка маршрутизаторов и т д...но это уже оффтоп, вообщем с помощью php никак...это я ТС...
 

antson

Новичок
Партнер клуба
deepslam
nginx стоит на хостинге ?
Если да, то
http://habrahabr.ru/search/?q=ddos+nginx

Если нет nginx
то самое лучшее заменить наиболее запрашиваемые страницы на статику
это снимет нагрузку с mysql , но не спасет от забивания канала

-~{}~ 05.09.10 07:17:

php совершенно не подходит для борьбы с ддос
проблема должна решаться на уровне системного по а еще лучше аппаратными средствами.

Если сайт не на дедике, то это проблема хостера. Адекватный решает проблемы клиентов, ну а если предложит свалить со своей площадки, то нафиг такого .
 

iceman

говнокодер
deepslam
antson
хостер сам должен защищать своих клиентов и СВОЙ свервер от тупых атак ламеров, либо прилива ботов...
 

antson

Новичок
Партнер клуба
iceman
тоже самое, только не так категрично как у Вас ;)
Автор оригинала: antson
Если сайт не на дедике, то это проблема хостера. Адекватный решает проблемы клиентов, ну а если предложит свалить со своей площадки, то нафиг такого .
 

deepslam

Новичок
Спасибо всем за ответы!
Согласен про то, что хостинг должен защищать сам, но в моем случае совсем маленький ддос и хостятся сайты мои у друга , он все что мог настроил , но не помогло ))))))) Поэтому я решил на всякий случай дополнить скрипты еще таким кодом, ведь он по сути универсален и лишним не будет , т.к. в моей практике даже поисковые сервера иногда создают лишнюю нагрузку.

Просто сомневался насчет корректной работы сессий.
Еще раз всем спасибо за ответы, все предельно ясно.
 

ХакИрФсимагущий

[засикречино]
а вы уверины что у вас ддос?
может у вас както все небыстро работает из за большого трафика людей или из за кривых скриптов или не рационального стоения баззы данных и кривых запросов.
Или не вас ддосят или сервер загружен из за других вебмастеров.

PHP:
 т.к. в моей практике даже поисковые сервера иногда создают лишнюю нагрузку.
очень похоже на кривые скрипты и запросы
 

samb100

Новичок
А если такой вариант:
если у пользователя не включены куки, то просто не пускать его на сайт - вместо сайта писать надпись типа -включите куки в вашем браузере-.
А если у юзера включены куки, то дальше можно проверять куки и т.д.

я часто видел такое на сайтах, когда настраивал свой фаервол и пробовал его на разных сайтах.

например у меня в фаерволе отключены ява, флеш, актив-х, НО куки всегда включены для всех сайтов.

P.S. Насколько я знаю, невозможно навредить системе моего компьютеру, если в браузере (клиента) отключено все, кроме куков.
 

deepslam

Новичок
Автор оригинала: samb100
А если такой вариант:
если у пользователя не включены куки, то просто не пускать его на сайт - вместо сайта писать надпись типа -включите куки в вашем браузере-.
А если у юзера включены куки, то дальше можно проверять куки и т.д.

я часто видел такое на сайтах, когда настраивал свой фаервол и пробовал его на разных сайтах.

например у меня в фаерволе отключены ява, флеш, актив-х, НО куки всегда включены для всех сайтов.

P.S. Насколько я знаю, невозможно навредить системе моего компьютеру, если в браузере (клиента) отключено все, кроме куков.
Спасибо за идею, подумаю! :)
 

fixxxer

К.О.
Партнер клуба
как это невозможно!

хакеры, крекеры, спамы, куки, троянские кони!
 

samb100

Новичок
Каким образом можно навредить моему компьютеру с помощью одних только куков ?

мне всегда казалось что куки - это обычные текстовые файлы...
 
Сверху