SlideShare une entreprise Scribd logo
1  sur  34
DDoS: практическое
руководство к выживанию.
     Александр Лямин
    <la@highloadlab.com
Часть 2: Работа над ошибками.

       Александр Лямин
Q1 2012
•   Всего атак:               365
•   Макс. в день:             12
•   Средний размер ботнета:   2637
•   Макс. размер ботнета:     37834
По дням недели
20.00%

18.00%                     17.26%
                                             16.71%
         15.89%
16.00%
                  14.52%            14.25%
14.00%
                                                              11.78%
12.00%
                                                      9.59%
10.00%

 8.00%

 6.00%

 4.00%

 2.00%

 0.00%
          Пон       Вт      Ср       Чeтв     Пят     Суб      Вос
По дням
12
11
10
 9
 8
 7
 6
 5
 4
 3
 2
 1
 0
 1/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
По месяцам

25.75%

            41.37%
                     Январь
                     Февраль
                     Март


   32.88%
Скоростные атаки

           3.56%


                   > 1Gbps   < 1Gbps
  96.44%
Типы атак

         22.74%




                  Cетевой флуд   Приложение


77.26%
Особые случаи

•   DNS: NIC, Masterhost, FastVPS.
•   Хостинги: Крок, WAhome.
•   «Невидимые» ботнеты.
•   Minerbot.
Новая коньюктура
• 1k ботов - 100-160 USD.
• Доступный готовый инструментарий.
• Падение цен - 20 USD/сутки.
Новая коньюктура
Apache mod_evasive
Apache mod_evasive
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 8
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 600
DOSEmailNotify secure@adminmail.com
</IfModule>
Apache mod_evasive
Плюсы               Минусы
Работает            Apache
Iptables --string
Iptables --string
iptables -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
Iptables --string
Плюсы               Минусы

Работает.           Не всегда работает. (фрагментация)

Быстро.             Не всегда быстро. (kmp по телу пакета)

                    Открытые сокеты + retransmit.

                    Требует conntrack.
NGINX testcookie_module
JS
Cookie/Redirect
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/
NGINX testcookie_module
Плюсы               Минусы
Работает.           Не осуществляет блокировку.*
NGINX.              Изменяет UX.
Быстро.             Не работает против FBS.
Предсказуемо.
Расширяемо.
                    * И не должно.
Нейронная сеть PyBrain
Нейронная сеть 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___PA
TH_/', '__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/
Нейронная сеть PyBrain
Плюсы                        Минусы
Работает.                    Может и не работать.
Приз зрительских симпатий.   Нет истории запросов.
tcpdump
tcpdump
tcpdump -v -n -w attack.log dst port 80 -c 250
tcpdump -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
tcpdump
Плюсы          Минусы
Работает.      Зачем tcpdump?
Итого
•   Работает все.
•   Но не всегда.
•   И не для всех.
•   РАБОТАЕТ > НЕ_РАБОТАЕТ.
СЧАСТЬЕ
• Минимальные FALSE POSITIVES.
• Отсутствие очевидных уязвимостей.
• Адекватность текущим вызовам.
NGINX testcookie_module
One last thing…

                                         22.74%



              3.56%
                                                  Cетевой флуд
96.44%
                                                  Приложение
          > 1Gbps     < 1Gbps
                                77.26%
Прокатимся?
Домашнее задание.
1. Настроенные nginx/ipset на сервере.

2. Выключенный conntrack.

3. Выделенный ip для публикуемых сервисов

4. Представление о связности хостера.

Contenu connexe

Tendances

WebSockets
WebSocketsWebSockets
WebSocketsplusnin
 
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...Positive Hack Days
 
Андрей Федоренчик- «Высоконагруженная система с аналитикой на InfoBright»
Андрей Федоренчик- «Высоконагруженная система с аналитикой на InfoBright»Андрей Федоренчик- «Высоконагруженная система с аналитикой на InfoBright»
Андрей Федоренчик- «Высоконагруженная система с аналитикой на InfoBright»Tanya Denisyuk
 
