SlideShare a Scribd company logo
1 of 17
DDoS: Практическое
руководство к выживанию
Лямин Александр
Экономика DDoS:
• Доступность - высокая
• Cтоимость аренды ботнета – низкая
• Эффективность - высокая
Смотрим врагу в лицо
Исчерпание канальной емкости 1 0 0 . 0 0 0 +
Инфраструктура сети 10.000+
Сетевой стек системы 1.000+
Приложение 100+
Cвойства ботнета:
• конечность/самосохраняемость
• жадность
• инертность
• ущербность
• транснациональность
DDoS - он пришел…
1. Не паникуем
2. Удаляем http сервер из автостарта
3. Что в top?
4. Интересные сообщение в dmesg
5. Содержимое netstat
6. Анализируем access. Log
Инструментарий
1. Linux 2.6
2. iptables
3. ipset
4. nginx
HTTP Flood. Frontend
Минимизируем размеры буферов
large_client_header_buffers
client_header_buffer_size
client_body_buffer_size
client_max_body_size
Минимизируем ожидание клиента
reset_timedout_connection on;
client_header_timeout
client_body_timeout
keepalive_timeout
send_timeout
HTTP Flood. Frontend
И ожидаем попавшихся ботов на default vhost
server {
listen 80;
server_name noname;
return 444;
}
Ограничиваем количество одновременных соединений с одного ip
limit_zone conlim $binary_remote_addr XXm;
limit_conn conlim XX;
HTTP Flood. Backend
Бюджетирование нагрузки на скриптовый бэкенд через
limit_req_zone $binary_remote_addr zone=qulim:Xm rate=Yr/s;
limit_req zone=qulim burst=Z;
HTTP Flood. Отфильтровать в один запрос
log_format $http_accept $http_accept_language $http_accept_encoding;
+
grep --line-buffered
=
tail -f /var/log/nginx/myserver.access_log | 
grep --line-buffered 
-F '*/* en-us -' | 
grep --line-buffered -oE "BOINK [0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3} " | sed -u
"s/^BOINK//" | xargs -n1 ipset -A myserv
и вариации на тему из myserv.error_log по ключевому слову limiting
HTTP Flood. Кого фильтровать не нужно
Ваши собственные ajax скрипты (вставляем заголовки-маркеры)
Полезных ботов, например поисковики:
 77.88.0.0/18 Yandex
 87.250.224.0/19 Yandex
 93.158.128.0/18 Yandex
 213.180.192.0/19 Yandex
 95.108.128.0/17 Yandex
 65.52.0.0/14 Microsoft
 209.85.128.0/17 Google
 81.19.64.0/19 Rambler*
рамблер - это телеком, и там иногда живут боты.
Conntrack abuse
ip_conntrack: table full, dropping packet ?
Conntrack хранит соединения в hashtable и небесплатен.
При больших размерах таблицы можно:
net.ipv4.netfilter.ip_conntrack_tcp_timeout_*
но проще выключить:
iptables -t RAW -A PREROUTING -d $PUBLISHED_IP -j NOTRACK
iptables -t RAW -A OUTPUT -d $PUBLISHED_IP -j NOTRACK
Большой обьем отфильрованых ботов?
ipset
его чудесные b-tree для плохих ботов
ipset -N myserv iptree --timeout XX
ipset -A myserv $OFFENDING_IP
и
-N goodbots nethash --hashsize 512 --probes 4 --resize 50
для хороших
SYN Flood
syn-cookies!
net.ipv4.tcp_syncookies = 1
Просто много трафика и
складывается
инфраструктура провайдера?
Домашнее задание
1. Настроенные nginx/ipset на сервере
2. Выключенный conntrack
3. Выделенный ip для публикуемых сервисов
4. Представление о связности хостера
Ничего не помоголо?
hll.msu.ru
be@hll.msu.ru

More Related Content

What's hot

HighLoad весна 2014 лекция 2
HighLoad весна 2014 лекция 2HighLoad весна 2014 лекция 2
HighLoad весна 2014 лекция 2Technopark
 
VVV. Сервер для WordPress-разработчика
 VVV. Сервер для WordPress-разработчика VVV. Сервер для WordPress-разработчика
VVV. Сервер для WordPress-разработчикаKolya Korobochkin
 
Шамбулов У. К. (Казахстан), ГТС. Анализ и исследование инцидентов информацион...
Шамбулов У. К. (Казахстан), ГТС. Анализ и исследование инцидентов информацион...Шамбулов У. К. (Казахстан), ГТС. Анализ и исследование инцидентов информацион...
Шамбулов У. К. (Казахстан), ГТС. Анализ и исследование инцидентов информацион...KazHackStan
 
