Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   По поводу DDos (https://javascript.ru/forum/offtopic/17543-po-povodu-ddos.html)

mycoding 23.05.2011 20:12

По поводу DDos
 
Скажите пожалуйста, кто-нибудь сталкивался в реальных условиях с
DDos аттакой?

Эта тема вновь заинтерисовала после вот этого
http://www.free-lance.ru/news/230511

Можете подсказать способы защиты?

Насколько понял надо уметь правильно настраивать nginx, но это не особо помогает.
Что думаете вот об этом.
http://mercator.ru/works/index.php?workID=530 (посмотрите видео)

monolithed 23.05.2011 21:16

Цитата:

Сообщение от mycoding
Скажите пожалуйста, кто-нибудь сталкивался в реальных условиях с
DDos аттакой?

все не так просто, поэтому унифицированного решения этой задачи нет. все зависит от типа атаки (на dns, сервер и пр.). от намерений и возможностей злоумышленника... как правило все начинается с фильтрации трафика

mycoding 26.05.2011 15:49

Слышал, что есть специальные тесты для проверки максимальной нагрузки сайта, при которой проект ляжет.
Такие тесты стоят 10000$(мне так сказали)

Решил подумать, а как можно протестировать проект самому и найти уязвимые места.

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

У меня сайт подгружает большой js файл объемом в 185 кб.
У хостера узнал, что максимальный трафик для сайта
80 мегабит/сек (может мегабайт, постоянно путаю, если что поправьте)

У меня скорость входящего трафика от 3 до 15 иногда даже 24 мбсек(ночью)
Возьмем 3, по минимуму.

Делаем следующий html файл
<script>
	for(var i=0;i<1000;i++){
		var newScript = document.createElement('img');
		newScript.src = 'http://мой_сайт/Этот_файлик?'+new Date().getTime()+'_'+i;
	}
</script>


И запускаем хоть с рабочего стола в браузере хром.
Лично у меня за ~2 минуты скачалось 150~200 мегабайт.

Увеличим i с 1000 до 1000 000, и на 200 минут нагрузка сайта под полную пропускную способность моего интернета в ~3 мбит/сек получили.

Дальше вычисляем 80Мбит/3Мбит~=26.
Т.е. получается,если >26 человек будут периодически его запускать один раз в 2.5 часа,
то мой сайт станет ложится на бок.
Также хостингу не понравится, что за такие деньги у меня качают такой объем трафика.

А на Украине насколько мне известно, 24 мбит/сек - это стандартный интернет.
Т.е. можно найти 10 ребят, платить им по 100 в день и мой ресурс ляжет по полной.

Не ужели так просто вывести из строя мой сайт(((

Первое, что приходит в голову, это купить cdn или арендовать облачный хостинг у amazon.
Полностью переносить всё на облачный хостинг нельзя, по ряду причин.
Только статичные файлы.
Тогда можно взять хоть index.html и точно также поступить и с ним, увеличив в n раз i в цикле.

Меня интересует anti-ddos защита потому, что выпускать проект на рынок,
чтобы он лег при первой популярности не хочется.
Но и платить по 10000$ за тестирование я не могу.

subzey 26.05.2011 17:42

Цитата:

Сообщение от mycoding
Такие тесты стоят 10000$(мне так сказали)

Наверное, если у Вас сайт стоит 10 000 000$, это целесообразно.

Есть такая тулза, apache benchmark. Создана специально для нагрузочного тестирования. Часто идет в комплекте вместе с апачем (в том же самом денвере лежит в WebServers\usr\local\apache\bin\ab.exe).

Ключей к ней огромное количество.

Если интересует не столько пропускная способность канала и количество одновременных содеинений, сколько работа серверного скрипта, можно использовать ключ -i — запросы будут отдаваться с HEAD вместо GET, и это позволит создать больше запросов на том же канале.

Если, наоборот, интересуют одновременно открытые соединения, есть ключ -c.

Плюс к тому, можно зайти по SSH на хостинг (если он линукс и предоставляет SSH) и бомбить себя же по полного просветления — ширина канала к localhost очень и очень большая. :)

mycoding 26.05.2011 17:48

Спасибо)))
Как много я не знаю)))

Буду изучать apache benchmark

B~Vladi 26.05.2011 22:57

Цитата:

Сообщение от subzey
зайти по SSH на хостинг (если он линукс и предоставляет SSH) и бомбить себя же по полного просветлени

Вот с этого места по подробнее. Скрипт что ли написать? Может есть готовые?

monolithed 27.05.2011 12:17

Цитата:

Сообщение от subzey
Есть такая тулза, apache benchmark

слишком аскетично))
не то что:
Apache JMeter


Часовой пояс GMT +3, время: 20:15.