Арсений Заречнев и Федор Шумов - Одностраничные приложения
Арсений Заречнев и Федор Шумов - Одностраничные приложенияАрсений Заречнев и Федор Шумов - Одностраничные приложения
Арсений Заречнев и Федор Шумов - Одностраничные приложенияArseny Zarechnev
 
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)Ontico
 
Pconnect: граната в руках обезьяны (Сергей Аверин)
Pconnect: граната в руках обезьяны (Сергей Аверин)Pconnect: граната в руках обезьяны (Сергей Аверин)
Pconnect: граната в руках обезьяны (Сергей Аверин)Ontico
 
Eugene Lisitsky Web Sockets
Eugene Lisitsky Web SocketsEugene Lisitsky Web Sockets
Eugene Lisitsky Web Socketsguest092df8
 
Андрей Светлов-«Делаем своё решение для оптимальной загрузки кластера»
Андрей Светлов-«Делаем своё решение для оптимальной загрузки кластера»Андрей Светлов-«Делаем своё решение для оптимальной загрузки кластера»
Андрей Светлов-«Делаем своё решение для оптимальной загрузки кластера»Tanya Denisyuk
 
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Ontico
 
#11 "Отзывчивый UI без блокировки Event Loop" Денис Речкунов
#11 "Отзывчивый UI без блокировки Event Loop" Денис Речкунов#11 "Отзывчивый UI без блокировки Event Loop" Денис Речкунов
#11 "Отзывчивый UI без блокировки Event Loop" Денис РечкуновJSib
 
Быстрое прототипирование бэкенда игры с геолокацией на OpenResty, Redis и Doc...
Быстрое прототипирование бэкенда игры с геолокацией на OpenResty, Redis и Doc...Быстрое прототипирование бэкенда игры с геолокацией на OpenResty, Redis и Doc...
Быстрое прототипирование бэкенда игры с геолокацией на OpenResty, Redis и Doc...Ontico
 
Get inside stage2 new
Get inside stage2 newGet inside stage2 new
Get inside stage2 newInfoTeCS
 
Мониторинг всех слоев web проекта (hl2015)
Мониторинг всех слоев web проекта (hl2015)Мониторинг всех слоев web проекта (hl2015)
Мониторинг всех слоев web проекта (hl2015)Nikolay Sivko
 
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)Ontico
 
VVV. Сервер для WordPress-разработчика
 VVV. Сервер для WordPress-разработчика VVV. Сервер для WordPress-разработчика
VVV. Сервер для WordPress-разработчикаKolya Korobochkin
 
Zabbix в Badoo или о чем не пишут в мануале, Илья Аблеев (Badoo)
Zabbix в Badoo или о чем не пишут в мануале, Илья Аблеев (Badoo)Zabbix в Badoo или о чем не пишут в мануале, Илья Аблеев (Badoo)
Zabbix в Badoo или о чем не пишут в мануале, Илья Аблеев (Badoo)Badoo Development
 

Tendances (19)

WebSockets
WebSocketsWebSockets
WebSockets
 
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
 
Андрей Федоренчик- «Высоконагруженная система с аналитикой на InfoBright»
Андрей Федоренчик- «Высоконагруженная система с аналитикой на InfoBright»Андрей Федоренчик- «Высоконагруженная система с аналитикой на InfoBright»
Андрей Федоренчик- «Высоконагруженная система с аналитикой на InfoBright»
 
RootConf 2015
RootConf 2015RootConf 2015
RootConf 2015
 
Арсений Заречнев и Федор Шумов - Одностраничные приложения
Арсений Заречнев и Федор Шумов - Одностраничные приложенияАрсений Заречнев и Федор Шумов - Одностраничные приложения
Арсений Заречнев и Федор Шумов - Одностраничные приложения
 
Net2
Net2Net2
Net2
 
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)
 
Pconnect: граната в руках обезьяны (Сергей Аверин)
Pconnect: граната в руках обезьяны (Сергей Аверин)Pconnect: граната в руках обезьяны (Сергей Аверин)
Pconnect: граната в руках обезьяны (Сергей Аверин)
 
Eugene Lisitsky Web Sockets
Eugene Lisitsky Web SocketsEugene Lisitsky Web Sockets
Eugene Lisitsky Web Sockets
 