HighLoad весна 2014 лекция 6
HighLoad весна 2014 лекция 6HighLoad весна 2014 лекция 6
HighLoad весна 2014 лекция 6Technopark
 
Yet Another PaaS
Yet Another PaaSYet Another PaaS
Yet Another PaaSProvectus
 
Yevgen Lysenko "AWS RDS Aurora Serverless, ECS Fargate and more serverless-pr...
Yevgen Lysenko "AWS RDS Aurora Serverless, ECS Fargate and more serverless-pr...Yevgen Lysenko "AWS RDS Aurora Serverless, ECS Fargate and more serverless-pr...
Yevgen Lysenko "AWS RDS Aurora Serverless, ECS Fargate and more serverless-pr...Fwdays
 
Слава Машканов — “Wubuntu”: Построение гетерогенной среды Windows+Linux на н...
Слава Машканов — “Wubuntu”: Построение гетерогенной среды  Windows+Linux на н...Слава Машканов — “Wubuntu”: Построение гетерогенной среды  Windows+Linux на н...
Слава Машканов — “Wubuntu”: Построение гетерогенной среды Windows+Linux на н...Minsk Linux User Group
 
05 - Web-технологии. Сетевые протоколы
05 - Web-технологии. Сетевые протоколы05 - Web-технологии. Сетевые протоколы
05 - Web-технологии. Сетевые протоколыRoman Brovko
 
Архитектура растущего проекта, на примере ВКонтакте
Архитектура растущего проекта, на примере ВКонтактеАрхитектура растущего проекта, на примере ВКонтакте
Архитектура растущего проекта, на примере ВКонтактеTKConf
 
World of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source InsideWorld of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source InsideMaksim Melnikau
 
Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotem
Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotemТатьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotem
Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotemKazHackStan
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...odnoklassniki.ru
 
Снижение нагрузки на сервер с помощью NGINX
Снижение нагрузки на сервер с помощью NGINXСнижение нагрузки на сервер с помощью NGINX
Снижение нагрузки на сервер с помощью NGINXAndrii Podanenko
 
Get inside stage2 new
Get inside stage2 newGet inside stage2 new
Get inside stage2 newInfoTeCS
 
Иван Чалыкин (Россия), Digital Security. Легальный SOP Bypass. Проблемы внедр...
Иван Чалыкин (Россия), Digital Security. Легальный SOP Bypass. Проблемы внедр...Иван Чалыкин (Россия), Digital Security. Легальный SOP Bypass. Проблемы внедр...
Иван Чалыкин (Россия), Digital Security. Легальный SOP Bypass. Проблемы внедр...KazHackStan
 
FreeBSD 2009 — живее всех живых
FreeBSD 2009 — живее всех живыхFreeBSD 2009 — живее всех живых
FreeBSD 2009 — живее всех живыхAndrew Pantyukhin
 
Дмитрий Перлов openSUSE Build Server: tips & tricks кросс-дистрибутивной сб...
Дмитрий Перлов openSUSE Build Server: tips & tricks кросс-дистрибутивной   сб...Дмитрий Перлов openSUSE Build Server: tips & tricks кросс-дистрибутивной   сб...
Дмитрий Перлов openSUSE Build Server: tips & tricks кросс-дистрибутивной сб...Minsk Linux User Group
 

What's hot (20)

Ddos
DdosDdos
Ddos
 
HighLoad весна 2014 лекция 2
HighLoad весна 2014 лекция 2HighLoad весна 2014 лекция 2
HighLoad весна 2014 лекция 2
 
VVV. Сервер для WordPress-разработчика
 VVV. Сервер для WordPress-разработчика VVV. Сервер для WordPress-разработчика
VVV. Сервер для WordPress-разработчика
 
Шамбулов У. К. (Казахстан), ГТС. Анализ и исследование инцидентов информацион...
Шамбулов У. К. (Казахстан), ГТС. Анализ и исследование инцидентов информацион...Шамбулов У. К. (Казахстан), ГТС. Анализ и исследование инцидентов информацион...
Шамбулов У. К. (Казахстан), ГТС. Анализ и исследование инцидентов информацион...
 
HighLoad весна 2014 лекция 6
HighLoad весна 2014 лекция 6HighLoad весна 2014 лекция 6
HighLoad весна 2014 лекция 6
 
