ddоs: Практическое руководство к выживанию. (Часть 2:...
DESCRIPTION
В сети существует множество «поваренных рецептов» о том, как построить защиту от DDoS-атак своими руками. В докладе Александра Лямина, генерального директора HLL, презентованном на конференции «Российские интернет-технологии» (РИТ++/2012), проведен подробный анализ наиболее интересных из них, названы критерии эффективности системы защиты в целом и проведена оценка возможностей как отдельных методов противодействия, так и комбинированных.TRANSCRIPT
![Page 2: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/2.jpg)
Часть 2: Работа над ошибками.
Александр Лямин
![Page 3: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/3.jpg)
Q1 2012• Всего атак: 365• Макс. в день: 12• Средний размер ботнета: 2637• Макс. размер ботнета: 37834
![Page 4: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/4.jpg)
По дням недели
Пон Вт Ср Чeтв Пят Суб Вос0.00%
2.00%
4.00%
6.00%
8.00%
10.00%
12.00%
14.00%
16.00%
18.00%
20.00%
15.89%
14.52%
17.26%
14.25%
16.71%
9.59%
11.78%
![Page 5: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/5.jpg)
По дням
1/1/1
2
1/4/1
2
1/7/1
2
1/10/1
2
1/13/1
2
1/16/1
2
1/19/1
2
1/22/1
2
1/25/1
2
1/28/1
2
1/31/1
2
2/3/1
2
2/6/1
2
2/9/1
2
2/12/1
2
2/15/1
2
2/18/1
2
2/21/1
2
2/24/1
2
2/27/1
2
3/1/1
2
3/4/1
2
3/7/1
2
3/10/1
2
3/13/1
2
3/16/1
2
3/19/1
2
3/22/1
2
3/25/1
2
3/28/1
2
3/31/1
20
1
2
3
4
5
6
7
8
9
10
11
12
![Page 6: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/6.jpg)
По месяцам
41.37%
32.88%
25.75%
Январь Февраль
Март
![Page 7: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/7.jpg)
Скоростные атаки
3.56%96.44%
> 1Gbps < 1Gbps
![Page 8: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/8.jpg)
Типы атак
22.74%
77.26%
Cетевой флуд Приложение
![Page 9: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/9.jpg)
Особые случаи
• DNS: NIC, Masterhost, FastVPS.• Хостинги: Крок, WAhome.• «Невидимые» ботнеты.• Minerbot.
![Page 10: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/10.jpg)
Новая коньюктура• 1k ботов - 100-160 USD.• Доступный готовый инструментарий.• Падение цен - 20 USD/сутки.
![Page 11: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/11.jpg)
Новая коньюктура
![Page 12: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/12.jpg)
Apache mod_evasive
![Page 13: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/13.jpg)
Apache mod_evasive<IfModule mod_evasive20.c>DOSHashTableSize 3097DOSPageCount 8DOSSiteCount 100DOSPageInterval 2DOSSiteInterval 2DOSBlockingPeriod 600DOSEmailNotify [email protected]</IfModule>
![Page 14: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/14.jpg)
Apache mod_evasiveПлюсы Минусы
Работает Apache
![Page 15: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/15.jpg)
Iptables --string
![Page 16: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/16.jpg)
Iptables --stringiptables -A INPUT -p tcp -m tcp --dport 80 -m string --string "GET / HTTP" --algo kmp --to 1024 -m recent --set --name httpddos --rsource
iptables -A INPUT -p tcp -m tcp --dport 80 -m string --string "GET / HTTP" --algo kmp --to 1024 -m recent --update --seconds 10 --hitcount 2 --name httpddos --rsource -j DROP
![Page 17: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/17.jpg)
Iptables --stringПлюсы Минусы
Работает.
Быстро.
Не всегда работает. (фрагментация)
Не всегда быстро. (kmp по телу пакета)
Открытые сокеты + retransmit.
Требует conntrack.
![Page 18: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/18.jpg)
NGINX testcookie_module
![Page 19: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/19.jpg)
JS
![Page 20: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/20.jpg)
Cookie/Redirect
![Page 21: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/21.jpg)
NGINX testcookie_module testcookie_name BPC; testcookie_secret keepmescret; testcookie_session $remote_addr; testcookie_arg attempt; testcookie_max_attempts 3; testcookie_fallback /cookies.html?backurl=http://$host$request_uri; testcookie_get_only on;location / { testcookie on; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://127.0.0.1:8080; }ДАЛЕЕ: http://habrahabr.ru/post/139931/
![Page 22: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/22.jpg)
NGINX testcookie_moduleПлюсы Минусы
Работает.NGINX.Быстро.Предсказуемо.Расширяемо.
Не осуществляет блокировку.*Изменяет UX.Не работает против FBS.
* И не должно.
![Page 23: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/23.jpg)
Нейронная сеть PyBrain
![Page 24: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/24.jpg)
Нейронная сеть PyBrainЗапрос:0.0.0.0 - - [20/Dec/2011:15:00:03 +0400] "GET /forum/rss.php?topic=347425 HTTP/1.0" 200 1685 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9) Gecko/2008052906 Firefox/3.0»
Cловарь:['__UA___OS_U', '__UA_EMPTY', '__REQ___METHOD_POST', '__REQ___HTTP_VER_HTTP/1.0', '__REQ___URL___NETLOC_', '__REQ___URL___PATH_/forum/rss.php', '__REQ___URL___PATH_/forum/index.php', '__REQ___URL___SCHEME_', '__REQ___HTTP_VER_HTTP/1.1', '__UA___VER_Firefox/3.0', '__REFER___NETLOC_www.mozilla-europe.org', '__UA___OS_Windows', '__UA___BASE_Mozilla/5.0', '__CODE_503', '__UA___OS_pl', '__REFER___PATH_/', '__REFER___SCHEME_http', '__NO_REFER__', '__REQ___METHOD_GET', '__UA___OS_Windows NT 5.1', '__UA___OS_rv:1.9', '__REQ___URL___QS_topic', '__UA___VER_Gecko/2008052906’
Далее: http://habrahabr.ru/post/136237/
![Page 25: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/25.jpg)
Нейронная сеть PyBrainПлюсы Минусы
Работает.Приз зрительских симпатий.
Может и не работать.Нет истории запросов.
![Page 26: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/26.jpg)
tcpdump
![Page 27: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/27.jpg)
tcpdumptcpdump -v -n -w attack.log dst port 80 -c 250tcpdump -nr attack.log |awk '{print $3}' |grep -oE '[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}' |sort |uniq -c |sort -rn
![Page 28: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/28.jpg)
tcpdumpПлюсы Минусы
Работает. Зачем tcpdump?
![Page 29: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/29.jpg)
Итого• Работает все.• Но не всегда.• И не для всех.• РАБОТАЕТ > НЕ_РАБОТАЕТ.
![Page 30: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/30.jpg)
СЧАСТЬЕ• Минимальные FALSE POSITIVES.• Отсутствие очевидных уязвимостей.• Адекватность текущим вызовам.
![Page 31: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/31.jpg)
NGINX testcookie_module
![Page 32: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/32.jpg)
One last thing…
3.56%96.44%
> 1Gbps < 1Gbps
22.74%
77.26%
Cетевой флуд
Приложение
![Page 33: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/33.jpg)
Прокатимся?
![Page 34: DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)](https://reader034.vdocuments.site/reader034/viewer/2022052216/54635ed0af79597a308b5012/html5/thumbnails/34.jpg)
Домашнее задание.
1. Настроенные nginx/ipset на сервере.
2. Выключенный conntrack.
3. Выделенный ip для публикуемых сервисов
4. Представление о связности хостера.