Андрей Светлов-«Делаем своё решение для оптимальной загрузки кластера»
Андрей Светлов-«Делаем своё решение для оптимальной загрузки кластера»Андрей Светлов-«Делаем своё решение для оптимальной загрузки кластера»
Андрей Светлов-«Делаем своё решение для оптимальной загрузки кластера»
 
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
 
#11 "Отзывчивый UI без блокировки Event Loop" Денис Речкунов
#11 "Отзывчивый UI без блокировки Event Loop" Денис Речкунов#11 "Отзывчивый UI без блокировки Event Loop" Денис Речкунов
#11 "Отзывчивый UI без блокировки Event Loop" Денис Речкунов
 
Быстрое прототипирование бэкенда игры с геолокацией на OpenResty, Redis и Doc...
Быстрое прототипирование бэкенда игры с геолокацией на OpenResty, Redis и Doc...Быстрое прототипирование бэкенда игры с геолокацией на OpenResty, Redis и Doc...
Быстрое прототипирование бэкенда игры с геолокацией на OpenResty, Redis и Doc...
 
Get inside stage2 new
Get inside stage2 newGet inside stage2 new
Get inside stage2 new
 
Мониторинг всех слоев web проекта (hl2015)
Мониторинг всех слоев web проекта (hl2015)Мониторинг всех слоев web проекта (hl2015)
Мониторинг всех слоев web проекта (hl2015)
 
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
 
Continuous monitoring
Continuous monitoringContinuous monitoring
Continuous monitoring
 
VVV. Сервер для WordPress-разработчика
 VVV. Сервер для WordPress-разработчика VVV. Сервер для WordPress-разработчика
VVV. Сервер для WordPress-разработчика
 
Zabbix в Badoo или о чем не пишут в мануале, Илья Аблеев (Badoo)
Zabbix в Badoo или о чем не пишут в мануале, Илья Аблеев (Badoo)Zabbix в Badoo или о чем не пишут в мануале, Илья Аблеев (Badoo)
Zabbix в Badoo или о чем не пишут в мануале, Илья Аблеев (Badoo)
 

Similaire à DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)

QA Fest 2018. Святослав Логин. Что такое Metasploit? Как его использовать для...
QA Fest 2018. Святослав Логин. Что такое Metasploit? Как его использовать для...QA Fest 2018. Святослав Логин. Что такое Metasploit? Как его использовать для...
QA Fest 2018. Святослав Логин. Что такое Metasploit? Как его использовать для...QAFest
 
Другая виртуализация
Другая виртуализацияДругая виртуализация
Другая виртуализацияYandex
 
WapStart: Как показывать 200 миллионов баннеров ежедневно и быть готовым пока...
WapStart: Как показывать 200 миллионов баннеров ежедневно и быть готовым пока...WapStart: Как показывать 200 миллионов баннеров ежедневно и быть готовым пока...
WapStart: Как показывать 200 миллионов баннеров ежедневно и быть готовым пока...Procontent.Ru Magazine
 
Как показывать 200 миллионов баннеров ежедневно и быть готовым показать милли...
Как показывать 200 миллионов баннеров ежедневно и быть готовым показать милли...Как показывать 200 миллионов баннеров ежедневно и быть готовым показать милли...
Как показывать 200 миллионов баннеров ежедневно и быть готовым показать милли...Evgeny Kokovikhin
 
Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow
Zabbix в сервисной компании  ОНЛАНТА -  Zabbix Meetup Moscow Zabbix в сервисной компании  ОНЛАНТА -  Zabbix Meetup Moscow
Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow Vadim Nesterov
 
Windows Azure and node js
Windows Azure and node jsWindows Azure and node js
Windows Azure and node jsAlex Tumanoff
 
Deployment to production with an unexpected load
Deployment to production with an unexpected loadDeployment to production with an unexpected load
Deployment to production with an unexpected loadGrid Dynamics
 
JPoint 2017 - Where is my service, dude?
JPoint 2017 - Where is my service, dude?JPoint 2017 - Where is my service, dude?
JPoint 2017 - Where is my service, dude?Viet Nguyen
 
Magento performance
Magento performanceMagento performance
Magento performanceaheadWorks
 