KazHackStan 2017 | Tracking
KazHackStan 2017 | TrackingKazHackStan 2017 | Tracking
KazHackStan 2017 | Tracking
 
Yet Another PaaS
Yet Another PaaSYet Another PaaS
Yet Another PaaS
 
Yevgen Lysenko "AWS RDS Aurora Serverless, ECS Fargate and more serverless-pr...
Yevgen Lysenko "AWS RDS Aurora Serverless, ECS Fargate and more serverless-pr...Yevgen Lysenko "AWS RDS Aurora Serverless, ECS Fargate and more serverless-pr...
Yevgen Lysenko "AWS RDS Aurora Serverless, ECS Fargate and more serverless-pr...
 
Слава Машканов — “Wubuntu”: Построение гетерогенной среды Windows+Linux на н...
Слава Машканов — “Wubuntu”: Построение гетерогенной среды  Windows+Linux на н...Слава Машканов — “Wubuntu”: Построение гетерогенной среды  Windows+Linux на н...
Слава Машканов — “Wubuntu”: Построение гетерогенной среды Windows+Linux на н...
 
05 - Web-технологии. Сетевые протоколы
05 - Web-технологии. Сетевые протоколы05 - Web-технологии. Сетевые протоколы
05 - Web-технологии. Сетевые протоколы
 
Архитектура растущего проекта, на примере ВКонтакте
Архитектура растущего проекта, на примере ВКонтактеАрхитектура растущего проекта, на примере ВКонтакте
Архитектура растущего проекта, на примере ВКонтакте
 
World of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source InsideWorld of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source Inside
 
Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotem
Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotemТатьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotem
Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotem
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
 
Снижение нагрузки на сервер с помощью NGINX
Снижение нагрузки на сервер с помощью NGINXСнижение нагрузки на сервер с помощью NGINX
Снижение нагрузки на сервер с помощью NGINX
 
Get inside stage2 new
Get inside stage2 newGet inside stage2 new
Get inside stage2 new
 
Иван Чалыкин (Россия), Digital Security. Легальный SOP Bypass. Проблемы внедр...
Иван Чалыкин (Россия), Digital Security. Легальный SOP Bypass. Проблемы внедр...Иван Чалыкин (Россия), Digital Security. Легальный SOP Bypass. Проблемы внедр...
Иван Чалыкин (Россия), Digital Security. Легальный SOP Bypass. Проблемы внедр...
 
WWW
WWWWWW
WWW
 
FreeBSD 2009 — живее всех живых
FreeBSD 2009 — живее всех живыхFreeBSD 2009 — живее всех живых
FreeBSD 2009 — живее всех живых
 
Дмитрий Перлов openSUSE Build Server: tips & tricks кросс-дистрибутивной сб...
Дмитрий Перлов openSUSE Build Server: tips & tricks кросс-дистрибутивной   сб...Дмитрий Перлов openSUSE Build Server: tips & tricks кросс-дистрибутивной   сб...
Дмитрий Перлов openSUSE Build Server: tips & tricks кросс-дистрибутивной сб...
 

Similar to D do s survival guide

DDoS: Практическое руководство к выживанию
DDoS: Практическое руководство к выживаниюDDoS: Практическое руководство к выживанию
DDoS: Практическое руководство к выживаниюHLL
 
DDoS: Survival Guide
DDoS: Survival GuideDDoS: Survival Guide
DDoS: Survival GuideHighloadLab
 
DDoS: Survival Guide
DDoS: Survival GuideDDoS: Survival Guide
DDoS: Survival GuideHighloadLab
 
Механика DDoS (Александр Крижановский)
Механика DDoS (Александр Крижановский)Механика DDoS (Александр Крижановский)
Механика DDoS (Александр Крижановский)Ontico
 
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Ontico
 
Другая виртуализация
Другая виртуализацияДругая виртуализация
Другая виртуализацияYandex
 
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Ontico
 
Net core and linux in production
Net core and linux in productionNet core and linux in production
Net core and linux in productionAnatoly Popov
 
Как показывать 200 миллионов баннеров ежедневно и быть готовым показать милли...
Как показывать 200 миллионов баннеров ежедневно и быть готовым показать милли...Как показывать 200 миллионов баннеров ежедневно и быть готовым показать милли...
Как показывать 200 миллионов баннеров ежедневно и быть готовым показать милли...Evgeny Kokovikhin
 
