Upload
ontico
View
359
Download
0
Embed Size (px)
Citation preview
Борьба с DDoS в хостинге: по обе стороны баррикадКонстантин Новаковский, Vscale
h
Почему нам больно
• 6 датацентров (6,5к м2)
• Аренда серверов / стоек / серверных помещений / волокон
• Виртуальное приватное облако
• Облачное хранилище / CDN
• Мониторинг
• Vscale
• Anycast DNS
Проблемы
• атаки на наших клиентов
• атаки на нашу инфраструктуру
• использование нашей инфраструктуры для атак:
• “взломали” сервер клиента
• виртуалки для атак
DoS. DDoS. Коротко. А вдруг :)
● на канал (volumetric)
● на протокол
● на оборудование
● на приложение
DDoS. Коротко. А вдруг :)
● на канал (volumetric)
● на протокол
● на оборудование
● на приложение
● большой BPS
● большой PPS
● большой PPS
● небольшие числа BPS/PPS
Отражение
1. Атакующий хост рассылает запросы от имени жертвы по всему интернету
2. Хосты в интернете отвечают жертве3. Жертва получает ОЧЕНЬ МНОГО неожиданных ответов
Размер ответа небольшой — как правило, равный размеру запроса.
ping -S <жертва> <host в интернете>hping3 ...
Усиление
Основной механизм - отражение, но● посылка маленького по размеру запроса● генерация очень большого ответа - до 100 килобайт
• SNMP, DNS, NTP, SSDP, CS, Quake
• UDP - нет установки сессии перед запросом rfc768
12 декабря 2015
Флуд
• udp• syn• icmp• etc
Мониторинг
Минимум - нагрузка на сетевых интерфейсах серверов/роутерахДержать weathermap перед глазами
Мониторинг
Кто?кого?откуда?куда?
Netflow, IPFIX, sFlow
• сенсор
• коллектор
• анализатор
Netflow, IPFIX, sFlow
• сенсор
• коллектор
• анализатор
Netflow, IPFIX, sFlow
• Обрабатываются не все пакеты
• Может создать излишнюю нагрузку на сенсор
• Значение семплинга зависит от:
• объемов трафика
• оборудования / сенсора
Мониторим SNMP, DNS, NTP, SSDP
$ nfdump -n 50 -s dstip:p/bps \
"dst as 49505 and
(src port 53 or src port 1900 or
src port 123 or src port 161)
and pps > 500 and duration > 40"
Мониторим SNMP, DNS, NTP, SSDP
$ nfdump -n 50 -s dstip:p/bps \
"dst as 49505 and
(src port 53 or src port 1900 or
src port 123 or src port 161)
and pps > 500 and duration > 40"
Мониторим SNMP, DNS, NTP, SSDP
$ nfdump -n 50 -s dstip:p/bps \
"dst as 49505 and
(src port 53 or src port 1900 or
src port 123 or src port 161)
and pps > 500 and duration > 40"
Отчёт клиенту.
• Топ по портам назначения• Топ портам источников трафика• Автономные системы источников трафика• Топы IP-адресов на основе топов портов
источников и назначения• Количество IP-адресов в по топам портов
Реакция и смягчение. BGP Flow Spec
• Работает поверх BGP
• обрабатывается аппаратно на ASIC’ах
• опасен своей мощью
• поддерживают далеко не все операторы
BGP Flow Spec. Фильтры. RFC 5575
Destination Prefix
Source Prefix
IP Protocol
Port
Destination port
Source port
ICMP type
ICMP code
TCP flags
Packet length
DSCP
Fragment
Flow Spec. Фильтры. RFC 5575
Destination Prefix
Source Prefix
IP Protocol
Port
Destination port
Source port
ICMP type
ICMP code
TCP flags
Packet length
DSCP
Fragment
Flow Spec. Фильтры. RFC 5575
Destination Prefix
Source Prefix
IP Protocol
Port
Destination port
Source port
ICMP type
ICMP code
TCP flags
Packet length
DSCP
Fragment
Flow Spec. Реакция
traffic-rate
traffic-action
redirect
traffic-marking
Accept
Discard
Next-hop
rate-limit
etc
Fastnetmon
• NetFlow v5, v9
• IPFIX
• sFLOW v4, v5
• Port mirror/SPAN capture with PF_RING, SnabbSwitch,
NETMAP and PCAP
Fastnetmon. Пример отчёта
Attack type: syn_flood
Initial attack power: 106961 packets per second
Peak attack power: 211654 packets per second
Attack direction: outgoing
Attack protocol: tcp
Total incoming traffic: 33 mbps
Total outgoing traffic: 674 mbps
Total incoming pps: 7290 packets per second
Total outgoing pps: 106961 packets per second
Total incoming flows: 0 flows per second
Total outgoing flows: 0 flows per second
Average incoming traffic: 33 mbps
Average outgoing traffic: 674 mbps
Average incoming pps: 7290 packets per second
Average outgoing pps: 106961 packets per second
Incoming tcp traffic: 0 mbps
Outgoing tcp traffic: 1869 mbps
Incoming tcp pps: 0 packets per second
Outgoing tcp pps: 262144 packets per second
Incoming syn tcp traffic: 0 mbps
Outgoing syn tcp traffic: 1869 mbps
Incoming syn tcp pps: 0 packets per second
Outgoing syn tcp pps: 262144 packets per second
Fastnetmon. Пример отчёта
Attack type: syn_flood
Initial attack power: 106961 packets per second
Peak attack power: 211654 packets per second
Attack direction: outgoing
Attack protocol: tcp
Total incoming traffic: 33 mbps
Total outgoing traffic: 674 mbps
Total incoming pps: 7290 packets per second
Total outgoing pps: 106961 packets per second
Total incoming flows: 0 flows per second
Total outgoing flows: 0 flows per second
Average incoming traffic: 33 mbps
Average outgoing traffic: 674 mbps
Average incoming pps: 7290 packets per second
Average outgoing pps: 106961 packets per second
Incoming tcp traffic: 0 mbps
Outgoing tcp traffic: 1869 mbps
Incoming tcp pps: 0 packets per second
Outgoing tcp pps: 262144 packets per second
Incoming syn tcp traffic: 0 mbps
Outgoing syn tcp traffic: 1869 mbps
Incoming syn tcp pps: 0 packets per second
Outgoing syn tcp pps: 262144 packets per second
Open vSwitch. Openflow
Open vSwitch — программный многоуровневый коммутатор. Обеспечивает сеть виртуальным машинам.
Openflow — протокол взаимодействия между сетевыми устройствами (коммутаторами) программно-управляемой сети (SDN) и централизованным контроллером
Фильтруем трафик виртуалок
DHCP
priority=39100dl_type=0x0800nw_proto=17nw_dst=255.255.255.255tp_dst=68
idle_timeout=0
action=drop
Anti Spoofing
priority=39000
dl_type=0x0800
nw_src=192.168.10.1
dl_src=52:54:00:a3:74:68
idle_timeout=0
action=normal
http://archive.openflow.org/doc/gui/org/openflow/protocol/Match.html
Фильтруем трафик виртуалок.
DHCP
priority=39100dl_type=0x0800nw_proto=17nw_dst=255.255.255.255tp_dst=68
idle_timeout=0
action=drop
Anti Spoofing
priority=39000
dl_type=0x0800
nw_src=192.168.10.1
dl_src=52:54:00:a3:74:68
idle_timeout=0
action=normal
http://archive.openflow.org/doc/gui/org/openflow/protocol/Match.html
Предотвращение атак из виртуалок
Мониторим превышение на порту виртуалокПроверяем подозрительный трафик:
• не попадает под известные случаи• ничего не делаем
• вредоносная активность:• делаем небольшой дамп для дальнейшего разбора
инцидента• отключаем порт виртуалки от сети
Вопросы?