DDoS: практическоеруководство к выживанию.Александр Лямин<la@highloadlab.com
Часть 2: Работа над ошибками.Александр Лямин
Q1 2012• Всего атак: 365• Макс. в день: 12• Средний размер ботнета: 2637• Макс. размер ботнета: 37834
По дням недели15.89%14.52%17.26%14.25%16.71%9.59%11.78%0.00%2.00%4.00%6.00%8.00%10.00%12.00%14.00%16.00%18.00%20.00%Пон Вт...
По дням01234567891011121/1/12 1/8/12 1/15/12 1/22/12 1/29/12 2/5/12 2/12/12 2/19/12 2/26/12 3/4/12 3/11/12 3/18/12 3/25/12
По месяцам41.37%32.88%25.75%ЯнварьФевральМарт
Скоростные атаки3.56%96.44%> 1Gbps < 1Gbps
Типы атак22.74%77.26%Cетевой флуд Приложение
Особые случаи• DNS: NIC, Masterhost, FastVPS.• Хостинги: Крок, WAhome.• «Невидимые» ботнеты.• Minerbot.
Новая коньюктура• 1k ботов - 100-160 USD.• Доступный готовый инструментарий.• Падение цен - 20 USD/сутки.
Новая коньюктура
Apache mod_evasive
Apache mod_evasive<IfModule mod_evasive20.c>DOSHashTableSize 3097DOSPageCount 8DOSSiteCount 100DOSPageInterval 2DOSSiteInt...
Apache mod_evasiveПлюсы МинусыРаботает Apache
Iptables --string
Iptables --stringiptables -A INPUT -p tcp -m tcp --dport 80 -m string --string "GET / HTTP" --algo kmp --to1024 -m recent ...
Iptables --stringПлюсы МинусыРаботает.Быстро.Не всегда работает. (фрагментация)Не всегда быстро. (kmp по телу пакета)Откры...
NGINX testcookie_module
JS
Cookie/Redirect
NGINX testcookie_moduletestcookie_name BPC;testcookie_secret keepmescret;testcookie_session $remote_addr;testcookie_arg at...
NGINX testcookie_moduleПлюсы МинусыРаботает.NGINX.Быстро.Предсказуемо.Расширяемо.Не осуществляет блокировку.*Изменяет UX.Н...
Нейронная сеть PyBrain
Нейронная сеть PyBrainЗапрос:0.0.0.0 - - [20/Dec/2011:15:00:03 +0400] "GET /forum/rss.php?topic=347425 HTTP/1.0" 200 1685 ...
Нейронная сеть PyBrainПлюсы МинусыРаботает.Приз зрительских симпатий.Может и не работать.Нет истории запросов.
tcpdump
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,}....
tcpdumpПлюсы МинусыРаботает. Зачем tcpdump?
Итого• Работает все.• Но не всегда.• И не для всех.• РАБОТАЕТ > НЕ_РАБОТАЕТ.
СЧАСТЬЕ• Минимальные FALSE POSITIVES.• Отсутствие очевидных уязвимостей.• Адекватность текущим вызовам.
NGINX testcookie_module
One last thing…3.56%96.44%> 1Gbps < 1Gbps22.74%77.26%Cетевой флудПриложение
Прокатимся?
Домашнее задание.1. Настроенные nginx/ipset на сервере.2. Выключенный conntrack.3. Выделенный ip для публикуемых сервисов4...
Upcoming SlideShare
Loading in …5
×

DDos: Практическое руководство к выживанию

291 views

Published on

Protection against ddos attacks

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
291
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