WapStart: Как показывать 200 миллионов баннеров ежедневно и быть готовым пока...
WapStart: Как показывать 200 миллионов баннеров ежедневно и быть готовым пока...WapStart: Как показывать 200 миллионов баннеров ежедневно и быть готовым пока...
WapStart: Как показывать 200 миллионов баннеров ежедневно и быть готовым пока...Procontent.Ru Magazine
 
Networks in the cloud on OpenStask: problems we face and their solution
Networks in the cloud on OpenStask: problems we face and their solutionNetworks in the cloud on OpenStask: problems we face and their solution
Networks in the cloud on OpenStask: problems we face and their solutionVadim Ponomarev
 
Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow
Zabbix в сервисной компании  ОНЛАНТА -  Zabbix Meetup Moscow Zabbix в сервисной компании  ОНЛАНТА -  Zabbix Meetup Moscow
Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow Vadim Nesterov
 
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Ontico
 
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...ForkConf
 
Семь тысяч Rps, один go
Семь тысяч Rps, один goСемь тысяч Rps, один go
Семь тысяч Rps, один goBadoo Development
 
2013-01-05 01 Леонид Евдокимов. Web scale. Взорвется все
2013-01-05 01 Леонид Евдокимов. Web scale. Взорвется все2013-01-05 01 Леонид Евдокимов. Web scale. Взорвется все
2013-01-05 01 Леонид Евдокимов. Web scale. Взорвется всеОмские ИТ-субботники
 
Современные DoS-атаки и защита от них с помощью инфраструктурных решений, Але...
Современные DoS-атаки и защита от них с помощью инфраструктурных решений, Але...Современные DoS-атаки и защита от них с помощью инфраструктурных решений, Але...
Современные DoS-атаки и защита от них с помощью инфраструктурных решений, Але...Ontico
 

Similar to D do s survival guide (20)

DDoS: Практическое руководство к выживанию
DDoS: Практическое руководство к выживаниюDDoS: Практическое руководство к выживанию
DDoS: Практическое руководство к выживанию
 
DDoS: Survival Guide
DDoS: Survival GuideDDoS: Survival Guide
DDoS: Survival Guide
 
DDoS: Survival Guide
DDoS: Survival GuideDDoS: Survival Guide
DDoS: Survival Guide
 
Механика DDoS (Александр Крижановский)
Механика DDoS (Александр Крижановский)Механика DDoS (Александр Крижановский)
Механика DDoS (Александр Крижановский)
 
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
 
DDOS mitigation software solutions
DDOS mitigation software solutionsDDOS mitigation software solutions
DDOS mitigation software solutions
 
Другая виртуализация
Другая виртуализацияДругая виртуализация
Другая виртуализация
 
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
 
Net core and linux in production
Net core and linux in productionNet core and linux in production
Net core and linux in production
 
Как показывать 200 миллионов баннеров ежедневно и быть готовым показать милли...
Как показывать 200 миллионов баннеров ежедневно и быть готовым показать милли...Как показывать 200 миллионов баннеров ежедневно и быть готовым показать милли...
Как показывать 200 миллионов баннеров ежедневно и быть готовым показать милли...
 
WapStart: Как показывать 200 миллионов баннеров ежедневно и быть готовым пока...
WapStart: Как показывать 200 миллионов баннеров ежедневно и быть готовым пока...WapStart: Как показывать 200 миллионов баннеров ежедневно и быть готовым пока...
WapStart: Как показывать 200 миллионов баннеров ежедневно и быть готовым пока...
 
Networks in the cloud on OpenStask: problems we face and their solution
Networks in the cloud on OpenStask: problems we face and their solutionNetworks in the cloud on OpenStask: problems we face and their solution
Networks in the cloud on OpenStask: problems we face and their solution
 
Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow
Zabbix в сервисной компании  ОНЛАНТА -  Zabbix Meetup Moscow Zabbix в сервисной компании  ОНЛАНТА -  Zabbix Meetup Moscow
Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow
 
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
 
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...
 
linux and freebsd monitoring
linux and freebsd monitoringlinux and freebsd monitoring
linux and freebsd monitoring
 
Семь тысяч Rps, один go
Семь тысяч Rps, один goСемь тысяч Rps, один go
Семь тысяч Rps, один go
 
2013-01-05 01 Леонид Евдокимов. Web scale. Взорвется все
2013-01-05 01 Леонид Евдокимов. Web scale. Взорвется все2013-01-05 01 Леонид Евдокимов. Web scale. Взорвется все
2013-01-05 01 Леонид Евдокимов. Web scale. Взорвется все
 