Марина Широчкина "Производительность клиентсайда через тестирование скорости ...
Марина Широчкина "Производительность клиентсайда через тестирование скорости ...Марина Широчкина "Производительность клиентсайда через тестирование скорости ...
Марина Широчкина "Производительность клиентсайда через тестирование скорости ...Yandex
 
Организация процесса регулярной обработки больших объемов данных
Организация процесса регулярной обработки больших объемов данныхОрганизация процесса регулярной обработки больших объемов данных
Организация процесса регулярной обработки больших объемов данныхCodeFest
 
еще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложенийеще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложенийsnowytoxa
 
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрМониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрsportgid
 
Кругом обман или использование стандартных протоколов для нестандартных вещей
Кругом обман или использование стандартных протоколов для нестандартных вещейКругом обман или использование стандартных протоколов для нестандартных вещей
Кругом обман или использование стандартных протоколов для нестандартных вещейAlexander Klestoff
 
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)Ontico
 

Similaire à DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками) (20)

DDOS mitigation software solutions
DDOS mitigation software solutionsDDOS mitigation software solutions
DDOS mitigation software solutions
 
QA Fest 2018. Святослав Логин. Что такое Metasploit? Как его использовать для...
QA Fest 2018. Святослав Логин. Что такое Metasploit? Как его использовать для...QA Fest 2018. Святослав Логин. Что такое Metasploit? Как его использовать для...
QA Fest 2018. Святослав Логин. Что такое Metasploit? Как его использовать для...
 
Этичный хакинг
Этичный хакингЭтичный хакинг
Этичный хакинг
 
Другая виртуализация
Другая виртуализацияДругая виртуализация
Другая виртуализация
 
WapStart: Как показывать 200 миллионов баннеров ежедневно и быть готовым пока...
WapStart: Как показывать 200 миллионов баннеров ежедневно и быть готовым пока...WapStart: Как показывать 200 миллионов баннеров ежедневно и быть готовым пока...
WapStart: Как показывать 200 миллионов баннеров ежедневно и быть готовым пока...
 
Как показывать 200 миллионов баннеров ежедневно и быть готовым показать милли...
Как показывать 200 миллионов баннеров ежедневно и быть готовым показать милли...Как показывать 200 миллионов баннеров ежедневно и быть готовым показать милли...
Как показывать 200 миллионов баннеров ежедневно и быть готовым показать милли...
 
Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow
Zabbix в сервисной компании  ОНЛАНТА -  Zabbix Meetup Moscow Zabbix в сервисной компании  ОНЛАНТА -  Zabbix Meetup Moscow
Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow
 
Windows Azure and node js
Windows Azure and node jsWindows Azure and node js
Windows Azure and node js
 
Lyamin press2015
Lyamin press2015Lyamin press2015
Lyamin press2015
 
Deployment to production with an unexpected load
Deployment to production with an unexpected loadDeployment to production with an unexpected load
Deployment to production with an unexpected load
 
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
 
JPoint 2017 - Where is my service, dude?
JPoint 2017 - Where is my service, dude?JPoint 2017 - Where is my service, dude?
JPoint 2017 - Where is my service, dude?
 
Magento performance
Magento performanceMagento performance
Magento performance
 
Марина Широчкина "Производительность клиентсайда через тестирование скорости ...
Марина Широчкина "Производительность клиентсайда через тестирование скорости ...Марина Широчкина "Производительность клиентсайда через тестирование скорости ...
Марина Широчкина "Производительность клиентсайда через тестирование скорости ...
 
Организация процесса регулярной обработки больших объемов данных
Организация процесса регулярной обработки больших объемов данныхОрганизация процесса регулярной обработки больших объемов данных
Организация процесса регулярной обработки больших объемов данных
 
D do s survival guide
D do s survival guideD do s survival guide
D do s survival guide
 
еще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложенийеще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложений
 
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрМониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
 
Кругом обман или использование стандартных протоколов для нестандартных вещей
Кругом обман или использование стандартных протоколов для нестандартных вещейКругом обман или использование стандартных протоколов для нестандартных вещей
Кругом обман или использование стандартных протоколов для нестандартных вещей
 
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
 

Plus de HLL

