34
Борьба с DDoS в хостинге: по обе стороны баррикад Константин Новаковский, Vscale h

Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

  • Upload
    ontico

  • View
    359

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

Борьба с DDoS в хостинге: по обе стороны баррикадКонстантин Новаковский, Vscale

h

Page 2: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

Почему нам больно

• 6 датацентров (6,5к м2)

• Аренда серверов / стоек / серверных помещений / волокон

• Виртуальное приватное облако

• Облачное хранилище / CDN

• Мониторинг

• Vscale

• Anycast DNS

Page 3: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

Проблемы

• атаки на наших клиентов

• атаки на нашу инфраструктуру

• использование нашей инфраструктуры для атак:

• “взломали” сервер клиента

• виртуалки для атак

Page 4: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

DoS. DDoS. Коротко. А вдруг :)

● на канал (volumetric)

● на протокол

● на оборудование

● на приложение

Page 5: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

DDoS. Коротко. А вдруг :)

● на канал (volumetric)

● на протокол

● на оборудование

● на приложение

● большой BPS

● большой PPS

● большой PPS

● небольшие числа BPS/PPS

Page 6: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

Отражение

1. Атакующий хост рассылает запросы от имени жертвы по всему интернету

2. Хосты в интернете отвечают жертве3. Жертва получает ОЧЕНЬ МНОГО неожиданных ответов

Размер ответа небольшой — как правило, равный размеру запроса.

ping -S <жертва> <host в интернете>hping3 ...

Page 7: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

Усиление

Основной механизм - отражение, но● посылка маленького по размеру запроса● генерация очень большого ответа - до 100 килобайт

• SNMP, DNS, NTP, SSDP, CS, Quake

• UDP - нет установки сессии перед запросом rfc768

Page 8: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

12 декабря 2015

Page 9: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

Флуд

• udp• syn• icmp• etc

Page 10: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

Мониторинг

Минимум - нагрузка на сетевых интерфейсах серверов/роутерахДержать weathermap перед глазами

Page 11: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

Мониторинг

Page 12: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

Кто?кого?откуда?куда?

Page 13: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

Netflow, IPFIX, sFlow

• сенсор

• коллектор

• анализатор

Page 14: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

Netflow, IPFIX, sFlow

• сенсор

• коллектор

• анализатор

Page 15: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

Netflow, IPFIX, sFlow

• Обрабатываются не все пакеты

• Может создать излишнюю нагрузку на сенсор

• Значение семплинга зависит от:

• объемов трафика

• оборудования / сенсора

Page 16: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

Мониторим 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"

Page 17: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

Мониторим 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"

Page 18: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

Мониторим 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"

Page 19: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

Отчёт клиенту.

• Топ по портам назначения• Топ портам источников трафика• Автономные системы источников трафика• Топы IP-адресов на основе топов портов

источников и назначения• Количество IP-адресов в по топам портов

Page 20: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

Реакция и смягчение. BGP Flow Spec

• Работает поверх BGP

• обрабатывается аппаратно на ASIC’ах

• опасен своей мощью

• поддерживают далеко не все операторы

Page 21: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

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

Page 22: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

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

Page 23: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

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

Page 24: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

Flow Spec. Реакция

traffic-rate

traffic-action

redirect

traffic-marking

Accept

Discard

Next-hop

rate-limit

etc

Page 25: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

Fastnetmon

• NetFlow v5, v9

• IPFIX

• sFLOW v4, v5

• Port mirror/SPAN capture with PF_RING, SnabbSwitch,

NETMAP and PCAP

Page 26: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)
Page 27: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

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

Page 28: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

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

Page 29: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

Open vSwitch. Openflow

Open vSwitch — программный многоуровневый коммутатор. Обеспечивает сеть виртуальным машинам.

Openflow — протокол взаимодействия между сетевыми устройствами (коммутаторами) программно-управляемой сети (SDN) и централизованным контроллером

Page 30: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

Фильтруем трафик виртуалок

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

Page 31: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

Фильтруем трафик виртуалок.

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

Page 32: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

Предотвращение атак из виртуалок

Мониторим превышение на порту виртуалокПроверяем подозрительный трафик:

• не попадает под известные случаи• ничего не делаем

• вредоносная активность:• делаем небольшой дамп для дальнейшего разбора

инцидента• отключаем порт виртуалки от сети

Page 33: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)
Page 34: Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (Selectel)

Вопросы?