Современные DoS-атаки и защита от них с помощью инфраструктурных решений, Але...
Современные DoS-атаки и защита от них с помощью инфраструктурных решений, Але...Современные DoS-атаки и защита от них с помощью инфраструктурных решений, Але...
Современные DoS-атаки и защита от них с помощью инфраструктурных решений, Але...
 
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
 

More from Alexander Lyamin

Lyamin GroupIB Report 2015
Lyamin GroupIB Report 2015Lyamin GroupIB Report 2015
Lyamin GroupIB Report 2015Alexander Lyamin
 
Lyamin nanog63 lightning ddos amplifiers
Lyamin nanog63 lightning ddos amplifiersLyamin nanog63 lightning ddos amplifiers
Lyamin nanog63 lightning ddos amplifiersAlexander Lyamin
 
Вы против DDoS: доступные контрмеры
Вы против DDoS:  доступные контрмеры  Вы против DDoS:  доступные контрмеры
Вы против DDoS: доступные контрмеры Alexander Lyamin
 
ENOG-1 ddos-classification.lyamin
ENOG-1 ddos-classification.lyaminENOG-1 ddos-classification.lyamin
ENOG-1 ddos-classification.lyaminAlexander Lyamin
 
Lyamin Yandex webmaster2013
Lyamin Yandex webmaster2013Lyamin Yandex webmaster2013
Lyamin Yandex webmaster2013Alexander Lyamin
 
Rigf2012 lyamin ANYONYMOUS uncovered
Rigf2012 lyamin ANYONYMOUS uncoveredRigf2012 lyamin ANYONYMOUS uncovered
Rigf2012 lyamin ANYONYMOUS uncoveredAlexander Lyamin
 
Phd2013 lyamin Высокий пакетрейт на x86-64, берем планку 14.88Mpps
Phd2013 lyamin  Высокий пакетрейт на  x86-64, берем планку 14.88MppsPhd2013 lyamin  Высокий пакетрейт на  x86-64, берем планку 14.88Mpps
Phd2013 lyamin Высокий пакетрейт на x86-64, берем планку 14.88MppsAlexander Lyamin
 
HLL2011: Traffic Clearance Center
HLL2011: Traffic Clearance CenterHLL2011: Traffic Clearance Center
HLL2011: Traffic Clearance CenterAlexander Lyamin
 

More from Alexander Lyamin (19)

Lyamin GroupIB Report 2015
Lyamin GroupIB Report 2015Lyamin GroupIB Report 2015
Lyamin GroupIB Report 2015
 
20150525 wsis
20150525 wsis20150525 wsis
20150525 wsis
 
Lyamin press2015
Lyamin press2015Lyamin press2015
Lyamin press2015
 
Lyamin idc2015
Lyamin idc2015Lyamin idc2015
Lyamin idc2015
 
Lyamin idc2015
Lyamin idc2015Lyamin idc2015
Lyamin idc2015
 
Lyamin nanog63 lightning ddos amplifiers
Lyamin nanog63 lightning ddos amplifiersLyamin nanog63 lightning ddos amplifiers
Lyamin nanog63 lightning ddos amplifiers
 
Lyamin hl2014
Lyamin hl2014Lyamin hl2014
Lyamin hl2014
 
Вы против DDoS: доступные контрмеры
Вы против DDoS:  доступные контрмеры  Вы против DDoS:  доступные контрмеры
Вы против DDoS: доступные контрмеры
 
ENOG-1 ddos-classification.lyamin
ENOG-1 ddos-classification.lyaminENOG-1 ddos-classification.lyamin
ENOG-1 ddos-classification.lyamin
 
Trends d do s 2010
Trends d do s 2010Trends d do s 2010
Trends d do s 2010
 
Lyamin Yandex webmaster2013
Lyamin Yandex webmaster2013Lyamin Yandex webmaster2013
Lyamin Yandex webmaster2013
 
Lyamin ya.roundtable2014
Lyamin ya.roundtable2014Lyamin ya.roundtable2014
Lyamin ya.roundtable2014
 
Rigf2012 lyamin ANYONYMOUS uncovered
Rigf2012 lyamin ANYONYMOUS uncoveredRigf2012 lyamin ANYONYMOUS uncovered
Rigf2012 lyamin ANYONYMOUS uncovered
 
Lyamin zn2013
Lyamin zn2013Lyamin zn2013
Lyamin zn2013
 
Hl++2013 lyamin
Hl++2013 lyaminHl++2013 lyamin
Hl++2013 lyamin
 