Beyond the botnet
Beyond the botnetBeyond the botnet
Beyond the botnetHLL
 
Game of BGP
Game of BGPGame of BGP
Game of BGPHLL
 
Dumb Ways To Die: How Not To Write TCP-based Network Applications
Dumb Ways To Die: How Not To Write TCP-based Network ApplicationsDumb Ways To Die: How Not To Write TCP-based Network Applications
Dumb Ways To Die: How Not To Write TCP-based Network ApplicationsHLL
 
DDoS Attacks, Russia, 2011- 2012: Patterns and Trends
DDoS Attacks, Russia, 2011- 2012: Patterns and TrendsDDoS Attacks, Russia, 2011- 2012: Patterns and Trends
DDoS Attacks, Russia, 2011- 2012: Patterns and TrendsHLL
 
BGP Route Stability
BGP Route StabilityBGP Route Stability
BGP Route StabilityHLL
 
DDoS: Practical Survival Guide
DDoS: Practical Survival GuideDDoS: Practical Survival Guide
DDoS: Practical Survival GuideHLL
 
Порядок преодоления болота на маршруте: как не надо писать приложения, основа...
Порядок преодоления болота на маршруте: как не надо писать приложения, основа...Порядок преодоления болота на маршруте: как не надо писать приложения, основа...
Порядок преодоления болота на маршруте: как не надо писать приложения, основа...HLL
 
Detecting Autonomous Systems Relationships
Detecting Autonomous Systems RelationshipsDetecting Autonomous Systems Relationships
Detecting Autonomous Systems RelationshipsHLL
 
DDoS-атаки в 2011 году: характер и тенденции
DDoS-атаки в 2011 году: характер и тенденцииDDoS-атаки в 2011 году: характер и тенденции
DDoS-атаки в 2011 году: характер и тенденцииHLL
 
Циклы маршрутизации на междоменном сетевом уровне
Циклы маршрутизации на междоменном сетевом уровнеЦиклы маршрутизации на междоменном сетевом уровне
Циклы маршрутизации на междоменном сетевом уровнеHLL
 
Архитектура центра очистки трафика (ЦОТ): решения уровня оператора связи и ко...
Архитектура центра очистки трафика (ЦОТ): решения уровня оператора связи и ко...Архитектура центра очистки трафика (ЦОТ): решения уровня оператора связи и ко...
Архитектура центра очистки трафика (ЦОТ): решения уровня оператора связи и ко...HLL
 
Russian Internet Core: политики маршрутизации
Russian Internet Core: политики маршрутизацииRussian Internet Core: политики маршрутизации
Russian Internet Core: политики маршрутизацииHLL
 
Классификация DDoS-атак
Классификация DDoS-атакКлассификация DDoS-атак
Классификация DDoS-атакHLL
 
Некоторые аспекты влияния сходимости протокола BGP на доступность сетевых рес...
Некоторые аспекты влияния сходимости протокола BGP на доступность сетевых рес...Некоторые аспекты влияния сходимости протокола BGP на доступность сетевых рес...
Некоторые аспекты влияния сходимости протокола BGP на доступность сетевых рес...HLL
 
