Autor: sutrus

Datum: 26 pro 2021 14:04
Kategorie: Firewall

Zobrazení: 1372
Komentáře: 0

SYN/DoS/DDoS Ochrana

Popis: SYN/DoS/DDoS Protection

Odkaz na článek (bb-code [URL]): Kopírovat

[url=https://spssoftware.cz/knowledgebase/article?k=64]SYN/DoS/DDoS Ochrana[/url]

Přímý odkaz: Kopírovat

https://spssoftware.cz/knowledgebase/article?k=64

Úvod
Útok typu DoS (denial-of-service) nebo DDoS (distributed denial-of-service) je zákeřný pokus o narušení běžného provozu cílového serveru, služby nebo sítě zahlcením cíle nebo jeho okolní infrastruktury záplavou internetového provozu. Existuje několik typů útoků DDoS, například HTTP flood, SYN flood, DNS amplification atd.
Untitled Diagram (1).jpg

Ochrana proti DDoS
Konfigurační linky
 ! Varování:
Tato pravidla jsou pouze vylepšením brány firewall, nezapomeňte své zařízení řádně zabezpečit: Vytvořte si svůj první firewall!

Kód: Vybrat vše

/ip firewall address-list
add list=ddos-attackers
add list=ddos-target
/ip firewall filter
add action=return chain=detect-ddos dst-limit=32,32,src-and-dst-addresses/10s
add action=add-dst-to-address-list address-list=ddos-target address-list-timeout=10m chain=detect-ddos
add action=add-src-to-address-list address-list=ddos-attackers address-list-timeout=10m chain=detect-ddos
/ip firewall raw
add action=drop chain=prerouting dst-address-list=ddos-target src-address-list=ddos-attackers


Vysvětlení konfigurace
Nejprve odešleme každé nové připojení do konkrétního řetězce brány firewall, kde zjistíme DDoS:

Kód: Vybrat vše

/ip/firewall/filter/add chain=forward connection-state=new action=jump jump-target=detect-ddos
Do nově vytvořeného řetězce přidáme následující pravidlo s parametrem "dst-limit". Tento parametr je zapsán v následujícím formátu: dst-limit=count[/time],burst,mode[/expire]. Budeme porovnávat 32 paketů s 32 pakety burst na základě toku cílové a zdrojové adresy, který se obnovuje každých 10 sekund. Pravidlo bude fungovat, dokud nebude překročena daná rychlost.

Kód: Vybrat vše

/ip/firewall/filter/add chain=detect-ddos dst-limit=32,32,src-and-dst-addresses/10s action=return
Zatím by měl veškerý legitimní provoz procházet přes "action=return", ale v případě DoS/DDoS bude buffer "dst-limit" naplněn a pravidlo "nezachytí" žádný nový provoz. Zde přicházejí na řadu další pravidla, která se budou útokem zabývat. Začneme vytvořením seznamu pro útočníky a oběti na které provoz zahodíme:

Kód: Vybrat vše

ip/firewall/address-list/add list=ddos-attackers
ip/firewall/address-list/add list=ddos-targets
ip/firewall/raw/add chain=prerouting action=drop src-address-list=ddos-attackers dst-address-list=dddos-targets
V části filtru firewallu přidáme útočníky do seznamu "DDoS-attackers" a oběti do seznamu "ddos-targets":

Kód: Vybrat vše

/ip/firewall/filter/
add action=add-dst-to-address-list address-list=ddos-target address-list-timeout=10m chain=detect-ddos
add action=add-src-to-address-list address-list=ddos-attackers address-list-timeout=10m chain=detect-ddos



Útok SYN
Záplava SYN
SYN flood je forma útoku DoS, při kterém útočník posílá do cílového systému řadu požadavků SYN ve snaze spotřebovat dostatečné množství prostředků serveru, aby systém přestal reagovat na legitimní provoz. V systému RouterOS máme naštěstí pro takový útok specifickou funkci:

Kód: Vybrat vše

/ip/settings/set tcp-syncookies=yes
Funkce funguje tak, že odesílá zpět pakety ACK, které obsahují malý kryptografický hash, který klient, který odpovídá, odešle zpět jako součást svého paketu SYN-ACK. Pokud jádro tento "cookie" v odpovědním paketu neuvidí, bude předpokládat, že spojení je falešné, a ukončí ho.


SYN-ACK Flood
SYN-ACK flood je metoda útoku, která spočívá v zasílání podvrženého paketu SYN-ACK cílovému serveru vysokou rychlostí. Server potřebuje značné prostředky na zpracování takových paketů mimo pořadí (ne v souladu s běžným mechanismem třícestného handshake TCP SYN, SYN-ACK, ACK), může být natolik vytížen zpracováním útočného provozu, že nezvládne zpracovat legitimní provoz, a útočníci tak dosáhnou stavu DoS/DDoS. V systému RouterOS můžeme nakonfigurovat podobná pravidla z dříve uvedeného příkladu, ale konkrétněji pro SYN-ACK flood:

Kód: Vybrat vše

/ip/firewall/filter add action=return chain=detect-ddos dst-limit=32,32,src-and-dst-addresses/10s protocol=tcp tcp-flags=syn,ack