Yac2013 lyamin-ddos
Yac2013 lyamin-ddosYac2013 lyamin-ddos
Yac2013 lyamin-ddos
 
Phd2013 lyamin Высокий пакетрейт на x86-64, берем планку 14.88Mpps
Phd2013 lyamin  Высокий пакетрейт на  x86-64, берем планку 14.88MppsPhd2013 lyamin  Высокий пакетрейт на  x86-64, берем планку 14.88Mpps
Phd2013 lyamin Высокий пакетрейт на x86-64, берем планку 14.88Mpps
 
Ddos 2011 risspa
Ddos 2011 risspaDdos 2011 risspa
Ddos 2011 risspa
 
HLL2011: Traffic Clearance Center
HLL2011: Traffic Clearance CenterHLL2011: Traffic Clearance Center
HLL2011: Traffic Clearance Center
 

D do s survival guide

  • 1. DDoS: Практическое руководство к выживанию Лямин Александр
  • 2. Экономика DDoS: • Доступность - высокая • Cтоимость аренды ботнета – низкая • Эффективность - высокая
  • 3. Смотрим врагу в лицо Исчерпание канальной емкости 1 0 0 . 0 0 0 + Инфраструктура сети 10.000+ Сетевой стек системы 1.000+ Приложение 100+
  • 4. Cвойства ботнета: • конечность/самосохраняемость • жадность • инертность • ущербность • транснациональность
  • 5. DDoS - он пришел… 1. Не паникуем 2. Удаляем http сервер из автостарта 3. Что в top? 4. Интересные сообщение в dmesg 5. Содержимое netstat 6. Анализируем access. Log
  • 6. Инструментарий 1. Linux 2.6 2. iptables 3. ipset 4. nginx
  • 7. HTTP Flood. Frontend Минимизируем размеры буферов large_client_header_buffers client_header_buffer_size client_body_buffer_size client_max_body_size Минимизируем ожидание клиента reset_timedout_connection on; client_header_timeout client_body_timeout keepalive_timeout send_timeout
  • 8. HTTP Flood. Frontend И ожидаем попавшихся ботов на default vhost server { listen 80; server_name noname; return 444; } Ограничиваем количество одновременных соединений с одного ip limit_zone conlim $binary_remote_addr XXm; limit_conn conlim XX;
  • 9. HTTP Flood. Backend Бюджетирование нагрузки на скриптовый бэкенд через limit_req_zone $binary_remote_addr zone=qulim:Xm rate=Yr/s; limit_req zone=qulim burst=Z;
  • 10. HTTP Flood. Отфильтровать в один запрос log_format $http_accept $http_accept_language $http_accept_encoding; + grep --line-buffered = tail -f /var/log/nginx/myserver.access_log | grep --line-buffered -F '*/* en-us -' | grep --line-buffered -oE "BOINK [0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3} " | sed -u "s/^BOINK//" | xargs -n1 ipset -A myserv и вариации на тему из myserv.error_log по ключевому слову limiting
  • 11. HTTP Flood. Кого фильтровать не нужно Ваши собственные ajax скрипты (вставляем заголовки-маркеры) Полезных ботов, например поисковики:  77.88.0.0/18 Yandex  87.250.224.0/19 Yandex  93.158.128.0/18 Yandex  213.180.192.0/19 Yandex  95.108.128.0/17 Yandex  65.52.0.0/14 Microsoft  209.85.128.0/17 Google  81.19.64.0/19 Rambler* рамблер - это телеком, и там иногда живут боты.
  • 12. Conntrack abuse ip_conntrack: table full, dropping packet ? Conntrack хранит соединения в hashtable и небесплатен. При больших размерах таблицы можно: net.ipv4.netfilter.ip_conntrack_tcp_timeout_* но проще выключить: iptables -t RAW -A PREROUTING -d $PUBLISHED_IP -j NOTRACK iptables -t RAW -A OUTPUT -d $PUBLISHED_IP -j NOTRACK
  • 13. Большой обьем отфильрованых ботов? ipset его чудесные b-tree для плохих ботов ipset -N myserv iptree --timeout XX ipset -A myserv $OFFENDING_IP и -N goodbots nethash --hashsize 512 --probes 4 --resize 50 для хороших
  • 15. Просто много трафика и складывается инфраструктура провайдера?
  • 16. Домашнее задание 1. Настроенные nginx/ipset на сервере 2. Выключенный conntrack 3. Выделенный ip для публикуемых сервисов 4. Представление о связности хостера