DDos: Практическое руководство к выживанию

  1. 1. DDoS: практическоеруководство к выживанию.Александр Лямин<la@highloadlab.com
  2. 2. Часть 2: Работа над ошибками.Александр Лямин
  3. 3. Q1 2012• Всего атак: 365• Макс. в день: 12• Средний размер ботнета: 2637• Макс. размер ботнета: 37834
  4. 4. По дням недели15.89%14.52%17.26%14.25%16.71%9.59%11.78%0.00%2.00%4.00%6.00%8.00%10.00%12.00%14.00%16.00%18.00%20.00%Пон Вт Ср Чeтв Пят Суб Вос
  5. 5. По дням01234567891011121/1/12 1/8/12 1/15/12 1/22/12 1/29/12 2/5/12 2/12/12 2/19/12 2/26/12 3/4/12 3/11/12 3/18/12 3/25/12
  6. 6. По месяцам41.37%32.88%25.75%ЯнварьФевральМарт
  7. 7. Скоростные атаки3.56%96.44%> 1Gbps < 1Gbps
  8. 8. Типы атак22.74%77.26%Cетевой флуд Приложение
  9. 9. Особые случаи• DNS: NIC, Masterhost, FastVPS.• Хостинги: Крок, WAhome.• «Невидимые» ботнеты.• Minerbot.
  10. 10. Новая коньюктура• 1k ботов - 100-160 USD.• Доступный готовый инструментарий.• Падение цен - 20 USD/сутки.
  11. 11. Новая коньюктура
  12. 12. Apache mod_evasive
  13. 13. Apache mod_evasive<IfModule mod_evasive20.c>DOSHashTableSize 3097DOSPageCount 8DOSSiteCount 100DOSPageInterval 2DOSSiteInterval 2DOSBlockingPeriod 600DOSEmailNotify secure@adminmail.com</IfModule>
  14. 14. Apache mod_evasiveПлюсы МинусыРаботает Apache
  15. 15. Iptables --string
  16. 16. Iptables --stringiptables -A INPUT -p tcp -m tcp --dport 80 -m string --string "GET / HTTP" --algo kmp --to1024 -m recent --set --name httpddos --rsourceiptables -A INPUT -p tcp -m tcp --dport 80 -m string --string "GET / HTTP" --algo kmp --to1024 -m recent --update --seconds 10 --hitcount 2 --name httpddos --rsource -j DROP
  17. 17. Iptables --stringПлюсы МинусыРаботает.Быстро.Не всегда работает. (фрагментация)Не всегда быстро. (kmp по телу пакета)Открытые сокеты + retransmit.Требует conntrack.
  18. 18. NGINX testcookie_module
  19. 19. JS
  20. 20. Cookie/Redirect
  21. 21. NGINX testcookie_moduletestcookie_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/
  22. 22. NGINX testcookie_moduleПлюсы МинусыРаботает.NGINX.Быстро.Предсказуемо.Расширяемо.Не осуществляет блокировку.*Изменяет UX.Не работает против FBS.* И не должно.
  23. 23. Нейронная сеть PyBrain
  24. 24. Нейронная сеть 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 NT5.1, __UA___OS_rv:1.9, __REQ___URL___QS_topic, __UA___VER_Gecko/2008052906’Далее: http://habrahabr.ru/post/136237/
  25. 25. Нейронная сеть PyBrainПлюсы МинусыРаботает.Приз зрительских симпатий.Может и не работать.Нет истории запросов.
  26. 26. tcpdump
  27. 27. 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
  28. 28. tcpdumpПлюсы МинусыРаботает. Зачем tcpdump?
  29. 29. Итого• Работает все.• Но не всегда.• И не для всех.• РАБОТАЕТ > НЕ_РАБОТАЕТ.
  30. 30. СЧАСТЬЕ• Минимальные FALSE POSITIVES.• Отсутствие очевидных уязвимостей.• Адекватность текущим вызовам.
  31. 31. NGINX testcookie_module
  32. 32. One last thing…3.56%96.44%> 1Gbps < 1Gbps22.74%77.26%Cетевой флудПриложение
  33. 33. Прокатимся?
  34. 34. Домашнее задание.1. Настроенные nginx/ipset на сервере.2. Выключенный conntrack.3. Выделенный ip для публикуемых сервисов4. Представление о связности хостера.

×