Тандемные DDoS-атаки / Проблематика уязвимостей в спецификации TCP/IP (фундам...
Тандемные DDoS-атаки / Проблематика уязвимостей в спецификации TCP/IP (фундам...Тандемные DDoS-атаки / Проблематика уязвимостей в спецификации TCP/IP (фундам...
Тандемные DDoS-атаки / Проблематика уязвимостей в спецификации TCP/IP (фундам...HLL
 
Динамика DDoS-атак в России
Динамика DDoS-атак в РоссииДинамика DDoS-атак в России
Динамика DDoS-атак в РоссииHLL
 
DDoS: Практическое руководство к выживанию
DDoS: Практическое руководство к выживаниюDDoS: Практическое руководство к выживанию
DDoS: Практическое руководство к выживаниюHLL
 
Влияние сетевых аномалий на доступность ресурсов
Влияние сетевых аномалий на доступность ресурсовВлияние сетевых аномалий на доступность ресурсов
Влияние сетевых аномалий на доступность ресурсовHLL
 
DDoS-атаки Рунета в 2011-2012 гг.: характер и тенденции
DDoS-атаки Рунета в 2011-2012 гг.: характер и тенденцииDDoS-атаки Рунета в 2011-2012 гг.: характер и тенденции
DDoS-атаки Рунета в 2011-2012 гг.: характер и тенденцииHLL
 
Инструментарий Anonymous и его поражающие факторы
Инструментарий Anonymous и его поражающие факторыИнструментарий Anonymous и его поражающие факторы
Инструментарий Anonymous и его поражающие факторыHLL
 

Plus de HLL (20)

Beyond the botnet
Beyond the botnetBeyond the botnet
Beyond the botnet
 
Game of BGP
Game of BGPGame of BGP
Game of BGP
 
Dumb Ways To Die: How Not To Write TCP-based Network Applications
Dumb Ways To Die: How Not To Write TCP-based Network ApplicationsDumb Ways To Die: How Not To Write TCP-based Network Applications
Dumb Ways To Die: How Not To Write TCP-based Network Applications
 
DDoS Attacks, Russia, 2011- 2012: Patterns and Trends
DDoS Attacks, Russia, 2011- 2012: Patterns and TrendsDDoS Attacks, Russia, 2011- 2012: Patterns and Trends
DDoS Attacks, Russia, 2011- 2012: Patterns and Trends
 
BGP Route Stability
BGP Route StabilityBGP Route Stability
BGP Route Stability
 
DDoS: Practical Survival Guide
DDoS: Practical Survival GuideDDoS: Practical Survival Guide
DDoS: Practical Survival Guide
 
Порядок преодоления болота на маршруте: как не надо писать приложения, основа...
Порядок преодоления болота на маршруте: как не надо писать приложения, основа...Порядок преодоления болота на маршруте: как не надо писать приложения, основа...
Порядок преодоления болота на маршруте: как не надо писать приложения, основа...
 
Detecting Autonomous Systems Relationships
Detecting Autonomous Systems RelationshipsDetecting Autonomous Systems Relationships
Detecting Autonomous Systems Relationships
 
DDoS-атаки в 2011 году: характер и тенденции
DDoS-атаки в 2011 году: характер и тенденцииDDoS-атаки в 2011 году: характер и тенденции
DDoS-атаки в 2011 году: характер и тенденции
 
Циклы маршрутизации на междоменном сетевом уровне
Циклы маршрутизации на междоменном сетевом уровнеЦиклы маршрутизации на междоменном сетевом уровне
Циклы маршрутизации на междоменном сетевом уровне
 
Архитектура центра очистки трафика (ЦОТ): решения уровня оператора связи и ко...
Архитектура центра очистки трафика (ЦОТ): решения уровня оператора связи и ко...Архитектура центра очистки трафика (ЦОТ): решения уровня оператора связи и ко...
Архитектура центра очистки трафика (ЦОТ): решения уровня оператора связи и ко...
 
Russian Internet Core: политики маршрутизации
Russian Internet Core: политики маршрутизацииRussian Internet Core: политики маршрутизации
Russian Internet Core: политики маршрутизации
 
Классификация DDoS-атак
Классификация DDoS-атакКлассификация DDoS-атак
Классификация DDoS-атак
 
Некоторые аспекты влияния сходимости протокола BGP на доступность сетевых рес...
Некоторые аспекты влияния сходимости протокола BGP на доступность сетевых рес...Некоторые аспекты влияния сходимости протокола BGP на доступность сетевых рес...
Некоторые аспекты влияния сходимости протокола BGP на доступность сетевых рес...
 
Тандемные DDoS-атаки / Проблематика уязвимостей в спецификации TCP/IP (фундам...
Тандемные DDoS-атаки / Проблематика уязвимостей в спецификации TCP/IP (фундам...Тандемные DDoS-атаки / Проблематика уязвимостей в спецификации TCP/IP (фундам...
Тандемные DDoS-атаки / Проблематика уязвимостей в спецификации TCP/IP (фундам...
 
Динамика DDoS-атак в России
Динамика DDoS-атак в РоссииДинамика DDoS-атак в России
Динамика DDoS-атак в России
 
DDoS: Практическое руководство к выживанию
DDoS: Практическое руководство к выживаниюDDoS: Практическое руководство к выживанию
DDoS: Практическое руководство к выживанию
 
Влияние сетевых аномалий на доступность ресурсов
Влияние сетевых аномалий на доступность ресурсовВлияние сетевых аномалий на доступность ресурсов
Влияние сетевых аномалий на доступность ресурсов
 
DDoS-атаки Рунета в 2011-2012 гг.: характер и тенденции
DDoS-атаки Рунета в 2011-2012 гг.: характер и тенденцииDDoS-атаки Рунета в 2011-2012 гг.: характер и тенденции
DDoS-атаки Рунета в 2011-2012 гг.: характер и тенденции
 
Инструментарий Anonymous и его поражающие факторы
Инструментарий Anonymous и его поражающие факторыИнструментарий Anonymous и его поражающие факторы
Инструментарий Anonymous и его поражающие факторы
 

DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)

  • 1. DDoS: практическое руководство к выживанию. Александр Лямин <la@highloadlab.com
  • 2. Часть 2: Работа над ошибками. Александр Лямин
  • 3. Q1 2012 • Всего атак: 365 • Макс. в день: 12 • Средний размер ботнета: 2637 • Макс. размер ботнета: 37834
  • 4. По дням недели 20.00% 18.00% 17.26% 16.71% 15.89% 16.00% 14.52% 14.25% 14.00% 11.78% 12.00% 9.59% 10.00% 8.00% 6.00% 4.00% 2.00% 0.00% Пон Вт Ср Чeтв Пят Суб Вос
  • 5. По дням 12 11 10 9 8 7 6 5 4 3 2 1 0 1/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. По месяцам 25.75% 41.37% Январь Февраль Март 32.88%
  • 7. Скоростные атаки 3.56% > 1Gbps < 1Gbps 96.44%
  • 8. Типы атак 22.74% Cетевой флуд Приложение 77.26%
  • 9. Особые случаи • DNS: NIC, Masterhost, FastVPS. • Хостинги: Крок, WAhome. • «Невидимые» ботнеты. • Minerbot.
  • 10. Новая коньюктура • 1k ботов - 100-160 USD. • Доступный готовый инструментарий. • Падение цен - 20 USD/сутки.
  • 13. Apache mod_evasive <IfModule mod_evasive20.c> DOSHashTableSize 3097 DOSPageCount 8 DOSSiteCount 100 DOSPageInterval 2 DOSSiteInterval 2 DOSBlockingPeriod 600 DOSEmailNotify secure@adminmail.com </IfModule>
  • 14. Apache mod_evasive Плюсы Минусы Работает Apache
  • 16. Iptables --string iptables -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
  • 17. Iptables --string Плюсы Минусы Работает. Не всегда работает. (фрагментация) Быстро. Не всегда быстро. (kmp по телу пакета) Открытые сокеты + retransmit. Требует conntrack.
  • 19. JS
  • 21. 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/
  • 22. NGINX testcookie_module Плюсы Минусы Работает. Не осуществляет блокировку.* NGINX. Изменяет UX. Быстро. Не работает против FBS. Предсказуемо. Расширяемо. * И не должно.
  • 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___PA TH_/', '__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/
  • 25. Нейронная сеть PyBrain Плюсы Минусы Работает. Может и не работать. Приз зрительских симпатий. Нет истории запросов.
  • 27. tcpdump tcpdump -v -n -w attack.log dst port 80 -c 250 tcpdump -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. tcpdump Плюсы Минусы Работает. Зачем tcpdump?
  • 29. Итого • Работает все. • Но не всегда. • И не для всех. • РАБОТАЕТ > НЕ_РАБОТАЕТ.
  • 30. СЧАСТЬЕ • Минимальные FALSE POSITIVES. • Отсутствие очевидных уязвимостей. • Адекватность текущим вызовам.
  • 32. One last thing… 22.74% 3.56% Cетевой флуд 96.44% Приложение > 1Gbps < 1Gbps 77.26%
  • 34. Домашнее задание. 1. Настроенные nginx/ipset на сервере. 2. Выключенный conntrack. 3. Выделенный ip для публикуемых сервисов 4. Представление о связности хостера.