DDOS-атака: защита с помощью Thread.Sleep ()? - PullRequest
5 голосов
/ 19 июня 2011

Если я введу задержку Thread.Sleep(x) при отображении моего HTTP-ответа, где x изменится в зависимости от скорости запросов с данного IP: от нуля, когда частота запросов низкая, и постепенно увеличивается, если запросы следуют один за другим.

Это жизнеспособное решение для защиты от DDOS?

Какие слабые стороны?

Ответы [ 5 ]

7 голосов
/ 19 июня 2011

Нет, он не защищает от DDOS-атак.Он защищает процессор от перегрузки, но он по-прежнему занимает поток во время сна, поэтому злоумышленник может легко занять все назначенные потоки на веб-сервере, что делает его не отвечающим.Фактически это облегчает выполнение DDOS-атаки.

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

2 голосов
/ 19 июня 2011

Спящий поток полезен только для защиты от криптографических атак. Вы можете использовать их для защиты от:

  • Злоумышленники используют время выполнения различных строк запроса для определения логики вашей реализации. Если вы убедитесь, что все ответы занимают одно и то же время, они не смогут использовать эту информацию для определения того, как работает ваш алгоритм
  • Увеличение времени выполнения при повторных неудачных попытках ввода пароля, чтобы избежать атаки методом перебора

Помимо этих применений, спящий поток не имеет большого применения в безопасности. Они связывают ресурсы (соединения или состояние сеанса), поэтому бесполезны для защиты от DoS-атаки.

2 голосов
/ 19 июня 2011

Это определенно не мешает DDOS, потому что сетевое оборудование перед вашим приложением все еще может быть перегружено.

Кроме того, распределенная природа «распределенного отказа в обслуживании» означает, что вы будете получать избыточный трафик от множества разных IP-адресов, а не от одного.

Но независимо от того, что вы делаете в своем приложении, вы не можете обойти то, что находится перед вашим приложением, от перегруженности.

0 голосов
/ 23 июля 2012

DDoS не может быть защищен кодом, это больше, чем защита вашего сервера, обычно DDoS наносит вред вашему балансировщику нагрузки и брандмауэру, если у вас есть, если не DDoS повредит вашему серверу.

DDoS может выполняться на многих уровнях: UPD / TCP / HTTP и т. Д. *

Лучший способ защитить себя от DDoS - это использовать обратный прокси-сервер, поэтому, если вы зайдете на свой сайт, он не будет показывать настоящий IP-адрес, и, к счастью, у нас теперь есть бесплатный Cloud Cloud. https://www.cloudflare.com/

Я написал небольшую статью о том, как Cloud Flare защищает вас, поскольку я использую их уже год, и пока они ЛУЧШИЕ и самые дешевые.

http://www.yourwwwdesign.com/2012/07/23/best-practice-to-protect-your-site-from-ddos-for-free/

Надеюсь, это поможет! Если вам нужна дополнительная помощь, пожалуйста, не стесняйтесь обращаться ко мне.

0 голосов
/ 19 июня 2011

Нет. DDoS - это атака, которая использует множество скомпрометированных машин для атаки на цель. Это защитит от небольших атак, таких как DoS, но не от распределенных атак. Обычно ваш веб-сервер аварийно завершает работу, прежде чем это может дать какой-либо эффект.

Я бы порекомендовал службу или хост защиты от DDoS, если у вас много проблем с ними.

...